How to get a start in a software developer job, how to learn and what to know.
Brian Ngamsom
Posted on January 1, 2022
In this blog, I will explain how to get started in a software development job. In this blog, I will be able to write only in terms of my point of view as a front-end web developer so if you found something unsure about what is expecting to learn please DM me.
What to learn?
Well, this is a very broad question to start with. The answer would be millions of things to learn. But what you need to know is that "What is your end goal?" What do you want to do?
Type of software developer jobs
There are many types of software developer jobs from web developer to data science which is also included in the software field. You must be able to answer this question before you even sit down and start to work on something, as the details/knowledge that you need to know will be interestingly different. For example, most data science jobs need a foundation of Python while web development builds on JavaScript. These are two distinct languages that serve different platforms. JavaScript rules the web app, so you can't become a modern front-end developer without a solid foundation of JavaScript. Once you decided what you want to become then you move on with the next step.
Build your foundation
In a modern time where there are many frameworks to choose from when it comes to building a web app. It is also undeniable that you still need a solid foundation of the language itself. React, which is probably the most hype framework at the moment is a JavaScript library, to say this, you can't just jump into React while you lack foundation skills from JavaScript. React got the 'react way' of writing code but at the same time, those syntaxes are still under JavaScript rules. To be honest with you, it is not hard to learn syntaxes, you could catch it pretty quick if you know what you are going to write. For you to write a React 'comfortably', you will need to know JavaScript ES6+ because mostly you will use it all the time in React.
HTML and CSS also play a big part as a front-end developer as you will need to work with the UI all the time. I hate to say this but it doesn't matter how much you hate CSS, you still need to master it because it will be your day to day work skill that you need. In a big project you won't write raw CSS, but sometimes styled-components or some other CSS frameworks. For instance, Chakra UI, Material UI and Semantic UI. All in all, you still need an understanding of how CSS works.
Where to start?
Personally, I'd recommend "Zero To Mastery": https://zerotomastery.io/
Why do I recommend this? This will give you the WHOLE picture of how web development works. You must have an understanding of how everything is put together before you start your journey. I'd recommend skimming through each chapter and course available for you to see which one catch your interest and then start from there. This course also contains a roadmap for which direction you will be going after you finish a certain course so you won't have to waste your time learning the thing that you do not need.
After that, you will get a rough idea of what you want to do. Then you start to dig deep into a specific niche that interested you. As this is a long term journey, you better choose wisely. To put this in a perspective, I spend more than 6 months just with React before I landed my first job as a React developer. This does not include the time I spent with CSS or Javascript. I mean, I still re-visit Javascript docs all the time when I need to write something, it is totally fine to do that.
From this point, I can't give you exactly where to go next. It is up to you which direction you want to go or which topic you still want to improve. And make sure that you don't limit yourself to just one learning medium. I always stick to video-based materials when I first started out but later in my journey, I found out that books and documentation also give me lots of knowledge that video can't give me. So make sure that when you get stuck at some point, allow yourself to switch around.
How much do I actually need to know to get a job?
This is probably one of the most asked questions that I get or see people ask. The answer to this question is "you never know". This might sound random but I meant it. Don't forget that along your journey, it is just you, no one else. The point is you can't evaluate yourself. You can test yourself with some test platform on the internet but that doesn't mean you are not competent. It is hard when you have to answer this question to yourself while you still learning. The downside of being self-taught is there will be no one to tell you that you are ready, go out there and find a job. That doesn't mean people who went to college or university get any advantage over you. They(uni gangs) might think that once they graduate they will be ready for a job(approval). But in the real world, this is unrelated. I saw many people who grads from top tier uni and struggle to find a job, not to mention got rejected many times. So, what is the problem here?
Let me tell you why. You have to understand that skills that are required to work as a software developer and skills that you obtain from uni or college don't necessarily be the same thing. In some cases, it might be different. That is a good thing about being self-taught, you can teach yourself just what you need. Just enough to get a job. Don't get me wrong here, I didn't mean to offend any uni grad that what you learn will be useless. It gives you something with our without your conscious. But I'm trying to talk about those skills that are subjective.
You might get confused at this point that "so what do you mean by skills?" Let me give you a real-world example. Let's say that the company that you want to apply for build a web app for various company. The tech stack they use might be something like this
Front-end: Next.js, React, Redux, Recoil, React-queries
Backend: Laravel / Node
Server/DB: AWS
VCS: Github, Gitlab
The question is when you grad from uni or college do you know any of this?
Don't forget that software technologies move fast. What you think you know today might be useless or not used anymore in the next few months. So as a self-taught you choose what you have to know not someone else tells you what you have to. You cut so much time that you will spend in the uni.
To conclude, be confident in yourself. This is very important as a self-taught because you will be on your own. You need to cheer up yourself, pat yourself at the back and lift yourself. Once you are confident in your skills, start applying for a job. Don't underestimate yourself. You can do much more than you think you can but you just need to be confident.
Posted on January 1, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.