Leave me alone, I just want to code: The myth of the solo developer
It's National Coding Week (September 14th - 20th). Lokulus' Head of Engineering, Ciaran Jessup, is here to dispel the myths about coders, and explain their real value.
“What do you think of when you think of a software developer?” I asked this question to a sample of my friends and non-technical colleagues.
“Anorak? NHS glasses? An unbridled love of trains?”, “The ultimate job where you don’t need to talk to people,” “The opposite of my idea of enjoyable work,” and “a job that involves the brain, but little communication or creativity.” These were just some of the responses I received, so apparently this is what at least some of my friends and family really think of me!
But I don’t blame them. A common view often reinforced in the media is that most developers are male gamers sitting alone in the dark, with hoodies up and headphones on, sipping coffee, and working through the night crunching mathematical formulae to produce the latest games or apps for your phone.
The preconception is that coding is the perfect job for the antisocial techie - however the reality is very different, as there are many skills needed to be an effective coder.
Left to your own devices?
Perhaps there was a time that this preconception was at least partly true. If I reflect back to almost 20 years ago when I graduated, the interview for my first role consisted mostly of me sitting alone in a room for an hour while I designed a file system from scratch on a piece of graph paper.
This was for a company which, at the time, was considered to be progressive and open to new ideas! I still remember my first month - assigned a project in a room with three others, I was very much left to my own devices. Across from me sat someone who might fit the previously mentioned mould - and every time someone came in to speak to him, he’d huff and puff until one day he threw his monitor across the desk and onto the floor.
As a fresh-faced graduate I was shocked by this prominent display of anger and when I spoke to my other colleagues about it, they just shrugged and said words to the effect of “That’s just how he is, we usually just leave him alone to code!”
But the industry was changing. That very same year had seen the ‘Agile Manifesto’ published - a set of four values and 12 principles that changed the industry forever. This manifesto made clear that the process of producing effective software was intrinsically linked with ensuring effective communication between all of the stakeholders involved: Among the developers themselves, the business they work within, and the end users of their software.
No longer was it acceptable, desirable or even tolerable to have someone sit alone in the corner writing code in isolation.
A key skill
Communication is now such a key skill of the developer that, at Lokulus, we wouldn’t ever leave you alone in a room to solve a problem in isolation! Our interviews have an emphasis on how well the candidate would work with their future colleagues. In the interview we would work with you on coding katas - not to see if you get it right or wrong, but to see how you handle challenges and discuss the problems and solutions with your potential future colleagues.
In a modern software team, you can expect to find developers working closely with each other, sometimes directly, but almost always as a closely knit group of people. This 'squad' should be focused on solving a single problem or a focused set of related problems within a small fixed timeframe.
Communication and collaboration is the very key to achieving this, regularly communicating with each other what they’re working on, what they’ve completed and any problems they might be having. The team must constantly share ideas and discoveries about the problem they’re working on and listen to their peers’ suggestions for how to tackle any issues.
So why do people still appear to have a negative perception of being a programmer? I believe this is because industry and education still focus on the ‘hard’ skills side of the job; the mathematics, the algorithms and the tools of the job.
These groups don’t provide the opportunity to expose students or fresh candidates to the reality of the profession - the camaraderie of working closely with a squad to deliver a common goal, the sheer joy of solving a problem no one else has solved before, or the magic of bringing an idea into being where nothing existed before.
Computer science - a liberal art
Steve Jobs once famously said: "I think everybody in this country should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art.” I couldn’t agree more.
Development is as much art as it is science, and well-written code that solves a problem elegantly contains a tangible beauty that can only really be related to that of a particularly moving poem or piece of music. The focus of programming as a science potentially precludes the puzzle solvers, the game players, and the artists from a profession that they would flourish in.
The requirement for humans to program computers isn’t going away anytime soon. Advertised roles in the digital tech sector have grown 36% since June, and now UK tech employs 2.93 million people with 40% growth over two years.
COVID-19 has driven significant investment into digital transformation processes within business, the Internet of Things (IoT) continues to grow, and 5G is poised to revolutionise many industries. Unless we find ways of ensuring that we continue to inspire each generation, we will find ourselves unable to fulfill the demand. We owe it to ourselves and to each other that we dispel these myths whenever we hear or see them.
Encouraging young people to take a career in coding benefits the UK as well as the individual as it allows us to maintain our position as world-leading technology experts. Coding is behind our digital world, and has been the driving factor in enabling businesses to continue despite the recent pandemic lockdown.
Those of us in industry have a responsibility to support educators in their teaching of the roles, and showing how we’ve moved on in the last 20 years to provide an environment that nurtures creativity and innovation. We must open our doors to education and offer students a chance to work within our teams and with our colleagues to see what the job is really like.