Skip main navigation

£199.99 £139.99 for one year of Unlimited learning. Offer ends on 28 February 2023 at 23:59 (UTC). T&Cs apply

Find out more

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.

FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education

Related stories on FutureLearn