From 0 to first web developer job 👩💻🧑💻

Yesterday, a friend asked me about what do I recommend to do a career change and start in the Software Industry. We debated from Paid Bootcamps in Barcelona, to a self-taught approach.
My suggestion comes with the context of the person with a Physics Degree that wants to do this career change. They have some experience doing programming, but still, I think my proposal can apply to people without programming experience
Focusing on Time to First Job
The best developer experience is production experience.
X: Yes but… what happens if I’m not ready yet?
Aleix: Let me tell you something, you will never be ready. There will be always something that you don’t know.
That’s why I will propose you a set of paths to land the job sooner than later!
Search for the junior jobs near you
In order to decide the path, you will need to do some research in the market. To do so, you can use LinkedIn Job Search to find which Junior positions are open near you.
Here is a list of Job Titles you can use:
Junior Developer
Junior Frontend Developer
Junior Backend Developer
Junior JavaScript Developer
Junior NodeJS Developer
I would say, the results are temporary, but it gives you a sense of the market programming languages. If you find a lot of JavaScript, it’s possible you find a job in JavaScript, the same with other languages like Python, Java, etc.
The important point here is to identify if companies are looking for Frontend or Backend Developers (I will introduce the differences later).
You will see in the job offers different stacks and technologies, I will add what you learn in each step so you know which points you will have.
Learning Path
I marked after each learning phase, you can start applying for a job. I would say that, if you are lucky and you got your first job, then this learning path might not make sense anymore and you should rely on your tech lead for the next steps 😊
FrontEnd Development
You will learn:
JavaScript Programming Language
React. A JavaScript library for building user interfaces
Redux. A Library to manage the frontend application states
Based on this list, you will be able to see how many jobs descriptions you might be able to apply for Junior Frontend Developer.
As a Junior Frontend Developer, you will work on the visual part of Web Development, what happens on the browser-side.
Backend Development
You will learn:
JavaScript Programming Language
ExpressJS as NodeJS Web Framework
MongoDB as Documental DataBase
Mongoose ODM as Object Document Model
RESTful APIs as a method to expose backend to the frontend applications
Based on this list, you will be able to see how many jobs descriptions you might be able to apply for Junior Backend Developer.
As a Junior Backend Developer, you will work on the non-visual part of Web Development, what happens on the server-side.
Git as Version Control Software
Git plays an important role in your career. It’s the backbone of collaboration in the software industry.
Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems
You can see Git as File versioning over time, with multiple people modifying the project files, Git will help you to resolve conflicts and have an history of changes.
Testing
You will learn:
Chai Testing Framework
Test Express Applications
I cannot stress this enough, having a good fundamental on testing will boost your career by a lot.
Testing is a transversal skill, in all the environments you need testing since it ensures that you are doing is the correct thing, and when you change something you don’t break the previous job you did.
By having some basics on testing, when you’re applying for a job, people will see you on the right path of learning!
Make your learning path visible with GitHub
Create an account in GitHub, probably you already did meanwhile learning Git as Version Control Software, and all the material you did publish there with a good README file.
The idea is to show the purpose of the repository plus help the people that are taking a look to know which technologies you used.
And Paid Bootcamps?
I would say, Paid Bootcamps might teach you similar stuff as I described in this post but it has other benefits that you cannot obtain in the approach I shared with you.
They offer you things like:
Collaboration Techniques with other students with tools like Trello
Some Agile/Scrum introduction
A network to apply to companies that are actively looking for trained students
IMHO, the important part of why you pay a Bootcamp is the last point, the network. The companies that run Bootcamps, want to have a high employment rate, so, they will help you to get a job as it’s part of the Bootcamp journey.
Here is a list of bootcamps that I would suggest to you based in Spain
Adalab - Escuela Digital Especializada para Mujeres
In order to choose the Bootcamp, check where their students got hired and the jobs are similar to what you’re looking for.
Recommended Books
I would recommend Eloquent JavaScript as a supporting Book on your learning journey.
It coves a good part of the JavaScript fundamentals and it will push you a little more compared with the Courses I shared in this post. 😊