7 ms·
> I also deeply resent the notion that you have to "choose a path." Yup. Been doing this since 1999. The whole "front end"/"back end" thing is an incredibly u
by peckrob 8y ago
> I also deeply resent the notion that you have to "choose a path."
Yup. Been doing this since 1999.
The whole "front end"/"back end" thing is an incredibly unrealistic and unnecessary division. Real life work is much more complicated and nuanced than that. I don't know of anyone, maybe outside of (as you said) huge companies, who works that way, having "picked a path" and entirely focusing on one side of the stack. Even if you are a "front end" developer, you are going to need at least passing familiarity with the other side, and vice versa.
Right now, I have back end code open in one split, front end JS in another, HTML in another, an ORM model for reference, and Paw with some API calls. All of these things go together, and I would have a hard time understanding any single part without being familiar with the others.
After you've been doing this for a few years you realize that code is code, whether it's running on a server, or in a browser, or on a desktop or mobile device. It's just code. Once you understand how to "think" like a developer (which in my experience is the biggest hurdle people face), the differences between any of them aren't nearly as large as they seem, and almost all of those things in that graphic are just abstractions over code.
- idontgetit12 8y ago>After you've been doing this for a few years you realize that code is code, whether it's running on a server, or in a browser, or on a desktop or mobile device. It's just code. Except, it's not "just code". Front-end/back-end/ops, whatever, all have vastly different contexts. Hence the separate learning paths. You should know all three, but that doesn't mean you have to learn them at the same time or the same pace. You people are taking this chart way too literally.
- jrm2k6 8y agoThis is interesting. The whole having to specialize thing has been scaring me a bit lately as I really do like the fact I can be jumping back and forth between the paths when working. I have been told that I should find something to specialize in as most of the companies require you to be specialized and there is no place for generalists anymore, which sounds weird to me. So are you a specialist in anything? It seems you have close to a 20-years career so I was either lied/misguided or you have expertise in one of those domains?
- peckrob 8y agoI am an avowed generalist, and I will die on that hill. Because being a generalist programmer is the greatest! :) Like I said above, code is code. Code is just syntactic sugar around concepts, and concepts transcend languages and environments. Understand the concepts and you can pretty easily jump around just about any programming environment, from front end to back end to desktop to mobile. It's kinda weird to me how many people think these things are so different when really they're not. Yes, every language will have its quirks and every context will have domain specific knowledge and tooling. But they are more similar than they are different, and once you grok the similarities, the differences become easy to recognize. I've seen so many things (languages, toolkits, environments, etc) come and go over the years that I refuse to be pigeonholed into one specialty because they always change, often without warning. Ask a Flash developer how they feel about that today - in one day (the day the iPhone was released) that whole industry collapsed. The great thing about being a generalist is that you can move on, jump in and do the work that needs to be done, no matter what that work is or where it is. Every so often something genuinely new will come along, that requires some learning and understanding. The container ecosystem are a good fairly recent example of that. But as a generalist, it doesn't look hard or magical to you because it's just something you haven't learned yet. You're prepared for that and you have the understanding to know what you need to know. You also know your limits, and the things that do (or don't) interest you and can adjust the arc of your career appropriately. I routinely work back and forth between front and backend every day. That is a normal day for me, I love it and and I would not change it. Occasionally I'll lend a hand on an iOS app (that we're about to migrate to React Native as it happens) and maintain some internal Mac apps as well as writing my own Mac apps for fun. I've also run a side consulting business for several years to keep my skills fresh where I tackle everything from DevOps/server maintenance/cloud migrations to frontend/backend to desktop and mobile development. Basically whatever itch I'm feeling at the time. Concepts translate pretty easily and, where they are different, as a generalist you accumulate enough experience to know what those differences are. And if companies want to divide their jobs into "front end" and "back end," that's fine, because you have the knowledge to apply for either. :) A lot of people in this thread are really selling themselves short. They know more than they realize and the "other side" of the stack is not some mysterious magic that requires years of intense specialization. It's just programming. Same thing we've all been doing for years. "Specialization is for insects." - Heinlein
- johnmarcus 8y agoBullshit. No way you are telling me backend folks want to spend their day writing front end css code and compiling modejs. Certainly, if and when you are ‘full stack’ you can and may do both.....but that implies both exist to begin with.
- peckrob 8y ago> No way you are telling me backend folks want to spend their day writing front end css code and compiling modejs. I said nothing about want to. Want to and capable of are two different things. If somebody wants to just be a back end dev (or front end, or iOS, or...), by all means, go right ahead. I won't stop them. I don't want to do Android development, but I could if I needed to (after some spin-up time). But I disagree with the idea that they are so wildly divergent that no mere mortal can grasp them. People in this thread are really selling themselves short with their knowledge, which is more transferable than they realize. > Certainly, if and when you are ‘full stack’ you can and may do both.....but that implies both exist to begin with. Not too long ago, both didn't exist and everyone was a web developer. And before that we were just programmers. It's a fairly recent idea.
- chx 8y ago> The whole "front end"/"back end" thing is an incredibly unrealistic and unnecessary division Ever since server side javascript turned serious with node.js and "full stack developer" became a thing I have been stupefied by this. The concerns are almost orthogonal: front end gets some data which needs to be presented in a browser. Chief concerns are proper placement and appearance. Back end needs to persist data and retrieve data at speed. They absolutely have nothing to do with each other. How is this an "unnecessary division"?
- Domenic_S 8y agoGiven the trajectory of front-end frameworks like React, I'm pretty sure front-end and back-end are going to be two very separate tracks about 5 years from now. Front end is just getting too complicated to be a complete expert in while also being an expert in writing microservices too.
- cronix 8y agoYes, the axiom fits pretty nicely here: "Jack of all trades, master of none." It's extremely rare to find someone who is a master of all, can keep on top of current tech (in all domains), etc. Web development is becoming like the medical profession, where every single subfield is specialized. Yes, there are people who can do that, but they are far and few between. Most back end devs are typically not visually creative types like are typically needed for the front end, and vice versa. How many good back end devs are also good graphic artists and at layout (beyond adding a background image to bootstrap)? How many front end devs are good with SQL?
- darpa_escapee 8y agoIf you want an example, search a job listing aggregator for the job titles. I just ran the numbers for my area, and 41% of total software development related job posts are exclusively looking for backend, frontend or mobile engineers.
- hombre_fatal 8y ago> The whole "front end"/"back end" thing is an incredibly unrealistic and unnecessary division. Well, one is client development and the other is server application development. Pretty big differences there even though there may be some overlap, like the server being able to render HTML which is a unique feature of web clients. I'd cluster "web client development" with iOS and Android development, not with server application development. Too many people dump on front-end development without realizing that client development isn't easy on any platform, and they all require credentialization in apis or design patterns with major warts.
- Novashi 8y agoThe division of labor depends on how tickets are split up and that’s an organizational specific thing.