Interview: A day in the life of a programmer
Co-founder and CTO of DataSine, Chris Loy, and Front End Engineer Jenny Wem both have plenty of programming experience. We found the time to ask them some questions about life as a programmer, the challenges they face, how things have changed, and what advice they have for programmers of the future.
Sometimes it’s difficult to know how to decide what career you want to pursue. Here at JAXenter, we understand that – that’s why we’ve decided to talk to two people with a lot of experience in programming. Whether you want to know more about what programming looks like as a career, or you’re simply not sure what it is your colleagues are up to, hopefully you’ll find this Q&A with Jenny Wem and Chris Loy as interesting as we do! Anyway, enough talk, let’s get to the interview:
JAXenter: What is a typical day in the life of a programmer?
Jenny: 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.
JAXenter: What attributes/skills make a programmer successful?
Soft skills are sometimes underestimated, but good communication and a collaborative spirit are really important factors.
Jenny: 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 programming has changed
JAXenter: How has the programmer role changed in recent years?
Chris: 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.
JAXenter: Has the rise of robotics and automation impacted the role of a programmer?
Chris: 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.
The value of programmers
JAXenter: How does a programmer feel they are adding value and having an impact within a large business?
Jenny: From a business perspective, it can be extremely difficult to have a sense of whether you’re adding value in a large company, since a developer may not have any contact with the users of a product they’re working on. Technically, I think there’s a lot of personal satisfaction to be gained from writing clean, maintainable code that fellow developers will be able to understand and build upon, and this is something that a developer can aim for in a company of any size. It’s important to have faith that good code will save a business time and money in the long run.
Personally, having worked for both large and small companies, I would advocate working for a startup if you’re interested in feeling the impact of the work you’re doing.
JAXenter: How difficult is it to attract strong programmers to a business?
Chris: For a small startup like DataSine, it can be very difficult to attract good talent using a traditional approach to hiring. A hiring process that evaluates programmers based on experience, technical skills, computer science degrees and dog-eats-dog ambition will leave you competing with corporate heavy hitters, from Google to major banks, over a relatively small pool of talent.
Fortunately, as ever with software, there is a way to hack the system! Because we recognise that a lot of the most important skills are to do with creativity, communication and adaptability, we are able to tap into a much bigger talent pool of amazing programmers that big corporations will often overlook. I’ve been lucky enough to build an amazing team of programmers without any kind of public profile, by embracing people from non-traditional tech backgrounds, and helping people focus on personal growth and learning instead of CV padding.
JAXenter: Is there a skills shortage?
Jenny: The success of coding bootcamps would certainly suggest that there’s something of a shortage of developers. This is much more noticeable at the senior end of the talent pool. There’s also still a shortage of female, non-binary and non-white developers, although there is much more awareness of this issue than there used to be and a lot of companies are making significant efforts to ensure that they’re hiring from diverse pools of candidates.
The percentage of people studying STEM subjects is fairly low, and the percentage of women is lower still. Not having a STEM-related degree is not necessarily an impediment to working as a programmer, but I think people might be more likely to consider programming as a career if they’ve studied it from an earlier age.
JAXenter: How can firms go about attracting and engaging the best programmer talent?
Jenny: To engage the best talent, firms need to supporting the ongoing education of their developers, including providing a budget for personal development. Programmers need to keep up with technology and the ability to access books, conference tickets and courses is really helpful.
A lot of employers offer fairly superficial perks such as snacks, birthdays off and discounts at retailers etc. These are appreciated but they definitely don’t make up for a lousy company culture or low pay or a lack of opportunities.
JAXenter: What will the future programmer workforce look like?
Chris: Sometimes it feels like the software industry is slowly consuming everything else. I see analysts, marketers, financiers, psychologists and many others learning programming skills and using them to improve and automate the parts of their job that previously involved mundane data entry and analysis.
I think, in future, programming skills will become as widespread as word processing skills did in the 90s, and that anyone will be able to take advantage of this amazing toolkit in order to improve the way they work.
We need to keep working to get coding into schools, to detoxify aspects of the industry that are still stuck in the past.
To get to this point, we need to keep working to get coding into schools, to detoxify aspects of the industry that are still stuck in the past and to demystify the programming skill set – which is something anyone capable of completing a crossword can teach themselves.
Meanwhile, software engineers will still be sat at the back, happily churning out more tools for other people to use, sharing private jokes, and looking for the next wave of innovation to jump onto.
JAXenter: As companies go about automating processes in their organisation, how will the role of the programmer continue to change?
Chris: As programming skills are democratised, I think the separation between programmers and everyone else will slowly blur. Maybe software engineering and computer programming will start to be seen as different disciplines, with the former all about breaking down the barriers placed there by “user friendly” interfaces like Windows, and the latter all about building reusable tools.
SEE ALSO: How AI will impact software development
JAXenter: Finally, what advice do you have for people who want to pursue a career in programming?
Chris: My main piece of advice is simply to get coding! If you have a computer and internet access then you can start teaching yourself for free. Find an online course, build a cool website, solve some coding puzzles and get started.
It’s important to take an interest in tech as well. Podcasts are good, although I prefer tech blogs personally. Look for articles that have code in them or link to a GitHub repository and then play around with the code.
When it comes to choosing where to work, you need to prioritise companies that will enable your learning. This is the same whether you’ve just coded your first web page or you have a masters in computer science and have spent 10 years as a bedroom coder. Look for an employer who’ll support your growth by giving you access to mentorship, resources and interesting projects to work on.
My final piece of advice is to leave your prejudices at the door. Tech is an industry that still suffers from inclusion and diversity problems, but thankfully it’s improving and needs open-minded people from all backgrounds to help modernise it.