Before become a full stack developer by learning how to code as a self-taught developer for a year.
I've made many mistakes that now when I look back, I wish I didn't do it. These mistakes costed me my time, mental health and possibly money ( it's a small amount to me but I know there are peoples spent way more than I am ).
These mistakes could possibly block you from become a developer or make you suffer a lot before you can land your first job.
All the things below I about to say is my personal opinion, feel free to skip it but if you can find a small value in this blog, then cheer mate.
When I'm 20. After a few months of learning how to code. I went to apply a few positions, not really a 'few' but many positions that I think I can apply to earn some experience.
Now that's all good. The problem is there are too many skills and I'm being too greedy about this.
I remembered I've learned PHP and React-Native before but now the only skill I actually learn and use from day to day is React.
You may wonder, what's so bad about that ?
The problem is by greed for every dev jobs out there, I'm not focusing on any particular skill. I didn't build out any big and complicated project using that specific language or framework. I'm half-good at everything and because I'm half-good.
The reality that I'm no good. No real strong point and no real focus.
You know the type of person who knows everything but in fact they only know the surface and that's no where match to the level you need to work in real world.
Looking back what I should have done is start by researching about the job market to understand what skill is the most important one for me to land a job as a developer then build out many projects using that one.
Now I know there are peoples reading to this point a be like : "What the hell is this guy is talking about ? Should developer always learn new things as their jobs ? Does this means that you can't apply to any jobs you don't qualify 100% for ?"
If you are thinking like this, you are totally missing the point. The fact that a developer has like 80-90% skill requirements for the job and learn the rest when they are on site is totally different from a guy who are no good and has his skills somewhere at 40-50% thinking that he will be able to win the job over all other 20-30 peoples applying to the same job.
If you apply directly without any helps from your friends, colleges, or even family. Understand that your skills must be at the top and you should have a strong point to sell. Jack of all trades is a joke and most of the times you are being way too confident about knowing anything rather than actually know it and use it professionally.
I have done so many tutorials. Yes that's me. The ugly true starts coming out after a few months of self-learning by watching other peoples code then re-write what they code.
I don't really know how to build things from scratch. That's what I realize. And believe me it's hard truth.
Ever feel likes you want to build out something that's really cool but then you don't know where to start, what technologies to use. How will you structure your databases. How will you build out your backend or frontend.
Yea that feeling. That's when you realize all the time you spent learning how to code. Indeed you learned how to code, but you learn the syntax rather than learn about the system the problem.
This will soon become even a bigger issue if you go work for companies and they start a new fresh project from scratch. Imagine all that pipelines, CI-CD, frontend, backend and so much more. If you just starting out as a junior developer. Well that's okay but one day you will become a mid level or a senior one you will have to do all of that.
So be aware, tutorials are great for learning how to code when you just start. But don't depend on them.
Learn the syntax, learn the fundamentals. Learn the "why". Then move one build your own application using all that technologies. Or you can follow a tutorial to some point. Then stop and keep building it using your own idea and rebuild the structure of the application to fit your needs.
Building many features all alone by yourself is hard. It will take time and will cause you many frustration but it will definitely help you in the long run.
You will have to build stuffs from scratch and that is freaky important. Believe me.
Don't wait for a perfect moment. In fact you will never be perfect. None of us are perfect and even the senior developers are not perfect.
You can't never stop learning something new in this field. As soon as you have the frontend skills : HTML, CSS, JS, a framework. You can start applying immediately.
This will force you to build out a resume. It force you to think about your selling points. It force you to be aware of your current level and try harder to be job-ready.
If you are learning how to code as a hobby. You will never force yourself learning or working on stuffs that's hard and no one hand holding your through it but are required.
Applying jobs early also bring many opportunities that you're not aware of if you are that kind of person who is way too modest and thinking you're no worth.
Personally, Applying for jobs give me the motivation to code every single day. More and more interviews just keep coming and the more I see the more I know that peoples are giving out recognition for my skills. That what keep me coding every single day. Knowing I will eventually break free and land my first job.
The job market is not high demand as you think, believe me. There are many many peoples applying to the same tech position. I've been there I know.
They only short for senior developer that agree to mid level salary. There are no shortage for new peoples. My job I'm working right now has nearly 50 peoples applied to it with degrees and experiences. The only reason I get hired is the attitude : 'All I need is experiences, I will work with minimum pay".
The story that graduates tech earn around 100k is certainly not the case. Positioning yourself to embrace it. You need experience than money. Especially if you're self-taught. Close that expectation now and it will be easier for you land job in the tech industry.
You will eventually get paid a lot but it will not come right out of the door.
So 2 things :
- Applying for jobs early
- Put down your ego and expectation. Your grow in career is the most important thing.
Fourth reason : Spending way too much ( This is not my mistake btw, I'm just putting it here because why not. I saw many peoples have this )
You don't need expensive bootcamp to learn how to code. You may don't even need a 4 years CS degree consider the fact that they don't really teach you about real skills you gonna use date to date as a developer.
There are many coding platform or courses will cost you as much as 15$-20$ that will provide you immense value and knowledge. Me personally, I would recommend people around 5 courses so they can be job-ready after finishing all of those.
Sometime being in debt, working a labour job for 8 hours a day is what stopping you from becoming a developer. No one can really put in the work to become a developer if they never have a chance. I solely believe I'm no special than a guy who work in the supermarket stocking items. If the guy in the supermarket know about this and create enough room to create an escape. He will be able to make it and be way more successful the he could ever imagine.
So believe me, don't create debt learning how to code. Don't push extra pressures on yourself. It won't come fast by any means. Just being patient and it will come. But create too many worries around yourself like debts and etc... You won't be able to make it.
Now I'm not saying that's all you need. You need proofs. Lot of them, things to show to other peoples to convince them you know what you are talking about and why you're good at what you're doing. And that's :
- LinkedIn that record your grow as a developer
- Twitter ? ( I don't really use this )
But Github and Portfolio is a must, I won't say otherwise. I don't believe in story where you get the job from your friends by chance. I just point out if you gonna apply the job directly and compete with everyone else. If you don't have experience and you don't even have portfolio or github. You will lost 99% of the time ( I really want to say 100% but you know nothing is absolute ).
What you really need is time to learn how to code everyday and a dedication that you will never quit even if that's the 400th application you have failed.
One more thing, after you have worked as a developer. You will be self-teaching yourself how to code anyway. There are no bootcamps that will help you. So why don't save yourself a favor and start doing it now to form a habit.
All the things above may be harsh but it's the truth. I wish when I first starting out someone will say all of this to me.
Believe me guys, I'm not trying to be a dick. But I've been there and done that. I worked at McDonald before becoming a developer. I spent so many hours just learning how to code.
Looking back I'm not really regret anything particularly. But if I know these things it maybe easier for me in some ways.
That's it guys. Hope you find some values out of it.