Episode – Structure and Interpretation of Computer Programmers: Recent Episodes

None

From programmer to software engineer.

View Details

The idea that increased autonomy and privilege for software engineers can only come when we have better confidence that software engineers are working in the best interests of society. Mike Klimek—Modern Software Development Gergely Orosz: What Silicon Valley “Gets” about … Continue reading →

View Details

I look at the difference between being a deep specialist as a software engineer working on a particular “stack” and a generalist who builds software using a wide variety of tools, from the perspective of someone who has done both.

View Details

Software freedom is a free speech issue. This has important consequences Software is eating the world Why can’t Karen Sandler get the source code for her pacemaker The Four Essential Freedoms On Social Justice and Software Licensing (or: why the … Continue reading →

View Details

Sometimes it just seems like our customers are fickle flibbertigibbets who change their minds at the drop of a hat, right? Let’s look at what might be going on, and how to work with that. The Computer Programme Design Sprint … Continue reading →

View Details

I look at the historical basis of the white collar/blue collar divide in defining occupations, and the problems this distinction has with comprehending modern roles like engineering and various technician occupations. I then have difficulty fitting software roles into any … Continue reading →

View Details

I talk both about the difficulties of having objective conversations comparing technologies on the interwebs, and about a particular recent success in doing so: a comparison of RPC-over-HTTP methods. This particular conversation was on the Brumtech slack: I particularly recommend … Continue reading →

View Details

This episode is about the Software Engineering Institute’s Personal Software Process (PSP), a particular disciplined way of improving a software engineer’s work. We talk about other the process in particular, and the idea of a continuous improvement process more generally. … Continue reading →

View Details

I talk about the historical context of the Agile manifesto, what “comprehensive documentation” meant then, and what documentation is still important now. I also remind you that you can support this podcast by becoming a patron. I chose not to … Continue reading →

View Details

This episode is all about the TIOBE Index of programming language popularity: when to use it, what its limitations are, why certain things are or aren’t popular, and why the hell isn’t Excel on the list.

View Details

This issue is all about the various reasons information security isn’t taken more seriously by developers. CERT C Secure Coding Standard Open Web Application Security Project Microsoft Bluehat DefCon Security BSides

View Details

We would now what they thought when they did it, a call for a history of ideas in computing. Laurent Bossavit, author of The Leprechauns of Software Engineering, can’t work out who introduced the phrase “legacy code” (or why). Technical … Continue reading →

View Details

This episode follows from episode 42: what I have yet to learn.

  • APPropriate Behaviour and its incompleteness comes up again
  • The Software Engineering Body of Knowledge (and its incompleteness) come up again too; last mentioned in episode 41: professional software.
  • The Art of Computer Programming
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Analyzing the effects of TDD in GitHub: “This is our sixth post about TDD, and the sixth time the conclusion has been that it doesn’t make a difference. The studies we’ve discussed have used different methods and different datasets, but have all reached the same conclusion, so until we see a paper indicating that TDD does work, we’re going to set this topic aside.”
  • Software Engineering Methods and Tools

View Details

This episode is about the things I don’t know about software engineering.

  • 20 things [Justin Etheridge has] learned in 20 years as a software engineer by @justinetheridge
  • The SICPers blog (might be a bit weird linking that here, but if you listen on a podcatcher you might not have visited it!)
  • De Programmatica Ipsum, the monthly technology blog I co-create with Adrian Kosmacjewski
  • APPropriate Behaviour, the sort-of-but-not-at-all complete guide to things programmers need to know that aren’t programming
  • The Personal Software Process
  • The Programmer Competency Matrix
  • Become my patron and support my creation of resources and sharing of knowledge (and lack thereof!) for the software engineering community.

View Details

We talk about software engineering as a profession.

  • ACM Code of Ethics
  • Software Engineering Body of Knowledge (SWEBoK)
  • BCS Code of Conduct

View Details

This episode is about truisms that aren’t, in the world of the computer. I’ve already written an article, falsehoods programmers believe about programming, on a similar topic, but in this episode I go into way more depth on the counter-examples to one falsehood, rather than trying to supply a bulleted list of many falsehoods.

Other “falsehoods programmers believe” articles include falsehoods programmers believe about time (I said dates on the recording), and falsehoods programmers believe about addresses.

This episode’s falsehood is that go to statements are harmful, based on the assertion by Dijkstra (or was it?), Go To Statement Considered Harmful. Along the way we meet A Discipline of Programming, and the Psychological Study of Programming.

I also mention that you can support the podcast!

View Details

This episode is about what happens when you let people who are interested in programming (the process) define how you do programming (creating a program).

Links:

  • Code Kata
  • Just for Fun: the Story of an Accidental Revolutionary (Linus Torvalds’ autobiography)
  • Zen and the Art of Motorcycle Maintenance: An Inquiry into Values by Robert M. Pirsig
  • By Your _cmd (no I don’t know what the missing image should have been)
  • Flesch-Kincaid readability tests
  • TIOBE Index (note: please don’t @ me about the methodology here; I discuss that in the episode so I’ll know you haven’t listened!)
  • “Swift has a ton of syntax and features that don’t particularly go together all that well” [citation needed]

Please remember you can support me on Patreon! You can also check out my other projects: [objc retain]; and Dos Amigans. Thank you!