What is a typical day in the life of a programmer?
A typical day for me begins with our team’s morning stand-up meeting, where we report what we’re working on and whether anything is blocking our progress. I then check work tickets on Jira, which is the tool we use to organise tasks that need to be done, and either start a new ticket or continue with one I’ve been working on.
The ticket could be anything from building new features to fixing bugs, and when I’ve finished building or fixing something, my team reviews the work I’ve done and suggests any necessary changes. After making these changes, my new code is merged into the ‘master’ copy of the codebase, and then I’ll start a new ticket!
My other responsibilities include helping to estimate the complexity of work we need to do, as well as reporting bugs and monitoring automated tests. Every two weeks the team has a meeting where we collectively decide which features we’re going to be working on.
What attributes/skills make a programmer successful?
Soft skills are sometimes underestimated, but good communication and a collaborative spirit are really important factors.
The ‘typical’ background of a programmer would probably involve a computer science or STEM degree, although obviously not all programmers are from a typical background – my team includes people with more typical backgrounds along with people who became programmers after a career change. I actually studied art before completing a coding bootcamp.
I think a successful programmer is someone who can adapt rapidly to change, as technology tends to move very fast, and you can find yourself needing to quickly get the hang of new frameworks and libraries. Soft skills are sometimes underestimated, but good communication and a collaborative spirit are really important factors. The need for these soft skills is perennial, whereas technical knowledge of a particular language or framework can quickly become obsolete
How has the programmer role changed in recent years?
Like lots of office jobs, the role has generally become less corporate. The influence of Silicon Valley tech giants has meant that traditional corporations have slowly moved from viewing programmers as back-office staff to being the core team responsible for innovation.
The internet has really democratised access to skills and expertise. Thanks to the open source ecosystem, and popular sites that enable open collaboration, such as GitHub and Stack Overflow, the barrier to entry is lower than ever. Consequently, the industry is more diverse than it has ever been before.
Programmers now need a more malleable skill set in order to advance, as the rate of change in technology outpaces the speed at which traditional educational routes such as universities can teach. While even ten years ago there was more tribalism in the stacks that people learnt, today the best programmers are those able to adapt to new technologies quickly.
Has the rise of robotics and automation impacted the role of a programmer?
So far the impact of robotics and automation has only been positive. Software engineering is a discipline that differs from traditional engineering because you can go back and change what you’ve built afterwards. In other words, you can wait until after you build something to test it, unlike when building a suspension bridge or aircraft wing, for example. For this reason we spend a lot of time building processes to enable us to experiment and test. Technology and infrastructure that allows us to automate this time-consuming work means we can spend more time innovating on new products and ideas.
As well as this, the rise of robotics has provided good employment opportunities for a lot of programmers, and has drawn lots of existing programmers into machine learning.
Industries like manufacturing and transport are bearing the brunt of automation more directly, and within the machine learning / AI world, this is already happening to an extent. Although the history of disruptive startups suggests that someone will try to automate us out of existence at some point, I’m not too worried to be honest. The more automation we have, the more we can focus on the bigger problems that technology can solve.