In 2014 the BBC announced that they would be supplying around one million year 7 students throughout the UK with micro-computers as a part of their Make it Digital campaign. The aim of this campaign is to inspire a new generation to ‘get creative with coding, programming and digital technology’ in a bid to address the ever growing skills gap in the UK’s technology sector.
Whilst it is undeniable that there is a desperate need of skilled digital workers, campaigns, such as Make it Digital, that encourage everybody to take up coding do raise the question ‘can anybody be a programmer?’
In theory the answer is most definitely yes. With the seemingly endless supply of online resources and detailed textbooks, it has never been easier to learn how to read, write and understand code. However there is more to being a programmer than simply being able to tap out a bit of code.
Programming is all about finding a solution to a problem, be it locating the cause of a fault in a system or developing an entirely new piece of software to address a real world problem. A key skill in any programmers arsenal is the ability to stand away from a complex problem and continue to break it down into smaller pieces until a solution can be created for each small part. Having the ability to see how a problem can be broken down does not come naturally to everyone but it is something that can be improved with practice.
Society has created this image that programmers huddle behind their computer screens and avoid communicating with other human beings, but this could not be farther from the truth. Communication is a vital part of any software development project, from asking questions to fully understand the problem in the first place to ensuring that end users will be able to understand the final solution. An unwillingness to communicate with others will do nothing but hinder the development process.
Whilst communication is important, a programmer does require some degree of self-sufficiency. Ultimately programmers must be expected to ask questions, so that their organisation can function efficiently, but they must also try everything in their power to find a solution before they ask these questions. After all, if a supervisor is doing all of the work it begs the question is there really a need for the programmer.
Coding is naturally very heavily dependent on logic, but it can be as much an art as it is a science. It is no use in believing that there is a single correct way to write code, the very best programmers have a level of creative curiosity and are willing to experiment with new tools. A lack of creativity can lead to tunnel vision where all coding problems are approached from the same angle, but all problems are unique and as such require unique solutions.
The software industry is constantly evolving, languages appear and disappear all the time; every programmer will encounter situations where their current level of understanding will prevent them from deciphering a solution. It is at these times where a difference between programmers and non-programmers is most noticeable. True programmers will not hesitate to learn new technologies if it means that they will find a solution, they expect to feel inadequate but they strive to increase their knowledge regardless.
There is nothing more disheartening than striving to complete a project, only to be met by problem after problem. It takes a certain personality to find the motivation to deal with frustration and negativity in a positive way. If every programmer were to discard a project when they felt demotivated, technology would not have progressed to where it is today.
The reason why programmers can achieve this level of motivation and perseverance is that they simply have a passion for programming. They write code because they enjoy it. Not because they think it will make them rich quick, or because they are forced to, and when a barrier appears that prevents them from reaching their goal they will do anything to overcome it.
So once again it is true that anybody can learn to code, yet ‘even if their brain is capable, it does not mean that they as a whole are.’ Here at Zircon our engineers are truly passionate about what they do. They don’t let frustration hold them back, and strive to provide our clients with a final solution that fits all of their needs even if it means that they must step out of their comfort zone and master a new skill.