“Coders” author Clive Thompson on the evolution of programming
On September 28, nearly 5,000 online participants from 83 countries listened to the Stack Overflow site. first “Flow State” conference (webcast from New York).
And one of the highlights was when Stack Overflow Marketing Director Khalid El Khatib interviewed Clive Thompsona tech-savvy journalist who interviewed thousands of programmers for his 2020 book Coders: Creating a New Tribe and Revamping the World.
Before it was over, Thompson was making some fascinating predictions about the future of programming itself, speculating how code quality might be affected by AI-assisted coding. he also discussed remote (and hybrid) workplaces, the industry’s response to representation issues, and even a large class of part-time “code-adjacent” developers.
Most importantly, Thompson offered a fun and lively summary of what he learned after talking to programmers around the world…
Emerging Toolsets
Looking ahead, Thompson sees a world with “a sea of people who are adjacent to code – just below people who are full-time developers…” and using “emerging toolsets” to automate their business logic. (Thompson gives the example of someone in customer accounts using Zapier or Google Spreadsheets or “some kind of low-code/no-code tools. And lo and behold, you’re building something that’s basically an app, catering to everything strange problem you have.”)
This phenomenon has always existed – Thompson acknowledges that this was the mainstream business user audience targeted by Microsoft’s Visual Basic in the 1990s. of the population of coders, doing these code-adjacent things.
“For better or for worse,” adds Thompson. While this allows individuals to customize their solutions without hiring expensive full-time developers, “The downside is that some of them are going to be really rickety crap…
“People have shown me, for example, these Microsoft Visual Basic scripts that are about 10,000 lines long, it’s just a crazy hairball of global variables that are tangled up against each other. And yet, he’s been running their business — you know, their seven-person business — for 10 years. And at any moment, it will collapse.
Thompson predicts more of this…
The impact of AI
Inevitably, Thompson was eventually asked if AI and machine learning were going to change the programming profession. And Thompson admits that after experimenting with Copilot he concluded that it was “surprisingly good at letting you grow really quickly. And it gave this kind of weird ‘Wow’ feeling. Is it finally the time when AI is going to take over the development task?”
But after talking to the developers, he came to a more nuanced conclusion. “I don’t think it’s going to put anyone completely out of work – but it’s going to change the nature of what development may mean.” Several veteran developers told him “I’m able to go 2x faster, because what it really does is it takes the time I would spend going to Stack Overflow and figuring out how to do something – because that knows this….”
But more importantly, Thompson thinks tools like Copilot will also “superpower” that larger legion of code-adjacent part-time programmers.
“Maybe it disemploys or underemploys the kind of coder you could pay $500 for on Fiverr to build that logic for you. But it’s also likely to open up new abilities for people who are not full-time developers, to sort of get rid of some of the tedious work, to let them punch above their weight as well.
Global centralization
The greatest concern with AI is its potential to centralize all this power released by a new emerging technology. “Right now, when I talk to people around the world, there is a lot of concern in countries outside, in the south of the world, outside the west, that much of the development of AI is in a few hotspots. It’s in parts of the US, it’s a bit in Toronto and Canada, it’s in the UK, it’s in Germany, it’s in Japan and it’s is mostly in China.
As currently developed, AI requires huge (and expensive) bursts of energy and computing power – and Thompson doesn’t see that changing without a paradigm shift in how AI is developed. . This leaves parts of the world worried about being left behind, and they’re going to be relegated to consuming the APIs for AI that those other countries are making. And that’s a really helpless situation.
“Maybe seven or eight years ago, they were feeling a little bit excited – TensorFlow was open source, and they were like, ‘Oh, here we can roll up and train an AI that’s just as good as something that someone made in San Francisco or Boston or London.’ And now they feel more like, ‘Awesome. I can subscribe to a very high-end AI that was developed in Beijing or San Francisco, but that’s not really great for the stock of our coding… For example, we’re going to sit around doing some quick engineering instead of actually engineering.
“It’s an interesting challenge, and I don’t really know how to get out of it.”
What affects representation?
Thompson’s personal enthusiasm for programming comes through loud and clear. At one point he described discovering at a young age “there were these incantations you could use that would bring digital things to life”, saying it helped him understand the passions that drive programmers. . But it also informs Thompson’s sentiment about why the tech world has struggled with representation.
“Part of it was that there weren’t enough, like, tendrils out there in those pre-college levels saying ‘Hey, do you want to try this thing, this weird task of telling a machine to do something you want her to do, and to find out if you’re one of those kids who gets that electric thrill? Because not everyone does.
Thompson thinks they’re spread across all different demographics – estimating they make up 5% of any given cohort – “but you have to give them the opportunity to understand that they’re some of the people who get that electric thrill .” He therefore applauds the new programming program and after-school programs for young students, as it allows people to recognize their passion.
But what is interesting is how different countries experience different demographic patterns. “If you go to India, it’s a massive country with a ton of developers, and demographically they’re a lot younger than the rest of the country, and they’re very interested in mobile. If you go to places like China, or even in Sri Lanka, in parts of Asia, you get a lot more women getting into coding, and a lot of that is for a bunch of cultural reasons – you know, their parents and the people around them encourage them in a way that maybe doesn’t happen so much in the United States.
“So in a lot of ways, actually, I think every country could probably learn something by watching what other countries are doing right and wrong at doing.”
Ultimately, his biggest concern instead is with colleges and universities struggling to keep up with interest. “I’m a little afraid we’ll have another kind of time when they start putting up barriers to chase people away. It’s not something I made up. Researchers who have studied this are concerned about this.
Remote work vs hybrid work
Thompson also talked about what’s gained by working remotely — but also what’s lost. Programmers love to spend long, uninterrupted periods of time in the “flow state” – Thompson calls it the #1 thing a manager can do to keep their engineers happy and productive. But how does this affect the integration of new coders into a large company? What is lost when they are not able to “shoulder surf” behind a senior engineer for three months? “There are a lot of people right in the middle of development who are doing not want to go back to the office, and there are a lot of high-end, and entry-level people who would be desperate want to to go back there. And companies are struggling to figure out how to square that circle.
So what is the solution ? Thompson begins by acknowledging “I don’t know if anyone does it really well, frankly…I feel like everyone I talk to feels like they’re still gluing it back together. “
But people who seem satisfied have opted for a system where people are only expected in the office for part of the week, “so they can do that face-to-face sync that happens faster when you’re face-to-face. And the rest of the week, everyone can go wherever they want. Thompson had even heard of this pre-pandemic model – and, interestingly, it tends to work best in small and medium-sized companies.”I think very large companies have a hard time managing – it seems too dispersed to them, you know?”
Near the end, an audience member asks if working remotely will ultimately reduce code quality – simply because the best QC is other people’s feedback using our code. “We may be more productive, but will we create horrible things to use, faster?” Thompson shares a related experience – having two sets of eyes on the same issue, in real time, seems to be the most effective form of communication. This could be lost in the future – no one can say for sure. But Thompson also notes that the same question arises about AI-assisted programming.
“If it makes me work twice as fast, does that just mean that now I’m going to produce more crap code, or more baggy floppy code – because I can do it faster?”