Jinman Kim3,900 Points
Front End Developer vs Full Stack Developer
I'm on the fence between being a front end developer and being a full stack developer. My plan was to become a front end developer first which will be faster to be in a working environment and progress onto full stack. Or I could give myself more preparation time and get right into full stack developer. Wondering if anyone has thoughts on this?
Sebastien Mercier1,872 Points
This is a good question. It really depends of what you want to do. If you have good designing skills, choose front-end development but if you prefer to interact with databases, choose the full stack development.
Brendan WhitingFront End Web Development Treehouse Moderator 81,973 Points
Just for my two cents, I went through the Front End Techdegree. But I wish I'd done the Full Stack one. A few reasons:
- I think most front end (HTML, CSS, vanilla JS) can be learned from tutorials. Backend stuff I needed much more mentorship, people to help me along the way with things like setting up a server, database, deploying to the cloud.
- There are simple front end websites and there are complex web apps. A lot of people don't need to hire (many) developers to build their simple website - there are services like SquareSpace. If you want a complex web app (think Gmail, Facebook) you need armies of engineers who use frameworks like React. And to be a React developer, you need to have a handle on node and npm, so you're already partly in a full stack world. Also, these kinds of apps tend to have lots of AJAX calls at various points in time to different services. Some of those might be 3rd party services, but they also might be backend services that your team also works on. It's very useful for the same person to be able to jump back and forth between the front end and back end code. I was working on a feature today where we decided to rename some property for a value we were storing in redux that we get earlier from the server. I could just change it myself in both the front end and backend code. We have 8 engineers on our team and all of us are full stack, and we pair program and rotate through different parts of the code base. We don't work in silos where people are specialists in narrow areas.
- Another thing is that not as much time is spent fiddling with pixels to make UI components look just right as I thought it would be. UI components, or at least CSS, are often shared company wide. We have a UX designer that provides us with mockups, so the design part isn't our responsibility. Even if we have to make something custom for our team, we do that work once upfront and then we don't have to touch it very often. A lot more time is spent on the logic of what data should show up where, how to handle different kinds of errors and complex business logic in both the front and back end.
I work at Home Depot now in the Checkout - Returns department, FYI.
Michael Cook11,226 Points
Hey Jinman, I think the best thing to do is just work through courses and see what gets you excited. In Brendan's role in a large company, he is expected to work in both ends of the web stack. But it depends on where you imagine yourself working, and what really interests you. Do you want to be an engineer working in a large company on large website incorporating ecommerce? Do you imagine yourself working for a marketing agency? Perhaps you imagine yourself being a freelancer, building websites for small to medium sized clients. There are a lot of different environments where web developers work, because the web is everywhere. I think for someone in your position who is still new to all of this, you're going to need to get your feet wet in a number of technologies first before you can really effectively answer the question of which level of the web stack you want to work at.
No. Choose ONE front end or backend. Full stack devs are terrible. EVen the one's that think they are great struggle at one end.
Jinman Kim3,900 Points
Thanks a lot for everyone's input here. As I have experienced the basics of back-end with Microsoft SQL server and ASP.Net, I really agreed with Brendan that it may be much helpful with mentorship on back-end stuff. I am just getting into programming and have a lot to learn and experience. From there, I think Michael really got me when he said I need to get my feet wet in a number of technologies before making decisions. Full stack foundation track seems to be a great place to start for me in that sense and fall deeper into specific category as I go along. Thanks again for everyone's advice and hopefully I can provide some advice for others here anytime soon. Cheers!
Michael Cook11,226 Points
Jinman Kim you will do great. Especially if you already have some programming experience and you know that this is something you want to do. Let us know if a few weeks or months what you've built and what language/framework/technology you decided to make your main focus. stjarnan I agree with you. Treehouse has a really great forum community, pretty much the best I've ever seen. But still, there will be some people who have negative opinions to spread.
He would absolutely be terrible at one end or the other like all full stacks. Here's the thing, there's so many moving parts and so much to learn. In no possible way because of this can a person become an elite level fs dev. You can absolutely become elite level focusing on one end though. But trying to have it all, front, back, ux, ui it isnt going to work no matter how much you fool yourself. You take say a ruby opening. The person who has been laser focused on that over the person jumping around like lazer cat, will smoke that person in talent and be more in demand. Every. Time.
We dont have a dev shortage. We have a shortage of good devs. And the wanting to have it all mentality is part of the reason.
FOCUS and NICHE down. Companies want masters. There's too much between front, back, and ui/ux to be able to master all three.
Nope stjarnan. Im actually trying to help people.