Everything in today’s world is revolved around technology, which means qualified software developers are a hot commodity. Although almost all tertiary education institutes offer degrees and diplomas pertaining to the software development field, one can still become a successful software developer without an official computer science qualification. The non-traditional road towards the world of software development is obviously a tougher one than if you had a computer science degree but it is still possible.
Be passionate and enthusiastic
Before you consider perusing a career in software development you need to be passionate and enthusiastic about software development. You need to enjoy programming to do it well. Being a software developer requires many hours of sitting in front of a computer, if that doesn’t appeal to you then you should likely consider a different career path. Becoming a software developer is not easy, and guaranteed that you’ll get frustrated along the way. However, it is absolutely doable and many people successfully transition into software development through self- motivation to learn and hard work.
Choosing a language to learn
With well over 300 different programming languages to choose from, you need to initially pick one and stick with it. Your main goal is to learn and understand the fundamentals of programming. Once you have learnt one language, it is not that difficult to transition to a new one. It would be a good idea to choose one of the nine most popular languages as shown below:
Ruby is usually recommended to first time developers as it is open source so there is plenty of access to tools and there is a large community of other developers which can provide support. It is readable and efficient which makes it easier to get comfortable with as opposed to some of the other more complex languages. Once you have a solid foundation of Ruby established it will be easy to branch out into other languages later.
There are numerous ways to learn the ins and outs of a coding language. When trying to learn consider some of the following options:
- Take certification courses
- Online courses
- Get a tutor
- Online Research
These are not the only ways to go about learning and a hybrid approach which incorporates more than one learning platform/method is highly encouraged.
Practice, Practice, Practice
The best way to learn is by doing. It goes without saying that the more you practice, the better you get and the more experience you get, the more you will be able to learn. You need to continually work on your coding skills by practicing whenever you get a chance. If you get stuck along the way there are copious amount of resources, communities and help forums online that you will be able to use. If you have a problem, someone else has likely had the same problem so there is more likely than not a solution online.
In the beginning you can start by doing tutorials and watching videos. As you become more advanced and your coding improves you should start building your own projects. Building your own projects will help you practice your skills and give you something to add to your portfolio.
Tools and Trends
If you have no solid framework to guide you, it can be difficult to stay on top of developments. By its very nature technology is constantly evolving, therefore this makes it a bit difficult to get started. However, do not let this intimidate you and be perseverant if it is your passion. Join an online community, follow the latest blogs and read up on the latest trends and practices, whilst practicing what you have learnt.
Since you are becoming a developer it is important to use tools that professional developers use and become comfortable with them. Down the road, this will make it much easier to transition into a full-time role and join a team. Some common developer tools that you may want to familiarise yourself with are:
- GitHub – a web-based version control repository and Internet hosting service.
- An Editor/text editor – there are plenty out there and you need to find the one that suits you best. Popular ones include Brackets, Sublime Text, Atom, Notepad ++.
An Integrated Development Environment (IDE) – You may need an IDE depending on the technology that you choose to use. If you decide to learn Java then Eclipse or IntelliJ is highly recommended. IDEs give you the ability to efficiently debug and profile your applications
Getting Your First Gig
Once you have sufficient skills it is time to get some work experience. Many jobs require that you have the skills and relevant work experience. A problem loop exists of not being able to get a job because you don’t have the required experience and not being able to get the required experience because you can’t get a job. The key is to be persistent and opt for companies that are willing to allow you to do an internship with them, that way you will be gaining experience and learning.
Applying for an internship whereby you work in an organization, sometimes without pay, in order to gain work experience. If you do a good job at your internship then you also get a good referral to put on your CV and perhaps a permanent job offer.
Freelancing is another option in order to gain experience. If you’ve got the talent and drive, then this could be a great way for you to find a foothold in the industry. The benefits of freelancing are that you can do it remotely and as you build your freelance portfolio you will become more desirable to potential clients. Firstly, start by accepting smaller, less complex projects that you will be able to complete, allow you to gain experience and develop your skills.
There is always room for improvement and you should constantly be trying to expand your skills. Here are just a few things to consider when developing your skills:
- Contribute to open-source projects
- Learn a new programming language
- Learn the most important libraries for your language of choice
- Master the art of debugging
- Don’t be ashamed to admit when you don’t know something, ask for help
- Make mistakes, ask questions, get rapid feedback, get uncomfortable, compare it to what you know and persevere.
- Keeping reading and researching all the time, there is always something new to learn.