The software industry is more meritocratic than many other industries. For this reason, if you are good, you can obtain a job and advance in the industry without needing to obtain a degree.
There are three general steps to become a software developer without a degree. The steps are to study particular technologies, test to make sure of competency, and interview to obtain a software development role.
The first step is to learn particular technologies for the type of software development job that you want. For instance, if you want a job as a mobile developer, you would want to take a course about Swift or Java. Swift is the language that you would want to learn for iOS and Java is the language that you would want to learn to develop for Android.
Knowing a little bit about a particular technology probably won’t be enough to obtain a software development job though. You will need to design a degree program for yourself and become as knowledgeable as someone who has obtained a degree. The good news though is there are a great number of courses available at an inexpensive price or for free online.
An important point to note is that learning one language will not be enough to succeed as a software developer. To be a successful developer, you need to learn about data structures and design patterns, algorithms, testing and the software development lifecycle. Learning these aspects of software development will help you to be able to become part of a software development team.
MIT, Stanford and Harvard offer many free courses online that cover the more theoretical and project management aspects of software development. The philosophy behind the programs at MIT, Stanford and Harvard is that if you learn about the theoretical and project management aspects of software development that you will be able to quickly learn the syntax of any programming language.
For practical courses to learn a programming language, Udemy has some excellent courses. Companies like Udemy generally offer more practice of building real apps compared to courses at universities such as Harvard.
Software developers in different companies have different opinions about taking tests and earning certifications online. Some software developers believe that certifications have value, and your earning a certification might help you to obtain a job interview. On the other hand, some software developers do not value certifications. However, to obtain a job as a software developer, you will need to be able to answer questions about programming languages that the certification tests will help you prepare.
There are a variety of online tests available online that you can study to obtain certification. The best online test will depend on if you want to learn C or C++ and what type of software development that you want to pursue. Here are the possible online tests available:
- Certified Professional Programmer in C – CLP
- Programming Language Certified Associate in C – CLA
- Certified Professional Programmer in C++ – CPP
- Certified Associate Programmer in C++ – CPA
Pearson VUE offers the certification tests. These certifications are good for life once you pass. Also, these courses are not too expensive. The course is $147.50 if you take the course at http://cppinstitute.org. The course is free to take.
Microsoft is another company that offers certification that is valued for software development. The name of the certificate is the Microsoft Certified Solutions Developer (MCSD): App Builder. To obtain the certification, you will need to pass multiple examinations. You will need to pass the Microsoft Certified Solutions Associate (MCSA): Web Applications or MCSA: Universal Windows Platform examinations. You will also need to pass one MCSD elective such as 70-357: Developing Mobile Apps, 70-483: Programming in C#, or 70-486: Developing ASP.NET MVC Web Applications. The price of the tests is $165 per exam. After passing C# online test, you will have the knowledge to be a competent Microsoft application developer.
After learning and possibly obtaining some certification, you are ready to try to obtain interviews and start a job. You should try to put together some software examples that you created to show as examples. You should also make sure that you can answer difficult coding questions at an interview.