Why is there a shortage of good programmers?

Professor Shirley Williams of the University of Reading asks why finding good programmers is so hard, before discussing how the free online course “Begin Programming: Build Your First Mobile Game” is designed to help.


There is a myth that there is a shortage of programmers. However, in my experience when employers advertise for programmers they are often swamped by applications. What there is a shortage of is good programmers.

Over the years I have worked on various Knowledge Transfer Projects and have often had to recruit programmers. On paper there are many qualified applicants whose CVs claim expertise in the required programming language, but when this is put to the test many of the applicants lack the skills they have claimed.

All too often the applicant has written some programs but these are at a basic level, such as a program to convert measurements from metric to Imperial. Usually these applicants haven’t written anything substantial on their own and are unable to spot mistakes in someone else’s code.

Why is there a shortage of good programmers?

Because learning to program is challenging, and becoming a good programmer takes a lot of time and practice. Some people think that they are going to be proficient after a few hours of study, not realising that becoming a programmer is a long process. Then there are students who study strategically, learning only the bare minimum needed to pass a course, without worrying that this does not mean they are good programmers.

What needs to be understood is that learning to program is like learning a foreign language – we can all pick up a few key words but it takes years to become fluent in reading and writing. There are subtleties of syntax and semantics that need to be understood.

Learning one foreign language will almost certainly help in learning others, but while some natural languages share common roots and have many similarities, there are others that are very distinct in character. The same is true with programming languages; while many modern programming languages share common roots, there are different families.

What is the solution?

Our course “Begin Programming: Build Your First Mobile Game” aims to introduce you to programming in a way that encourages you to become a good programmer.

We use the example of a mobile game to make it fun, but at the same time it’s challenging. The discussions allow you to get input to your code from other learners, or to troubleshoot someone else’s problems. We use the same development software as industry professionals worldwide for the course, so you’re learning to use the tools of the trade properly from the outset.

Whether you’re interested in coding for a hobby, or are considering a career as a programmer, it’s good to start out in the right way. Becoming a good programmer can be a long journey, but if you’re starting your journey with us, we hope you’ll feel welcome and have fun!

Join “Begin Programming: Build Your First Mobile Game” now.

Category Digital Skills
Begin Programming: Build Your First Mobile Game

Begin Programming: Build Your First Mobile Game

Learn basic Java programming by developing a simple mobile game that you can run on your computer, Android phone, or tablet.

Join this free online course

Comments (48)


  • Antony Fountain

    There is an entry point barrier to be sure.

    But there are also structural issues associated with the way British Industry runs itself: there is a strong tendency to hire off the shelf rather than develop skills internally. As a Principal Engineer with more than 35 years in the industry, I have delivered a myriad of training courses all over the world, mostly in the USA, but have never been on one myself here in the UK.

    There are also needless entry barriers associated with Project Management, agile and TDD have become bottlenecks to entry, irrespective of the skills you have to offer the style of management has become something of a mantra, if you dont have Agile/Kanban or have not been exposed to TDD, you are wasting your time applying to some organisations. Which is desperately short sighted, people are highly adaptable as beings and can fit in to whatever structure they are required on the whole.

    Persevere: the best industrial concerns are looking for a brain: many years ago I was working for a small company and we hired a lady from the Royal School of Music as a programmer: certainly skills had to be taught, but a degree in anything shows that you have the basics required.

  • Michael

    Don’t become a programmer. I wasted time, money and effort on nothing but misery. A 2 year education and nobody wants to hire me because I “don’t have 5 years experience”.

    There is no shortage of developers. The whole industry is lying to you.

    • Srikant

      I totally sympathize with you. In my experience, it’s easier to get a foot in the door to this industry if you have a degree in computer science, IT or a related field. It’s hard to break in as an “outsider”. I have been struggling to get even a Junior Developer role. Nobody is willing to take a chance on me.

    • Adam

      I agree: I have 5 years experience with significant IT project exposure, and then decided to try to become a developer, but would have spent much less time and money doing an MBA – now the only work I can get is night shifts on a service desk and I have not even seen any code. I think in the UK they would rather it was all done by outsourcing to an off-shore graduate (who really does not care that much about the business as opposed to the billing) than take the chance on hiring and building up there own team. This is why UK productivity is so poor – we don’t implement enough code. Coding skills should be required regularly in every department where there is automation (so all) – but this is just not the reality.