If you are working in software development on any level, you are invariably part of a collective effort that is having an unprecedented impact on society today — whether you realize it or not. It is sometimes easy to forget that the underlying infrastructure and code for the apps and software that play a role in so many facets of our life involved, at some point, a human somewhere in the world going through the toil and often pain of writing code — and enjoying those occasional “aha” moments that come with bursts of creativity and just building stuff.
The momentum of the open source movement, the resulting explosion of affordable and available platforms and tools and the availability of new technologies, including but not limited to cloud native, Kubernetes and microservices platforms have also played, of course, a major role.
As writer Clive Thompson explains in his new book “Coders: The Making of a New Tribe and the Remaking of the World,” the software engineer or coder, are taking part in something directly or indirectly that has a far-reaching impact on the world we live in today. The book, which he details in this latest episode of The New Stack Makers podcast, is based on interviews with over 200 coders, he also discusses about how his book puts software development into its historical context and addresses some of the problems in today’s industry, such as gender, racial and sexual orientation biases — and what can be done about it.
One of the things that Thompson learned that he had not expected of the pervasive feeling of frustration and even drudgery associated with spending hours and hours of working in front of a screen. “Everyone who was good at coding was also amazing at unbelievable levels of frustration,” Thompson said. “Because coding itself is both wildly and insanely frustrating.”
Indeed, coding is not so much about writing and development but “fixing broken things, including things that you just created that have never worked or that are already broken,” Thompson said.
“I actually called one of the chapters of my book “Constant failure and Bursts of Joy” because that really described what the actual flow of what a coder is actually like,” Thompson said. “And I really got this appreciation about how tenacious and persistent programmers are. It’s really interesting.“
While Kubernetes and microservices are only just starting to see adoption, artificial intelligence (AI) and machine learning, as they apply to software development, are even more remote concepts. However, Thompson said it was not too early to describe AI and the rise of machine learning and neural nets as am important “paradigm shift in coding.” In the book, Thompson said he tried to “demystify and show a little bit of what goes into building some of these modern-day machine learning systems and what kind of people get into that field — because it is going to become more significant.”
“We are going to see AI woven into everything,” Thompson said.
However, paradoxically, an industry that should continue to have such far-reaching effects on our present and future lives has made backward steps in terms of hiring and accepting women and underrepresented groups in the workplace.
For when you think of all of those things that sort of drive the industry away from being a [meritocracy] and pure merit in hiring, you have to counter-act those [negative] influences bit by bit.
In the case of the gender imbalances in the software development field, for example, it is necessary to “tackle and take seriously this sort of often kind of nasty and hostile responses a lot of women get, for example, when they come into these dude-heavy environments,” Thompson said. “You know as they say, when ‘there is no silver bullet there is just a lot of lead bullets.’”
But before the fixes that are required to achieve acceptable norms of meritocracy in the hiring of women and underrepresented groups are achieved, software development today still remains an enormously rewarding and challenging field to be in. The reasons, as described above, include the opportunity to take part in this continued wave of stack development that has profound societal consequences. But, at the end of the day, the draw is largely about just figuring things out and making them work with great code.
“Solving the problem is really intellectually interesting and gnaws at them, and once they are in that flow zone, they really want to stay there…. You are in an activity that is pushing you to the limits of your abilities and it’s hard to be there but it’s enormously rewarding to be there,” Thompson said. “I think that the other one is that when you finally get something working after that period of pounding your head against the wall you that have thrill of accomplishment when this virtual machine, this sort of lifeform staggers to its feet and starts to do what you told it to do. That is an unbelievably deep thrill.”
In this Edition:
2:03: I’m just wondering if there’s anything in particular that you came across that they might not be aware of?
8:34: People today in this field are changing the world, but the actual nitty-gritty is ‘drudgery’
12:21: Taking pride in coding similar to blue-collar culture
19:16: How would you describe that paradox in a way that might not be apparent to developers now?
26:14: Returning to merit in hiring, opening up CS to gender minorities, and making computer science less hostile to those that haven’t been hacking as teenagers
34:28: The application of AI and machine learning to software development processes