The world of computer science lost a legend last week when Jerry Weinberg passed away on August 7th, 2018. Author of "The Psychology of Computer Programming" as well as "Introduction to General Systems Thinking and quite a few other books, Jerry left us with a better understanding of what it means to be a developer.
Today's episode is a tribute to Jerry's work.
If you have questions about today's episode, want to start a conversation about today's topic or just want to let us know if you found this episode valuable I encourage you to join the conversation or start your own on our community platform Spectrum.chat/specfm/developer-tea
If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.
Transcript (Generated by OpenAI Whisper)
As many of you are probably aware, the world of computer science lost a giant last week. Jerry Weinberg, the author of the Psychology of Computer Programming, as well as introduction to general systems thinking and quite a few other books, passed away on August 7th of 2018. In today's episode, we're going to talk about a few of the ideas that Jerry left with us. Some interesting quotes and aphorisms. He was a funny person and certainly computer science is better for him having been around. So, to honor Jerry and his memory in today's episode, we're going to talk about some of the things that he had to say about programming, about leadership, and about people. My name is Jonathan Cutrell and you're listening to Developer Tea. My goal on this show is to help driven developers connect to their career purpose and do better work so they can have a positive influence on the people around them. And it's important to listen to people like Jerry. Jerry had more than just experience. He had a wealth of experience, but also Jerry was a voice for people, not just a voice for the people, but a voice for reminding ourselves that everything is about people. In fact, one of Jerry's most famous quotes is that no matter how it looks, no matter how it looks, everything is a people problem. Another famous quote from Jerry, if you are a leader, the people are your work. If you are a leader, the people are your work. As a computer scientist, Jerry was around for the earliest computing problems that were being solved, some of the very earliest at least. His work began at IBM back in 1956 and then he went on to work for Project Mercury from 1959 to 1963. Manager of operating systems development for Project Mercury. If you are not familiar with Project Mercury, this is the first human space flight program in the United States. Jerry held problem solving workshops since 1974 and he won multiple awards in various capacities around computer science and testing and information science. So Jerry is to say the very least the real deal. He experienced so many things and yet he continues to come back to the idea that computing and the problems that we face as developers, those problems are people problems. Perhaps this is one of Jerry's most important lessons for us as Developer To remind us that the problems that we face on a regular basis. When we look at them closely, when we dissect them thoroughly, when we really get down to it, those problems are about people. But another theme that Jerry brings to us that is so important to understand is that nothing is black and white. Everything must be balanced. In fact, Jerry even said that experience doesn't necessarily teach anything. Jerry said this about testing. He said good testing involves balancing the need to mitigate risk against the risk of trying to gather too much information. Another quote about testing that Jerry has. This was by the way one of Jerry's favorite topics was testing. He says testing gathers information about a product. It does not fix things. It finds that are wrong. To continue this theme of being balanced, Jerry's own book on the subjects of testing was called Perfect Software and other illusions about testing. Jerry certainly had a lot of opinions that he drew on his experiences, but also on fundamental tenets of psychology. And perhaps one of his most important contributions to software development is the ideas that he put forth for leadership, for technical leadership specifically. So here's a bit of a longer quote. The greatest danger is the manager who has come up through the programming ranks and wants to define every bit and bite before the team even sees the problem. When a team does work from this sort of bit picking specification, other troubles arise simply because what the group is trying to accomplish is not clear. Precision and clarity are not the same. To be clear, the task outlined must be placed in a framework of the meaning of what is being done. The programmer wants to know why, not just what. We obviously can't list all of Jerry's accomplishments or contributions to computer science, but one other amazing thing about Jerry is just how often he was able to find humor in what he had to say. Jerry's wit would come through and provide both humor and insight at the same time. So he would say things like this. If a manager wants to run a stable project, he would do well to follow this simple maximum. If programmers indispensable, get rid of him as quickly as possible. At other times, Jerry was incisive with this word. He was able to expose some of the problems that we face as developers, some of our bad habits. For example, it is an occupational disease of programmers to spend more time on those program parts that present for some reason the most intellectual challenge, rather than on those that require the most work. At other times, Jerry was reassuring and he provided some understanding for the job of the developer. In this quote, that understanding comes through. He says, programming a computer does require intelligence. Indeed, it requires so much intelligence that nobody really does it very well. Sure, some programmers are better than others, but we all bump and crash around like overgrown infants. Why? Because programming is by far the hardest intellectual task that human beings had ever tried to do, ever. We'll end off with a final quote from Jerry where he actually does something that he did so well, which is, give advice. Jerry says, brains require stimulation. If you're locked into a pattern of work, work, and more work, your brain soon habituates the same way that it lets you stop hearing a clock ticking. So if you want to be more effective at work, you must paradoxically be less single-minded in your devotion to work. Anything you do, anything that stimulates new segments of your brain will make you a more effective programmer or analyst. I promise with a money bag guarantee. I hope that Jerry's words have inspired you to, first of all, go and learn more about Jerry and about his contributions to computer science and to software development over the many years that he practiced and wrote about the subject, but also to follow some of that advice, to recognize that problems are mostly people problems, to remind yourself that software development is hard and nothing is black and white. Everything deserves balance. Only to break out of the idea that in order to become a better programmer, you must only consume information about programming and instead to have new experiences. Think about new things, study new subjects, start thinking about systems outside of programming in addition to the things that you're working on. Thank you so much for listening to this special episode of Developer Tea, our little tribute to Jerry. There's no way that we could truly adequately honor the work that Jerry has done for computer science. So I encourage you to honor him by going and learning more about what he contributed to this profession. Thank you so much for listening to the show. If you're interested in hearing more episodes like today's episode, I encourage you to go and subscribe whenever you're podcasting up you're using right now. Thank you so much for listening and until next time, enjoy your tea.