How to Become a Software Developer without a Degree

software developer without a degreeBeing a software developer for about 10 years now I receive many questions about the IT industry. Some of them come from people who want to make a career change and others from ambitious high school/college graduates who want to make a lot of money. Here are some typical questions:

  • I want to make this cool app, how can I do it?
  • How much money can I make in the IT industry?
  • I like video games, which way should I follow to get a job?

Software development is a beauty because it is such a creative job, pays above average salaries, puts your mind to work and -the best of all- can be self-taught. 

This means that you can break into the technology industry without having to study 4 years for it. Don’t get me wrong. I am not saying the university is not important – all I am saying is that it is not necessary. 

I have met people who achieved very high-level positions in the industry and yet have no science degree (hi Shane!) or no degree at all. This is partly because the job itself is so practical and because the demand for new people is much greater than the supply.

Why become a software engineer?

The average person earns ~£37,500 per year here in the UK with London-based jobs paying around £42,000 according to Glassdoor. That’s £2,643 after tax every month in the pocket! If you manage to make it into one of the big names (Facebook, Google etc) you are looking at a six-figure salary before tax.

What is more exciting, is that the entry barrier is quite low compared to other professions. There is no such thing as a “chartered” or “qualified” engineer title you must obtain before you can start working. There is no need to belong to a recognized organization to get a job. It is also considered a low-stress job which means you will not have to say “I’m really stressed today!” many times in a month. If a doctor makes a mistake that can cost a life, whereas in the technology sector a mistake can be “patched” in the next cycle.

In your day to day job, you are constantly looking to solve problems, more like puzzles, that enable you to think in a constructive way. You get to challenge yourself daily and develop skills that are transferable in other areas of your life such as time management.

But it is not all rosy though and salary is not correlated with job satisfaction. Projects have the usual deadlines and boring meetings & office work require physical exercise to stay fit. You could be very well paid but having to work with a hell of a person every single day, is not money worth getting, is it.

You get to work with clever people with poor people skills which can be hard. Various tasks have nothing to do with the actual work. It is not uncommon to spend hours in meetings that produce no useful outcome or interviews that fail to find skilled new people. Not to mention you will have to train yourself from time to time and keep up to date with new technologies that come out.

After a few years in the industry, I personally feel blessed having a profession that allows me to turn my computer hobby into a real job.

Now that we’ve established how awesome technology jobs are, let’s see how we can make it to the real world.

How to become a software developer without a degree

1. Find which area interests you the most

There is no point in diving into a field you don’t like. There are numerous fields in technology one can follow. Although they all lie in the same sector, they can be quite different. For example, you may like building websites for companies but hate designing solutions to problems, in other words, writing algorithms. Supporting a business with heavy traffic or building the first line of defence to hackers are other options too!

Everything can be taught using online courses and dedicating your own time to it. Many online platforms offer free education with paid certificate only in case you want to prove you obtained it. Most of these platforms offer forums for each course where the participants can share their progress and seek help.

So to get a broader view of the Computer Science field I suggest you start with introductory courses and then narrow down as needed. None of the below require any prior experience and they can be completed at your own pace:

There are of course hundreds of other courses worth mentioning that you can find online and so many different paths one can take. The point is to just start. It doesn’t matter if that’s not the perfect course for you. Most of the courses are short and explore various areas. You will find motivation because as we have agreed already, building something is a very creative and exciting process. I still remember the first application I built, it was a theater reservation system. The excitement I felt when the project was complete was worth all the effort and frustration I went through while trying.

Tip: You can try more data-oriented courses too, for example, Introduction to data analysis using Excel or The Data Scientist’s Toolbox.

2. Practice, practice, practice…

Udemy Top Online Courses
If something is important in the technology field, that is to be persistent and consistent. Trying, failing and trying again is the key to success. Nobody will teach you how to program but yourself. You can go to the best university in the world but it’s only by getting your hands dirty that you become successful. It is also what will give you the most satisfaction after completing a task.

Imagine a baby that learns how to walk. It stands on its feet, hit the first object and fall down. Will it stop? Hell no! It stands up and learns to avoid this object next time. Will do it 1000 times and the baby will not get hit ever again. Practice is what makes acrobats balance on a 2cm rope for a minute and a pianist performing flawlessly for 2 hours without reading any notes.

3. Ask for help

Getting stuck is inevitable. Sometimes this is a good thing since you will manage to find the way out by thinking and trying different methods. In fact, getting stuck in programming is the only way to learn. Struggling too much is not though. Asking for help in forums, on StackOverflow and reaching out to people (including me!) is the way forward. You should not spend much more time than needed on one problem because you are not gaining anything as well as missing out on progressing quickly.

I remember I could spend 3 hours on a simple exercise because I was too stubborn to solve it out of pride. How stupid I was.. Remember, pride will not get you as far as a little help will. Offering help on the other hand, also gives you bonus points, since you experience how other people think and you develop a broader view on problem-solving.

4. Publish your work

Ok, you put all this effort and completed a few courses on a specific domain. First of all, congratulations! It’s a huge achievement and you will not regret it. But demonstrating your work and passion is very important.

Similarly to how you want to see previous reviews before buying an Amazon product, people will want to see your skills before they hire you. Especially when you’re going the solo way by being self-taught.

Showing your work and demonstrating your past projects is as important as doing them in the first place. This is why everyone should have a blog/website or an online Github account to post their work publicly. This not only helps you establish a reputation before meeting someone but proves your ability to work and your level of expertise. It doesn’t matter if it’s just a simple website – just put it out there so people can see. What matters is that you have some skills already, you have passion and huge potential! Here’s how to start a blog in 5 steps.

There are plenty of meetups you can participate and learn from others. For example, I am into Artificial Intelligence lately and attending the London Data Science meetup. This allows me to share my thoughts with like-minded people over free beer and pizza 🙂

Final thoughts

Skills matter more than papers and you will be in great demand in a growing industry. Smart homes, virtual reality (VR), driverless cars and governments pouring billions of pounds into research & development are just a few examples. College education has been disrupted. It’s not a myth, it’s the reality. High school graduates study up for a few months and score a £30,000 first job in the industry. You can even create jobs by starting a small company or building an iPhone app.

It’s not who has the best degree and CS degrees are usually out of date after 4 years. It’s about who has the best skillset and can solve real world problems. Nowadays, this is the best shortcut to success.

Now you may call me a hypocrite since I already had a degree before joining the IT job board. However, this allows me to compare whether obtaining a degree is necessary or not. Yes, you may occasionally notice some learning gaps here and there or have a harder time during the courses compared to other students. But it is easy to fill these gaps while growing your career and by studying when needed.

All you need is the willingness to learn… Now go out there and build something!

I’ll be keeping an eye on the comments 😉

If you find this content valuable, please share it with your friends on Facebook or Twitter. You help me bring more readers to this blog and encourage me to write more useful content like this one!


  1. Hi Mike. Nice article. I actually did the “complete web development” Udemy course and I like the practical approach and real world projects in it. As my job is not offering me a lot of opportunities to code I will soon start a professional university program on Java that will keep me coding for many hours a week. Yeah!

    • Hi Ilas, thanks for sharing that! Do you prefer more back-end development then? I used to do some web development too but nowadays it’s algorithms that attract me more. If you need any help in Java let me know…

  2. Indeed, the focus is more on back-end. Overall my intend is to reach a high quality level of programming where Java is just the way to get there (and likely I will stick to it). And thanks for the offer Micheal … I will surely make use of it once I start the university program.

  3. I am 14yr old from India and I have learnt web designing and development,IOT development,C programming and can i get a job at big companies such as Google,Microsoft or Facebook

    • Wow, 14 years old! You can definitely do that Aayush. You have passion and motivation (I checked out your Calculator website!).

      Keep it going. A good book to prepare you for Google-like interviews is the “Cracking the Coding Interview: 150 Programming Questions and Solutions”.

  4. Hi Mike, great article! I have been working as a software developer for 12 years at one of the biggest banks in South Africa and have no degree at all. Promotion is also on the cards for those who don’t have degrees: I have been a senior technical lead for the past two years now working on one of the most important projects at the bank in the past 15 years.

    All of the points you raised are completely valid though do you have any suggestions on getting a job overseas without the neccessary qualifications? I find it extremely frustrating to go through the entire interview process on Skype just to get thrown out at the end due to not having the required qualifications.

    • Hi William, I agree this is quite frustrating but I’m surprised this is happening to you.

      Was this a one-off or has it happened multiple times?

      My experience says that after becoming a senior and having acquired the necessary work experience the degree qualifications become obsolete. They’re often not even mentioned unless the dissertation topic or something similar is relevant.

      With the exception of some very specific job roles requiring certain certifications e.g. Cisco CCNA.

      My advice would be to focus on proving you’ve successfully delivered what the role needs thanks to your previous positions. Now if there’s a strict company policy on hiring people with degrees there’s not much you can do about it, apart from trying to find out from the job description and not waste any time interviewing there.

  5. Iam 18 years old engineering student in electronics degree. But I was very interested in computer courses. But I can’t afford to take any course as I wish. I completed android development courses in websites like udacity , udemy etc. I have done courses in ethical hacking in websites like cybrary , udemy. After completing all these courses I dived deep into android and iOS development. I made some own apps and published in third party websites. Can I get a good job without complete my degree.

    • Well done for doing all of these side projects. That means you’re passionate and love the subject! Of course, you can get jobs without completing your degree – like Bill Gates, Steve Jobs etc 🙂 But if you want my advice, finish your
      degree since you’re in. It’s on a related subject and will help you with credibility too. Also, try to build a website or blog where you list your side projects and showing what you’re capable of doing – See here for starting a blog:

  6. Thanks Michael, great article!!. I also have great love for software development but my challenge is find my area of interest and most times getting the right materials to use.

    • Thanks for your comment Oladotun! Do you mean it’s hard for you to decide where to focus (web dev, iOS, algorithm development etc) ? If so, try to get a taste of everything and follow what you like the most. That’s what I did a few years ago.

  7. Hello, I am a 12th standard student in India and have an interest in programming, learning python.
    Should I go for a CS degree in well known universities of India after 12th or concentrate only in learning programming languages and then seeking for a developers job? What are the odds of getting a
    good job if i be an expert in python or any other language? Please suggest me with your opinions.

    • Hi Yeshvir, I’m glad you brought that up. I’m not sure how the situation in India is, but I believe that if you’re an expert in Python you will not have a trouble finding a job without a degree.

      However, make sure that you have side projects that can show your skills. Building a website showcasing your work and adding your projects to your CV will definitely help. Let me know how you get on!

  8. Hi Michael, I hope this message finds you well! I recently decided to test out switching my career from accounting to software development. I am a few months out of a well known U.S. university and know I am not passionate about the accounting industry I recently joined. I believe I can create more value and raise my potential by being a software developer. You suggest writing a blog to publish your work and to illustrate past projects to others to stand out. I am coming into this career without any knowledge in CS, I don’t even know how to touch type. However, I am highly driven and my sibling, who has a prestigious CS job, is my mentor.
    Would it be beneficial for my new software career to start a weekly blog where the theme is my rise from not knowing anything about CS to landing a prestigious software development job? I plan on detailing what activities I had done in the past week and any helpful tips I came across or could offer to audiences in a similar position. I also hope to inspire my audience to not give up on a path to a better career. My only fear is that dedicating time to this blog will take vital time away from learning Java and my own skills needed to get my first CS job. Based on your experience, do you believe this blog could help me significantly in beginning my CS career? Or do you think my time would be more wisely spent focusing on learning then creating a blog solely to publish my work. Thank you so much for your time! 🙂

    • Hi AD and thanks so much for taking the time to write such a great comment.

      I believe you’re doing the right thing by following what you like. Now to answer your question more precisely.

      I think showing your journey from “zero to hero” could add a lot of value to other people that are thinking of doing the same. You can be a great example plus you’ll get some support from like-minded readers, not to mention networking opportunities.

      Look at this article. it’s just one article in the middle of the internet ocean and has attracted so many future CS engineers simply because there is a huge demand for this type of content.

      But more importantly, writing is beneficial even if you have no readers. Writing has helped me SO much to structure my thoughts. I am not sure it will significantly help you begin your career, but it will definitely make you a better thinker/planner and it’ll probably make you smarter too. It’s a great self-improvement hack.

      Also, writing makes you stay committed to your goals simply because you’re publicly holding yourself accountable. In fact, I recently heard that if you publicly commit to something you have an 80% higher chance of meeting your goal. That goal could be anything – from losing weight to getting a computer science degree 😉

      I indeed highly recommend that everyone in the industry demonstrates their work and their skills by publishing some projects. However, it has to be done within limits. You don’t want to blog more than you work or you’ll end up a copywriter (a really good profession too if you ask me 🙂 ).

      So yes, don’t be afraid to start and let me know how you get on!

  9. Thanks for your very helpful answer! The content of my blog will be displaying the journey from “zero to hero” and offering tips. In your article “How To Start a Blog in 5 Steps – A beginner’s guide” you suggest to “Try to connect all your social networks to your blog and reach out to people once you have some content.” How do you suggest I go about doing this when I share my social media site with many coworkers without giving off the perception that I have a foot out of the door of my current firm. Personally, I think I’m going to say it is just a hobby that interests me and that I am trying to develop myself to adjust to market trends. From your experience, do you think this will be effective or should I say something else?

    • Thanks for the great question, AD. You will be surprised that when having software engineering activities outside work you actually increase your perceived value at the company not decrease it. This is because you are more valuable to the firm and sometimes you can also help with hiring – a very painful process for tech companies.

      Speaking at meetups, blogging, honing your coding skills, participating in external hackathons are all things that make you a better colleague and firms will have to think “What can we do to actually keep this person?”, not the opposite. You’re learning different technologies, becoming a better engineer and you can bring back the know-how to your company. It’s a win-win situation and you don’t have to pretend anything 😉


Please enter your comment!
Please enter your name here