Can anyone suggest a roadmap to a front-end dev job?

Hey guys!
As you can see from the title, I’m new to programming, no CS degree. I started taking some courses on Udemy about 1 and a half months ago. Learned the basics of HTML/CSS and now I’m in the process of learning JS.
So, let’s cut to the chase… I have some questions:

  1. I want to break into the front-end development field, and I am aware that I need to code constantly and build some projects if I want to improve.
    But, I was wondering, since I also need to create a backend for my potential projects, wouldn’t I need to learn even more than if I wanted to just study back-end?
    For the record, I wish to learn front-end because employers are less strict when it comes to a CS degree. Also, I want to get a job in Germany, which is often based on certificates…

  2. As I said, I want to become proficient in front-end for now. And so, my other question is: what kind of projects should I build so that I can prove my knowledge in front-end technologies.
    This bugged me since I started learning… how exactly do I create projects that take advantage of technologies like React, if I don’t have a complex enough back-end?

  3. My roadmap is this(this doesn’t include all the other stuff I need to learn, like deployment, version control, etc):

  • Learn CSS/ SASS and HTML
  • Learn JS
  • Build some stuff on your own and search for freelancer jobs
  • Learn React
  • Build some more stuff and search for more freelancer jobs
  • Apply for jobs
    So, the third question: can you find work that strictly focuses on front-end as a freelancer. I was thinking that freelancing is an effective way of building a good portfolio.
  1. What does an employer expect from a junior front-end dev? Should I know HTML, CSS/SASS and JS, and that would be enough? Or do I need to know a framework, like React?

  2. Should I just ditch the whole front-end thing, and focus on learning Node.js and PHP so that I avoid the numerous competition?

And that’s it. Those are my noob questions, for now.

1 Like

Hey, i am no big shot at this yet, i just started learning JS but i have done my research for last couple of months on front-end job and all the necessary stuff i have to go through now…
1.First of all,i am following this roadmap provided by w3 and some front-end dude already working somewhere.

2.I would highly recommend you to tackle it head on but take it slowly and understand the core concepts of each language.

3.JS covers some of the back-end deals and u REALLY don’t have to worry about back-end too much,unless u wanna be a full-stack dev for the time being.

4.About projects- do lotta experiments with whatever you are learning,have fun building sites and build at least one valuable project rather than building tons of projects for your showcase.

Check this out (1)

Then this

Try staying in touch with lot of top notch Web dev youtubers and fellow communities.

Disclaimer:This was absolutely subjective bruh!

Hails!

1 Like

Thanks, greatly appreciate it!

There’s really 1 main dominant front-end technology, React. The two other front-end frameworks are Angular and Vue, however React is the most popular, has the most jobs and is used with a lot of other technologies. (Maybe too many haha). I suggest looking at your job market and picking between the three. Odds are React has the most jobs, but Angular in some places is more popular. There are other frameworks/technologies that might pop up that are older, but these are the main three with React being the front-runner.

You really have a choice, 1. learn some back-end because you want to understand the full stack regardless if you focus on just the front-end or 2. build “workaround” applications using other front-end technologies.

So if you learn some back-end you learn more about the overall context as to what your doing, and gain knowledge that is useful even if you end up specializing in just the front-end. However I wont dive into this route as its highly documented and you probably already know what it entails (learn all the things.

If you want to build your apps using only front-end technologies you could build complex applications using stuff like localStorage and other fancy browser APIs. You wont get any back-end help, IE everything is locally in the browser, but you can still do a lot of interesting and fun things.

Another consideration is you will learn some “back-end” stuff even if you go this route, as if you haven’t noticed React uses tooling that uses nodejs. So even if you try to get away from “back-end” technologies, you will end up using some day to day just thru the tooling.

Most employers want you to be able to do the job at hand as soon as possible, if not basically out of the gate. IE if they are building a React app, you should know how to build a React app from the ground up by yourself. If you can hit and reach this bar without much problems you more or less have what it takes to do the job and thus getting hired is more getting to the interview and being able to sell yourself than a question of skill.

If your scared of competition (as front-end only jobs do have a lot of competition due to the reasons you described) I’d suggest to looking into jobs in your area to figure out what is reasonable to learn and apply for that still is near what you want. For example PHP jobs exist, but you can find multiple developers with 20+ years of PHP experience (!) On the flip side if your in-charge of the back-end of an application, you in a vastly more security inclined environment. One bad line of code can result in massive security issues and risk, so you need to know your stuff in terms of security since the stakes are higher. This doesn’t mean the front-end has no security risk, but there’s always the back-end to help provide extra protection.

Here’s some other resources from freeCodeCamp news feed: https://www.freecodecamp.org/news/how-to-learn-web-dev-in-2021-roadmap/

Here’s last years:

Hey!

Thanks for that. That really helped, truly.

By the way, I know this is off topic, but people around here are really supportive and put in the effort to answer in the best way possible.
And that includes you, of course. Thanks again!

3 Likes

You can just mock everything just using flat text files (normally JSON). Or maybe you can mock using a service like JSONPlaceholder. Or for a fully-functional app a service from a cloud provider, like Firebase.

Um, qualified yes. There are a lot of threads on the forum regarding this, so use the search and have a dig through – there is a lot of good advice. Bear in mind that freelancing is not easy, it involves running a business. And to use an analogy from a recent thread on the forum, would you hire someone who knew how to use a calculator as an accountant? There are many people who want freelance work done, the issue is a. finding that work and b. being able to deliver – both of these things are [very] difficult for a beginner vs. someone with a fair bit of experience and an established network of contacts.

No less competition for jobs there I’m afraid.

You are at a point where you should be learning many different things, specialisation can only really come afterwards once you have enough knowledge to make an informed choice as to what you want to focus on. Go wide at first, so that you can get an understanding of how everything hangs together, then fill in the gaps

Really good advice, appreciate it.
Thanks a bunch!

1 Like

Really great answers so far that I can’t add much value to but this comment really resonates with me as I struggled with the same thing early on:

how exactly do I create projects that take advantage of technologies like React, if I don’t have a complex enough back-end?

Aside from mocking a backend as others have suggested you really want to come up with project ideas that depend on beefy API’s. API’s where you’re not just reading data but can actually create and edit things too.

YouTube, Twitter and GitHub are the first three apps that come to mind which comprehensive API’s but I’m sure there are others.

You can create client applications for any one of these apps and there’s really no limit to how complex you can get. It’s great because all data and user authentication is done through these 3rd parties so you literally don’t need a backend to show off your frontend skills.

And the best part is that this is what your job would be in the wild as a frontend only dev. The backends will be created by other teams, and other than those teams being at the same company as you, working with their API’s isn’t much different from working with GitHub, YouTube or Twitter.

Some ideas:

  1. a tweetdeck clone: https://tweetdeck.twitter.com/
  2. An app that lets you use GitHub as a CMS. It can include a simple markdown editor that allows you to save files to a github repo
    • Bonus if you create a NextJS or Gatsby blog that reads posts from a github repo created from your other app
  3. An analytics dashboard for YouTube channels
1 Like

Those are some awesome ideas. Thanks for clearing that up.

1 Like