An overview of the role
The role of a programmer is to write code in order to develop systems, websites, software and games. Programmers work in a variety of sectors and use a variety of technologies and programming languages in front-end, back-end and full-stack development.
There are two kinds of programmer:
- Applications programmer – this role involves creating and customising software
- Systems programmer – this role involves creating operating systems. It is common for systems programmers to support applications programmers, ensuring that their work has the correct compatibility
As we transition from the paper-world to the digital world, many industries are adopting software or going through various iterations and rewrites of their current software. This has created an excellent market for people with programming skills.
Alex Ewerlöf, Programmer 1
What are the key skills required by a programmer?
Programming requires a diverse skillset – it is well known for being a career that requires a high degree of logic and technical know-how. It is also a creative role in which the programmer will be called upon to create systems from scratch and implement and edit them from the ground up. In a sense, a programmer is an author who writes in code.
The idea that programmers require high levels of mathematical ability is not strictly true. Though you will need a sound knowledge of arithmetic – particularly algebra, and possibly geometry and calculus – you do not have to be a mathematical genius. If you are naturally a meticulous and logical thinker, you already have a solid grounding in the required skills.
If you don’t like people looking over your shoulder as you work, this is a good career path for you. As a programmer you will spend large amounts of time uninterrupted, so passion and commitment for the job are essential to prevent demotivation.
Key skills for a programmer include:
- Excellent technical ability
- A thorough and up to date knowledge of programming languages and technologies
- A creative and innovative approach to problem-solving
- A meticulous, logical and organised personality
- Persistence and motivation
- Self-sufficiency and the capacity for large amounts of independent work
Aspiring programmers have an advantage over applicants to many other careers – it is possible to learn a great deal about the role before applying. There are plenty of resources available to teach you how to code – you don’t need a degree to learn about the basic skill set required and decide if the job is for you.
What qualifications does a programmer require?
Generally a degree in computer science, IT or other related field is necessary in order to become a programmer, but candidates who have an excellent and demonstrable knowledge of programming languages and operating systems may be considered without one.
Do I need relevant work experience to become a programmer?
Work experience in programming is measured by the quality of work completed as much as by time spent. In order to apply for a role as a computer programmer, you will need a portfolio of work to show to prospective employers.
Your portfolio could include:
- Playable game demos
- Source codes
- An organised and polished GitHub/Bitbucket/Stack Overflow
- Video clips and images of your online work
- All relevant information, such as how the code works, the programming language and technology stack you used, any problems you overcame and what you learned overall
Your portfolio should not consist merely of samples of your programming work. It’s an opportunity for personal branding – use it to sell yourself and your vision as well as your technical abilities. The role of a programmer is about innovation, so make sure this comes across to employers.
Completing a computer science degree will mean that you already have a portfolio of strong work accumulated over the course of your studies. Many computer science graduates use their dissertations as the basis for their entry portfolio.
This is one reason for aspiring programmers to take a degree in computer science – because they are sure to emerge from the course with a marked, graded and extensively researched project. However, if you graduated two years ago, ensure that you combine your university work with more current work to show your ongoing passion and commitment.
If you have decided not to go down the academic route, working on independent projects or internships should provide you with the necessary work to assemble a portfolio. Naturally this is more time-consuming and you will lack the professional input of your tutor. You can also apply for programming courses designed to ensure that students leave with a portfolio.
People think that coders are just basement-dwellers or that sitting at a computer is a boring job, but it’s really not. Being a coder is the most flexible job you can have, because you can do it from anywhere at any time.
Sage Franch, Programmer 2
Is the role of a programmer right for me?
Pros of being a programmer:
- A rewarding role with high job satisfaction
- An excellent salary
- Plenty of opportunity for professional development – your employer may fund your learning if it’s relevant
- A constant flow of new information and technology to master – if you have a passion for knowledge and love learning new languages and systems, this job is ideal
- A wide variety of jobs available in different sectors – you can tailor your skill set to whatever industry you like
- Highly transferable skills – should you tire of programming you can change careers relatively easily
- You have high flexibility over your work environment – due to the nature of the role, programmers can often work remotely
- Progression depends on qualifications and talent, rather than experience
Cons of being a programmer:
- Working long hours/weekends to meet project deadlines is very common and can negatively impact your work-life balance
- It can be exhausting to keep on top of the endless flow of new technological developments
- A hugely competitive industry to break into – you will have to be talented, passionate and persistent
- Job growth prospects are poor, in part because companies often outsource programming to workers in other countries to save money
- Health problems such as bad posture or RSI caused by long hours at the computer
Occupations related to the role of a programmer include:
- Cyber security analyst
- Test engineer
- Build engineer
- Technology-related admin roles (systems/network/web/database)
- Chief technology officer (CTO)
- Technical/sales support
- Software/development marketer
- Hardware designer
- Technical writer/editor