Getting Started In Software Development
The software development industry is booming. I’m constantly reading about developers who have written an app or some cool piece of code which has subsequently been bought by Google or Microsoft or Apple. It seems like every man and his dog is deciding to start a new career as a software developer, even retired policemen. And then there’s the strange case of 16-year-old Tanmay Bakshi who was recently hired by Google. If you have never heard of him, well, Google him.
It’s obviously an attractive and potentially lucrative career choice. But what if you never went to university and studied computer science?
Can you still get into software development and if so, how?
Pick a programming language
The 10,000 hour rule?
Like anything worthwhile, putting the time in is important. It’s not going to happen overnight or, as some books say, in 24 hours (but maybe not as much as 10,000 hours either). Set yourself a certain amount of time per day to learn how to write software. Schedule it in your calendar and treat it as a commitment you can't break.
There are literally hundreds of videos on YouTube all available for free which can be used. The best part of this is, unlike books which will show you one way to do things, having access to thousands of videos can teach you multiple ways to do things. If you don’t understand something in one video try another and then another. Eventually, you will either find one that you do understand or, by watching multiple videos, you will eventually understand it. This is something I still do today.
Set a goal – build something
Most beginner tutorials start with creating a “Hello World” program. This is a great starting point but the real world is more complicated than this. Much more complex.
Set a goal of building a product, maybe a website or even a simple game (noughts and crosses is good one). Have a vision in your head of how this will look and work towards it. Start small and keep adding things to it. Remember software never stops evolving.
Pairing is when two people share the same screen and try and work through a problem together. Long story short two heads are always better than one.
Use the right tools
Right Tool for the right job. Unlike 15 years ago where software development tools were expensive and had to be purchased, today they are mostly free, which is great for self-learning.
Try to use the tools that you anticipate using once you get a job. It will not only help you in writing code but also make you more marketable in the real world.
Find others like you
Remember you are not alone. Having someone to speak to who is in the same situation as you is important. It’s your support system. This group of people will be invaluable to call on for help or advice when you are stuck.
Try going to meetups, maintain a blog and showcase your work either via a public GitHub repository or a website. This will be very useful when going for interviews. If you can demonstrate your abilities you will become much more attractive to a potential employer.
Find a mentor
A friendship or mentorship with a working software developer can also be immensely helpful in your journey. They have been where you are before and are well aware of where you are coming from and the struggles you may be having.
Meetups are a great way to meet potential mentors and you can also find mentors on CodeMentor.
I started learning how to code back in 2001 and it wasn’t easy. I wasn’t in employment and I had to learn by purchasing books. Veterans will remember the “For Dummies” and “In 24 hours” books. There was hardly any information on the internet and if it did exist it was limited and for the most part useless for an 18-year-old trying to get his head around this world.
Thankfully things have changed over the past 15 years. But make no mistake, it is still not easy an easy option. It’s just that the tools available to help are more accessible now. You will get frustrated and disheartened at times, but you can and will make it happen, just as long as you want it enough and are willing to devote the time needed to develop your knowledge.
It’s not an easy path and certainly very different to traditional educational paths, but it is possible and demonstrates so much to potential employers about transferable skills like tenacity, organisation, single-mindedness and focus - plus it says a lot about your ambition to succeed once you set your mind to a task.
Chelsea Apps Factory is proud to employ experienced software developers from a wide variety of educational backgrounds. We believe that the qualities demonstrated by individuals who take the initiative to self-learn are just as valuable as the qualities of university graduates.
If you are an experienced software developer check out our latest vacancies here.