I’ve been building my skills as a front-end dev for a while now. I’m trying to figure out where to go from here in order to land my first professional role. My first thought is to learn back-end with Node.js to become more versatile and marketable. But I’ve also heard companies very rarely hire junior devs to work heavily on back-end. Mostly due to the fact there are far more security concerns and companies aren’t willing to trust junior devs with that.
What do you guys think would give me a better chance at landing my first job? Focus on specializing in front-end or go the jack of all trades route with fullstack?
Even if it is harder to get hired as a backend dev as a beginner (with which I agree), there are huge advantages to learning the basics of backend. You will gain a deeper understanding of what is happening, and you will be able to build much, much, much more interesting sample projects. I think think what FCC offers is a good basic introduction, and you’ll learn a little more as you go.
Even if your shooting for frontend, there are a lot of advantages to learning some backend.
You should learn node.js at the least and be able to write a simple REST API, if you already know js it will probably take a week or couple of weeks to learn that but it will give you a proper understanding of what happens on the backend which is necessary. On the frontend you’re also dealing with data requests so you need to know what’s going on,
Professionally pursuing it depends on whether you want to. Personally I’m a design oriented person, like building user interfaces, and the backend doesn’t really interest me. If you want to pursue backend as your main focus though you shouldn’t let the notion that ‘frontend jobs are easier to get’ determine that, as it’s not really the case.
When starting out, I recommend taking a more generalized approach as it leaves more doors opens and gives you more context to more jobs. This is in comparison than trying to specialize early and miss out on a lot of extra context.
Front-end is usually where there is the easiest hiring process, but having insight into how the back-end works, or other “secondary” domains like database design can only help you understand the entire stack and automatically makes you a better front-end engineer.
Hi @envincebal ! My suggestion would be to build a few fullstack applications and see whether you enjoy both sides of the stack. If you do, then I would suggest looking for a fullstack role. This will give you professional exposure on both sides of the stack. From there, you can decide where you want to focus your expertise on. However, if you very soon realize that one side of the stack is your preference, then I suggest you go for it. I started as a fullstack software engineer and have been able to learn so much about both sides (and still learning). This allowed me to plan and lead large projects early on. I am still a fullstack software engineer, but most of my projects are geared towards front end which is where I ultimately see myself focusing on. Best of luck!
On a less serious note, learning to create and use a backend can also just make your own projects more fun as well. I think it is worth it even just for the expanded possibilities of your own apps. This also leads to learn-by-doing so it’s a win-win.
Create a todo app, start by making it client-side only. Now extend it with localStorage support. Now take that app and create a backend API for it using Express or whatever. Then implement some DB for the data. Now you have a (simple) CRUD app.
Yes, that’s what I’m thinking as well. Would you say an 80/20 ratio of front-end/back-end is a good way to go?
Thank you. I do want to become fullstack eventually. I’m not sure which end I like more yet. This question is more specifically in the context of what will help me be more likely to land my first dev role.
Thank you so much! Would you say focusing on front-end and having a little bit of back-end is a good way to get my foot in the door and then later down the line focus on both equally?
Thank you. I’m playing around with back-end a little bit now. I’m trying to figure out what I like more. I just heard starting out, most companies don’t usually look for much back end when hiring junior devs. But I guess it couldn’t hurt to learn a little back end now.
Yeah that’s good advice, thank you. I’m thinking of doing a CRUD blog app just to test the waters.
Depends when this is. If you mean after you get a job, I’d recommend doing whats needed for work. If you mean before you get a job and want to “focus” then I’d suggest holding off, and focusing on whatever your finding is your current weakness.
Obviously if you like something more then focusing on that would help you become more skilled in areas you like more, and thus help you get a job in that area. If you don’t care too much, then stay as general as possible.
I would just learn what you learn. If you are doing FCC, then just learn what is there. After you get done with that, you will want to keep learning and building more and more complicated things. If you focus on the frontend at that point, that’s find, but you’ll still be needing a backend to make anything interesting - you’ll just pick up what you need to know on the backend as needed.
If I were to sum that up - learn a basic full stack curriculum. Then (if you want) keep purposefully nurturing your frontend knowledge and let your backend knowledge naturally grow as needed to support your frontend work.
That is not the only path. That is just based on what I am inferring about what you are trying to do. There are a lot of other options. Just learn and build things. That is the key. As long as you are not going down some bizarre path (like specializing in a dead/dying technology - you’re not) then all learning is good. There is no perfect path. Just keep learning and building. Try to think up things more interesting things to build to force you to use new libraries. That is a very organic way to learn.
What will you actually be good at? A few months looking at back-end won’t make you a “full stack” dev. And most people get in with one specific set of tools they’re great with. From advice I’ve gotten from pro devs, as well, I would say get to be an EXPERT on front-end before worrying about back-end.
Also, remember, most job ads are wish lists, not requirements.
Since it takes several years of professional experience to become an expert on the frontend, I’d start with a bit of practical knowledge of the backend long before that point. Becoming an expert takes time, and a broader context actually helps you become an expert more easily.
Considering there are dedicated backend developers that aren’t experts at frontend I don’t see how that statement holds much truth. They need to know the parts of the frontend their code interacts with and how it is used but that doesn’t make them experts at frontend.
Learning to be a full-stack developer is hard enough without trying to make yourself an expert at everything (whatever expert means to you). Being a full-stack developer doesn’t mean you work in a vacuum, usually, you have a team and teams will have people that are knowledgeable in different areas. Like tooling, testing, accessibility, design, frontend, backend, security, and whatnot.
In time you might get really good at everything, but stopping your progress by trying to become an expert in one thing before moving on to the next seems like a bad idea. It also implies there is a straight line of connecting knowledge that will lead you through the progression which I don’t think is true.