So to all of you who have managed to pass the whole curriculum, or at least make most of the JS parts, and also to those of you who finally managed to get a job - How long did It really take you?
Most of us need some kind of source of living like a full-time or part-time job, some are still students, and even if we had enough money and no other responsibilities. Is it really possible to really learn JS and technologies such as React, Node.js and MongoDB to get a job just in a couple of months?
Personally, I have been always passionate about computers and was dreaming somehow about being able to code, however, I have started quite late in my late 20’s, actually in the summer of 2019. It’s been nearly 3 years so far, and I still struggle with many concepts especially Redux and hooks in React. I have been coding here, on the Odin Project, nearly every day, trying to spend at least 2 hours a day, finished dozens of other shorter tutorials, courses and have listened to hours of podcasts, videos etc. At some point, I have decided to go over basic JS once again, even though I have finished the course as I didn’t feel as if I know how to apply most of the techniques without looking things up on the Internet. Also, I have been applying for jobs since last summertime, and so far I have got something like 100 rejections, and 1 interview for WordPress which indeed is not even a proper coding tool. I even managed to give some JS classes at a local university that I currently work at as an ESL teacher, and meet a lot of people who promised me to give reference and help to find that first job and NOTHING! Have been applying to hundreds of jobs all around Europe without having a chance of having an interview. During the last 3 months, I have started applying for free internships, changed my CV according to guidance, created several Portfolio websites and few projects. And you guessed it, no company even want to interview me, even for an UNPAID intership.
Everything was going quite good so far, but I haven’t expected it to take so long. And even though I have finished many projects, including MERN stack, I cannot say that I can rebuild everything from scratch. Meanwhile, I have spent months on Codewars and HackerRank, trying to solve algorithmic tasks and even managed to get to the top 15 among The Odin Project users, with 4 kyu level.
I still enjoy programming and dedicate nearly every free hour to coding and learning but time is running out and I am not even getting to the interview part. What do I mean by that, is getting out of this “tutorial hell” or let’s say self-learner safe zone and trying to enhance my skills in a real coding company. What am I doing wrong, is it just a matter of being very incompetent and just giving up and coding just for fun, or is it also the case for others?
I am still learning so I can’t answer how long it took me to get a job.
From most stories posted here, the time it took varies from a 1, 1 1/2, 2 years, etc.
But the common thread in all of those success stories is what they did outside of a class.
They built personal projects outside of a class, contributed to open source, attended meetups, etc.
They were involved in the developer community.
The more that you can grow your network and be visible in the community the more opportunities that can come up.
There are plenty of ways to connect with other developers.
(meetups, twitter, discords, forums, chats, conferences, etc)
This might be part of the problem.
How many projects have you built away from a tutorial?
If your portfolio is filled with the typical class projects that everyone has seen before than that could be why you are not getting a lot of responses.
I would suggest posting your resume and portfolio in the forum so people can look at it and give you suggestion on how to improve.
I am not really sure what this means.
Did you follow along a video course and you are not able to rebuild it?
Because as I mentioned earlier, heavy reliance on tutorials could be your downfall.
You are not expected to build everything without looking at documentation or asking for help.
That is healthy and normal.
But if your current method is to run straight to a tutorial every time than that is an issue.
Building your own projects is hard but rewarding because you learn so much in the process.
Thank for the answer, however I see and hear more and more stories even here on FCC about people who managed to change their career within less than a year, from 0 knowledge about coding to learning the full stack and getting a full-time position or even starting a coding company (one of the news on FCC websties). I love those stories, and I am really happy for those people because that really gives us hope. But on the other hand, no matter how hard I try, finish more and more projects, improve them, work on LinkeIn and GitHub profile, read books such as YDJS, Eloquent JS etc etc etc
When it comes to starting a full-stack project on my own from scratch, or getting at least a chance for having any kind of job interview, not even getting the job - things just collapse. Web Dev even though it sound quite simple, isn’t just about HTML, CSS and JS, but also about other vast tools and frameworks which really need a LOT of work and study. How do people manage to get it all within a few months, deploy successfully several projects with testing and get a job, without any background knowledge about programming. I don’t know what about you guys, but as I had zero knowledge about programming it took me a couple of months to kind of understand the OOP and how arrays and objects work in JS. Not to mention learning React.
Thanks, and well in fact I have started learning JS first from building a very simple tool in JS for my students to check their average score. I really do try to build projects outside of the curriculum but it really takes up a lot of time to grasp all of the necessary knowledge about JS or even CSS to make at least beautiful, well structured Front-End pages. When it comes to Backend, it is not that hard to build some simple apps, but when you look at the job ads even for a Junior position the requirements are quite high. Today without knowing quite well at least one frontend framework, chances of getting a job look close to none. For example, think about creating a simple social media app on your own, including writing the whole registration and login logic, adding some categories and storing the data in accordance with the given user. Then bind it with a front-end client in React or Angular, or skip this part and use some views engines such as EJS. After all, deploy it somewhere, and make everything work with possible error prevention in your mind. It’s not impossible, but during my first year, it was impossible.
And BTW I have to add that despite the fact that Documentation is possibly the best choice of learning, it is definitely not the easiest one. Otherwise, why would we have such a great websites like FCC and it’s curriculum? That is why in my opinion, learning from documentation may not be as obvious as it looks like.
TL;DR What I mean by that is coding is great, we have a great community and also it gives all of us a lot of opportunities. HOWEVER, I am starting to feel that the field becomes somehow a Personal Development Scam and that it starts to work a bit like toxic social media. We always talk about how everyone can become in a relatively short time a programmer but in reality, things may look much harsher, and maybe it is also the reason why some people may give up or even get something like Imposter syndrome.
Not really unless your incredible lucky and show a lot of potential.
This is the most concerning aspect. As it seems like your focusing on how much time you spend should mean you find success in your job search. Except that isn’t always the case. Depending on how you spend your time and how far you get with the underlying goals during that time.
So if your overall goal is to get a job in the industry, you should have “shorter term” goals of achieving the knowledge required to get a job in the industry. In that regard if your still struggling with React/Redux after 3 years, and going back to basic JS after all this time, your still on some of your earlier “short term” goals you need to build off of to get to your overall goal. It doesn’t actually matter than you spent 3 years, or 3 months on these shorter term goals, but without getting better footing with these underlying goals, you will have a tough time gaining traction with your overall goal.
So that goes back to “how do I get ‘over the hump’ and achieve my shorter term goals?” I personally think your stuck partially in “tutorial hell”, and have been stuck that way for some time. This is why you specifically mention a number of “shorter tutorial, courses, videos” all of which are some form of “passive learning”. Passive learning is ok in regards to passively getting information, but you will have a tougher time retaining it as you can be literally asleep and still watch as many videos, listen to as many podcasts and tutorials, as such you could spend 10 hours doing all of this and learn 0. I’m not saying that’s what your doing, you could be listening as actively as possible, but it isn’t something to rely too much on when compared to “active learning”.
Passive learning can teach you what there is to learn, but without actively learning the topics, you will forget AND miss out on all the pro-active elements of that task. Something like how to deal with a common bug is something you’ll find by building something, but something tutorials will gloss over. Another way to think of it is, there is only one way taught in a tutorial, but infinite ways to screw it up. Knowing some of those ways to screw it up is what experience is made up of, watching tutorials will keep all of that knowledge away from you. So I’d focus on active learning, it sounds like you have enough of the underlying knowledge together to get going, and you have done it before (MERN project), so I’d stick with it and build on top of it.
Active learning, when it comes to development, its as straight forward as building stuff, running into problems, and solving those problems. You mentioned you built a few projects including a MERN stack project. I suggest you build off of that, or rebuild it while integrating things you want to learn. The goal being you refresh what you should already know, and “build up” the knowledge of things you want to know (Redux for example). Along with building something that should be as professional as possible, you can also promote this during your job search. There’s a difference between “I did 1 MERN project 1 time” and “I build MERN applications all the time”. One shows you can clear a bar, the other shows you can clear it all the time. Plus you can fill your portfolio with more advance projects, which will make you look more professional and give you more experience.
This is where the “I did FCC and got a job in 3 months” is 100% lies or good marketing/clickbait most of the time. There isn’t only 3 months of knowledge you need to build a web developer (or any kind of developer), heck there’s probably a lifetime worth of knowledge to know and more every day! So this means these people have gaps in their knowledge, and either were able to sell themselves well enough, or actually leverage pre-existing knowledge, or just get plain lucky. There are no fast ways to learning this stuff, but there are approaches that make it too slow.
Finally if the job search is just really tough, you can always take a “reverse” approach and look at the jobs that are out there that are available and start learning skills for those jobs, rather than learning a set of technologies and looking for jobs related to what you already learned. If you have the fundamentals down “pivoting” shouldn’t be as hard as starting 100% from scratch. So for example if there are a lot of C# or Java jobs, learning that language’s syntax while still carrying over the fundamentals means you can open more doors to more possible jobs. It will take more time to get used to a different set of technologies, but if you know your fundamentals well enough its vastly easier to pivot like this into a possibly more open job market.
So, get out of tutorial hell, build complex stuff to learn more and show more skills offs, look at the job market and “pivot” to something else are all options you can take. I think the most important thing is whatever you did for 3 years probably isn’t working, so you need to change your approach.
I have yet to say this ever. Software development is hard, the job market is hard, learning this stuff is hard, doing coding for a job is hard and annoying. And yet I do believe anyone can do it, but that doesn’t mean any of it is easy.
FreeCodeCamp historically has a very high drop-out rate, as do most MOOCs, simply because it’s free, there is no price paid if you quit beyond the time you spent.
If you find yourself listening to a lot of people saying “its easy”, or “I did this in 3 months” or other short time spans, you probably fell for good marketing. Who doesn’t want to get their dream job in 3 months? To bad the average job search takes around 2 months, guess you really only have 1 month to learn everything.
Try to avoid comparing your journey to others, focus on your journey and what you need to do to get where you want to go. Don’t worry about other people’s journey’s beyond looking for advice that can help you, but do take everything (including what I’m saying) with a grain of salt as no one is on the same journey as you.
I’m telling you right now this is false. Others in this thread have said this is false. To be hireable, you need equivalent knowledge to someone with a 4 year degree. This can be accomplished in less time than 4 years, but doing it in under a year is extremely unlikely unless you already have a STEM degree.
Once again, thank you all for your time and I appreciate your advice.
I also want to mention that building projects, may quickly end up coding and pasting a code from StackOverflow or even documentation, without further understanding. Last year I have built a full-stack YouTube clone using Node.js, Express, MongoDB, EJS and AWS S3 for uploading the static files. However, when I had to explain how the code works to one of my friends I totally failed, that is why I came back so many times back to the tutorials and brushed up on the JS (and sometimes even CSS) basics.
And yes, like some of you mentioned, it thought me a lot, especially looking for the bugs in the code and solving the problems that were occurring during the deployment and using the service.
Still, when it comes to building something more complex, things may very quickly get out of control. That is why my projects are not very responsive, nor very complex some of them are nearly boring TODO like apps, but at least I try to build them from scratch and understand the basic.
Despite that, maybe it’s because of my current job, I find teaching others very helpful and productive at the same time.
P.S. If someone reading this, feels stuck or in a similar position and would like to collaborate on some project, feel free to PM me.
I think this is a good short term goal. I know a few people who went from 0 development background, to software engineering jobs thru freeCodeCamp, and they all did at least 1 large scale project they could show off that was a lot more than a TODO app.
They purposely put in as much effort, technology, and time into them so they are as professional as possible. They were also able to talk about the details of the project itself, the struggles they faced, and future improvements they would make. They and I believe that those sorts of projects are what got them the job. As it made it clear they had a passion, could learn what they needed, and where able to execute at a professional level. This doesn’t mean these projects were perfect, but they put them above the rest of the competition of who is applying to the point one was specifically told “we picked you because you were the best we could find by a large margin”.
And just to keep with the title of this post, these people applying went from 0 to development job in around a year of extremely hard work, and incredible amounts of failure in terms of their job search. To the point one maxed out on job applications they could send in a month on their online job application platform, which I believe was maxed out at 1-2 thousand (!!!)