In the past few years, I have received lots of questions about how to become a software developer.
I will write about my personal experience and hope that it could help you too.
I believe there are many ways and strategies to be followed to achieve the final goal, that is to land your first job as a software developer.
I will be discussing here the two following paths, that in my opinion are the most realistic ones.
## College / University Degree
The first one is through the college or university degree and the second one by the less formal and more self-taught way.
The university degree offers you, usually a four years program, where it could be Computer Science or Software Engineering.
On this path, you would learn the primary skills required to become a software engineer, with strong foundations in Computer Science.
They have classes to teach about low-level programming languages like assembly and machine code.
They also would show you everything about compilers and software design.
You would learn programming paradigms, software performance and probably would be exposed from two to three programming languages.
Remember, this path takes about 4 four years to be completed.
So the best advice here is to learn as much as you can and experience everything to be able to choose your specialisation path down in the line.
Examples of specialisations are Web Development, Mobile Development, Machine Learning, etc.
You would be expected to do lots of research and also to present your findings to your peers.
You could program many different applications and maybe even a compiler. You could learn Java, Python, C, C++, and many other programming languages, how amazing is that?
Unfortunately for those that don’t know me, that’s not the path I have done myself.
I came from a sales and 12 years into real state business as background.
I am only telling you all of that because I believe we can do and become everything we want to.
So if you are planning to become a software developer, you can do it too.
At 30 years old, I decided to drop everything and follow my passion that is work and live the tech dream, become a software engineer and work for the tech giants.
I have chosen the self-taught path, the one where you are supposed to figure it out all yourself and work hard between your job and to learn everything you need to make the transition.
Because of my age and circumstances, I couldn’t stop working and get paid to go through four years of education and also couldn’t afford the boot camps alternatives (it can cost you over 5k in UK).
If you, not aware boot camps are specialised schools with curriculum to help you to become a developer from 12 weeks to 6 month time, full time.
Just to state that I am not affiliated with any Coding Bootcamp or coding website
## How have I done it? I remember back in the days when I was googling after information on how to learn programming languages and got many of those popular websites such as CodeAcademy, FreeCodeCamp, Udemy, and many others.
By the time I also have applied for a Udacity course with Google @Scholarship.
I would like to thanks Google by the incredible initiative and support because that course did change my life.
I was working fulltime and studying three to four hours per day, on the Udacity website.
I have done all the free courses, including the front-end program by Google as part of my scholarship.
I was visiting all the meetups groups around me and making new friends, and I also had fantastic support from some Brazilian friends.
Those helped me with motivation and guidance, so I am glad to have those around me.
You can find some meetups groups here Meetup.com.
The process took about eight months, and it changed my life.
Since then I have been working for a few years and have joined amazing companies such as AO.COM and BBC.
I have been working with amazing people, learned lots since that journey, made some good friends and was able to dream even more about my future.
I have done tons of courses around Computer Science foundations on Coursera and I recommend you to do the same.
- Clean code from Uncle Bob
- Clean architecture from Uncle Bob
- Grokking Algorithms
- Head First Design Patterns: A Brain-Friendly Guide
- Test Driven Development: By Example
- Soft Skills: The software developer’s life manual
- Cracking the Coding Interview: 189 Programming Questions and Solutions
That’s why I believe so much in the community, and I want to give back as much as I can.
I started my blog recently as part of my main goal, and I have been producing some youtube content and programming languages lessons.
I hope that this simple blog post can help someone around the world, and if you are reading and belive on that, please share it to help me to accomplish my goal.
- KHAN ACADEMY
- CODE SCHOOL
- THE ODIN PROJECT
More info about Computer Science degree can be found here.