This page contains resources for the keynote held by Alex Bolboaca and Adrian Bolboaca in Brescia, for the “Working Software” Conference 2024.
Software Development is Non-Linear
We discussed briefly in the section “II. When Requirements Change” about the non-linear reality of software development. A deep dive into this topic can be found in our video on “Iterations vs. Rework”.
Slides
Software Development is Non Linear
Programming is a Humanistic Activity
The section “III. When Not Programming” touches on the things that happen around the activity of coding. In the video below we make a stronger case for why programming is fundamentally both technical and humanistic in nature.
Knowledge Refinery
While many programmers might have a preference for working alone, it’s important to realize that the whole team is contributing in various, and often unexpected ways, to the end result. We touched upon this during the section “VI When You Want to Work Alone”. A more detailed explanation introduces the metaphor of a software development team as a knowledge refinery.
Take Responsibility
The final section of the talk is also the most poignant one, since it’s an umbrella for all the others. We talk about taking responsibility as programmers, something that unfortunately we believe is not fully realized and it hurts us as a profession.
We have more videos on this topic.
Personal Responsibility Process
The results of decades of study by psychologists, Christopher Avery’s model on personal responsibility covers a lot of the situations that we see every day as programmers. Therefore, it is a good model to know and to use in your day to day work.
An Essay Following the White House Recommendation for Memory Safe Languages
In what we see as a historical decision, the White House has made recommendations for the first time regarding the programming languages to use. The reactions to this event from the programming world were mostly about complaining that a political organism with perceived low technical institutional knowledge is stepping into the programmer’s world. These reactions largely ignored that cybersecurity is paramount for national security, not only in the US but everywhere else. To us, it’s another signal that programmers need to step up and take responsibility, or we might wake up with rules and regulations regarding the languages, tools, and practices we can use for large scale applications.
For a more technical discussion involving the effects on the C++ language, see the video below.
