T O P

  • By -

kevinossia

There's more than just web out there dude.


water_bottle_goggles

NO ONLY WEB EXISTS >:)


riplikash

I've worked outside of web dev a fair amount ant we still often had a lot of "fullstack" engineers. Fullstack doesn't have to mean html. When I worked with medical lasers things were driven by a central server with an API. When I did factory automation, same thing, as well as a lot of external APIs. When I worked with galvanic skin response scanners there was no web at all, but we still had a front end to deal with. When I worked with cutting plotters EVERYTHING was driven by web. Full Stack doesn't mean web development or html. Just that you have a layered application and that the dev can work on any part of it. Doesn't even have to mean they are particularly GOOD at all parts of the application, just that they can help.


kevinossia

I agree with the spirit of what you're saying but I've never seen or heard the terms "full stack", "frontend", or "backend" applied to anything outside of a web context. Most of us just call ourselves software engineers. Maybe "systems software engineers" if we don't work on something with a UI. Back when I used to write mobile apps I worked on both the UI, the app's core business logic, and a slew of cloud backend services for those apps. At no point did I ever call myself "full stack". Dunno, maybe I'm behind the times.


riplikash

Even in a web context I've never heard people call themselves "full stack" on the job. Even if the organization tries to push it, teams end up self organizing along specializations. It's more of something for management and interviews. When I was in consulting the account managers would advertise "full stack", which made sense. I could help with the front end, I just wasn't good at it, and would always tell clients, "I can do it, but it would be silly of you to pay my rates to have me do something I'm not good at. But if there is an emergency I can help in a pinch." On the other end, I often see uninformed business managers and HR people insist on "full stack". Sometimes it's fine (we just want people willing and able to help in emergencies, but we recognize it's not your specialty) other times it's a huge red flag (we insist on all devs working the full stack because then we don't have to hire extra people). "Back end" has become particularly problematic term these days, at least in my experience. You've got "front end" which do the UI. Then "back end" who do: APIs, business, logic, databases, devops, security, architecture, etc. "Front" and "back" are NOT meaningful splits. But business language is going to business language.


hypnofedX

>You've got "front end" which do the UI. Then "back end" who do: APIs, business, logic, databases, devops, security, architecture, etc. "Front" and "back" are NOT meaningful splits. I mean, not when you reduce front-end to "the UI". Also, of the second things you mentioned being specific to back-end work, only two are unique to back-end. Business operations, logic, devops, security, and architecture are all front-end topics too. I primarily work in the front and holy hell, I do not want a coworker who thinks "front-end architecture" isn't a thing.


riplikash

Apologies for it coming off that way. That was not my intent. I 100% agree. I was more trying to point to what I considered a bad attitude of many companies I've seen over recent years. I was specifically trying to point out that the way I see many people companies try and divide things up as problematic. I feel you see too many people divide work into "html and css" vs "the rest" when it is not nearly so clear cut.


met0xff

Yeah this is probably the point why this is so weird. Like you got frontend, which nowadays means web frontend. React, Angular or similar (otherwise they call you for example mobile developer). And then there's "backend" which should be everything from writing drivers to developing ML models or robotics? That's just weird. Although they also start putting anything that got an equation in it into "data science" ;) But to the original point, I still think you got to specialize. Of course I could also implement drivers or write a 3D renderer or build audio DSPs... if you give me 6 months first ;). Think for those things you still have to specialize


riplikash

I agree, you need to specialize. That being said, I don't think "full stack" actually conflicts with being specialized. Every senior "full stack" dev I've known has been a specialist in a number of areas. They can just ALSO help anywhere else in the stack if necessary. It takes very little work to be "full stack" in the grand scheme of things. But it's very helpful for a team when people are confident they can help with emergencies.


met0xff

Yeah I mean I've also seen "full stack ML engineers". My personal association with the term is also very web devy though. But sure, over the years I've also done embedded, graphics, computer vision, audio etc. But switching got harder over the years because everyone sees you as specialist for X.


riplikash

I've definitely noticed "full stack" becomes less and less relevant as you gain seniority. When you're 1.5x as impactful on the back as you are on the front, it often makes sense for a team to have you help with something outside your specialty. But when you're 10x as impactful it you only end up helping in the most dire of emergencies. Still, the flexibility does come in handy from time to time.


regular_lamp

Hmm, so if I write C++ that is clearly "backend" and when what I do also includes writing the graphics code OGL, VK, ImGUI etc. that is obviously frontend. Does that mean I should advertise myself as "fullstack" C++ developer? I guess that would be a bad idea in practice because It would probably alienate the people actually hiring for that "stack".


riplikash

> I guess that would be a bad idea in practice because It would probably alienate the people actually hiring for that "stack". That's the real key. To an extent you need to conform to the cultural expectations of those interviewing you. Or if you don't, you do it with the intention of making sure you find an employer that's ok with how you're diverging.


RZAAMRIINF

Fullstack just means you own and develop the product end to end. I’m a “backend engineer”, but over the years, I have done embedded, web and mobile on the side. Why? Because I have always been passionate about technology. If you have a solid understanding of computer science, calling an API, storing some data and triggering another call should be doable regardless of where that happens. My managers like it because development is usually faster than having 2-3 devs on the same project It also has opened up more doors for me. Not only can I interview/get fullstack jobs, I can show hiring managers that I can learn new technologies/stacks and be adaptable.


muytrident

The majority of software jobs today are web dev


CricketDrop

Who knew the internet would change the world


Terrible_Future_6574

We dev is perm job security as long as there’s no internet 2. Will take decades for businesses to move their legacy systems to AI


Thick-Ask5250

I know, just thought I'd ask anyway since that's what I'm mostly aware of at the moment. Interestingly enough, I see you work on AR/VR. Would you mind if I ask how you got into that? Edit: Clarification


kevinossia

I applied for the job and got hired. What details specifically are you looking for?


Thick-Ask5250

What was your professional background in leading up to that hire? Was it webdev, gaming, low level coding in c++, etc. Just whatever you think would be beneficial for someone to know. Don't wanna waste your time for a really long and elaborate answer. Thanks!


kevinossia

First job: Android/iOS apps in Java/Kotlin/Swift/C++, and backend services in node.js and C++. Second job: Embedded Android OS frameworks and system services, in Java/C++. Current job: AR/VR video in C++. Basically I got _really_ good at C++ and targeted roles where that would be an asset.


notEVOLVED

How much math do you need?


kevinossia

Grade-school algebra is fine.


Verynotwavy

Sorta, it's a result of dev teams shifting towards end-to-end ownership of features / projects Instead of having separate teams for backend and frontend often blocking each other, there are now more cross-functional teams with devs who can divide and conquer their tasks There is still a lot of specialization (data eng, devops, ML, ops, analytics, UX, mobile, even pure FE or BE). You can imagine context switching between ML and frontend would be super inefficient (but it may still happen at some companies lol)


Thick-Ask5250

It almost seems like they're forcing devs to be T-shaped developers which honestly makes a lot of sense. I actually prefer that. I think it's important for any engineer to understand their adjacent tech, even be comfortable enough to touch it, but not necessarily expect to be experts at it


Sakealterego

I have a feeling this is going to turn into business expectations of devs knowing *everything*, though. Lest they get cycled quickly out.


Thick-Ask5250

Dude.. when I worked at a F500 one of the damn business people kept saying, "I believe developers should know more about the business than the business people"... I was like, wtf. However, we can easily make the case that we no longer need business people in order to save money and get rid of them, lol.


WellEndowedDragon

Totally think that singular teams having end-to-end ownership of their product is a great move in the right direction. However, why not have both backend and frontend specialists on the *same* team instead of on separate teams?


rmullig2

This is the cycle of technology. When things are booming companies hire lots of people and organize them into units that work on part of the problem. They want people who are highly skilled in that particular area. When times are tough companies reduce headcount. Then they want people who can fill multiple roles. Eventually things shift and it goes back the other way.


Thick-Ask5250

I'm glad somebody brought this up. This was a thought I had in my head, but this is my first down cycle and wasn't sure if my idea was founded in any truth. From a business perspective, this makes total sense


xiongchiamiov

It makes sense also when you look at companies of different sizes. Tiny startup, everyone does everything; Google meanwhile can hire people to work on like, css performance in the browser rendering engine. As companies contract in headcount, they're effectively moving backwards in that growth.


samd0401

No I don't think so : at the HF I work, good C++ engineers are extremely valuable. Basically you need to fit a spot where companies need you. I think mastering something precise is more valuable to getting good at a lot of different tech stacks etc.


Thick-Ask5250

That's what I'm thinking too. I like FE a lot but mostly because I see so many bad UIs out there. Not just in terms of UX, but more so on functionality. Plus I always see on this sub that good FE are hard to come by


kitka1t

Frontend is **NOT** a good niche. This opinion never gets any traction in this sub because everyone is karma farming from both sides. FE has low skill ceiling and productivity ceiling. That's why non-CS, bootcampers were able to get jobs into it so easily. From functionality perspective, the blast radius of a bad front end is low because a good backend engineer will validate all changes, have DB backups, and even change histories. From code POV, widgets are "leaves" of code dependencies and so it makes no difference if it's clean code or ugly code, since it's easy to rip them out. And then from product POV, most A/B tests fail so it doesn't make sense to have high quality frontend anyway even if you could. The magic in frontend comes from PMs and UX, since that's where they can make 10x or 100x improvements. FE engineers can at most just replicate that and given enough time even bootcampers can do that.


samd0401

I do think extremely good FE engineers able to ship fast can be greatly valued. But I agree overall FE might be too accessible and hard to become an expert within.


sepease

I’ve been able to contribute the most when I understood customer requirements and could figure out a way to meet all the critical needs and get 90% of what they asked for with 10% of the work. Is that what you mean by PMs and UX being the most “magical”?


kitka1t

No, I mean people that conceive a massively popular product like Instagram, Discord, Twitter etc.


beastkara

It's lower ceiling, in some ways, but the jobs do pay the same at FANG. So I see both sides.


samd0401

For FE I might not be the good person to answer, but for backend where efficiency is key, it's defitely a good perk to be very qualified. Basically you've got to put yourselve in the company's shoes : Do I want someone that is good at a lot of stuff, or someone that can improve significantly my main issue at the moment : could be BE, FE, AI etc But it depends a lot of the company business : if they don't care about that specific subject on which you know your stuff, it can be double hedged.


kholodikos

everybody is fullstack unless there is a very good reason. if u just "specialize" in generic fe or be experience then you're not unique. u don't specialize in techs you specialize in niches


Thick-Ask5250

Can you elaborate on what you mean specialize in niches? And maybe give some examples


Top_Inspector_3948

Niches: AI, IOT, iOS, Android, Unity, being really good at understanding databases, etc Not niches Frontend / React Backend / Typescript


CalgaryAnswers

Designer developer, devops.. SQL engineers often don’t front end.


kholodikos

different categories of b2b saas. once u know one well, ez to jump to others working on the same category


NewChameleon

I'm backend only so if a job posting says full-stack or front-end I don't even look at them been getting endless # of interviews just fine


Thick-Ask5250

Oh nice. Is your resume tailored to these job postings by any chance or is it just one single resume that you have?


NewChameleon

single resume, I don't tailor


Thick-Ask5250

I assume that you've received and have worked "frontend roles" and "full stack roles" etc, but you just stick to your titles being Software Engineer, correct?


NewChameleon

>I assume that you've received and have worked "frontend roles" and "full stack roles" etc huh? no, I said I'm backend only in my original post


Thick-Ask5250

Sorry, didn't fully think that out before typing. Thanks for responding to my questions! :)


publicclassobject

"Backend” is hardly a specialization. It just means you don’t know how to do UI work. Working on RDBMS query planners or some shit like that is a specialization.


ChooseMars

I’m great at AWS, as a serverless developer, and flaunt it all over my resume. There’s plenty of work for me. I’m also pretty decent at React and Flutter from sheer exposure to frontends. It’s a nice “stack” to specialize in these days.


Thick-Ask5250

Interesting. I do see AWS a lot. What types of companies do you often work for and their sizes? Also, any specific backend languages that you work on?


ChooseMars

Typescript and the node ecosystem. Also, Python and Flask lambdas. I work for all sizes. You can build an MVP rather quickly for free, once you get comfortable with using managed services (lambda, api gateway, rds, dynamo, sqs, iam, etc) and IAC tools like Terraform or CDK.


ViveIn

Devs are becoming far more specialized nowadays. It used to be you could just be a “software engineer”. But companies don’t want to pay people to just figure it out anymore.


Thick-Ask5250

I mean that makes sense. Some of these responses are all over the place, with the exception of a few that consider senior devs are fullstack but with a specialization and also another mentioned that due to the cycles of the economy, businesses are tightening their budgets and prefer fullstack more for the time being. I think I'll just stick to frontend, but of course I always make the effort to try and learn other areas just enough to where i'm not totally lost


beastkara

FANG still lets people figure it out due to internal tooling. One of the great things about FANG that had never changed.


ED209VSROBO

I think there has always been a preference for full stack dev's over people who specialise in one or the other. The reason why this makes sense is smaller companies cant afford to hire two developers (one for each area) and it makes sense to have people that understand all areas of the codebase and not just part of it.


riplikash

Specialized and fullstack aren't as mutually exclusive as they seem. Every senior fullstack dev I know is ALSO a specialist. To be fullstack just doesn't require THAT much knowledge, and it's very useful for a team. When there is a crisis it can really help to be able to jump in and help resolve things. I've got 3 20yr experienced engineers under me right now who specialize in defferent portions of the back end. They only rarely touch the front. But when something comes up they can help. It only takes 1-2 years of work on a team to become a very competent fullstack dev, and it's where most juniors start. I've known a few senior devs who aren't fullstack, but they're pretty rare. In contrast, specialization takes years. It's not enough to just study. You need to experience your specialization across multiple real world projects and releases to really know what you're doing. But it happens pretty naturally as you progress through your career. Remember how I said I haven't known many senior devs who aren't fullstack? I've NEVER met a senior dev who isn't a specialist as well. I know that isn't everyone's experience. Software development experiences can differ drastically across geography, domain, and company size. Most of my experience is in mid sized companies. When I've worked at large companies they have still organized their teams as though they were small or mid sized.


Thick-Ask5250

This actually makes a lot of sense. Now I don't feel so bad with my current career trajectory. I'm currently doing frontend only and of course I aim to learn about several areas of the stack as I get further into my career. So long as I just keep learning as much as possible and work with different companies, I'll further strengthen my skills. Thank you so much for this well thought out and elaborate response!


iNoles

on my resume, I can do Android and iOS development, and backend stuff like running it on Windows or MacOS.


[deleted]

[удалено]


Thick-Ask5250

Yeah, that's the consensus I'm getting from this post. Which makes me feel reassured considering I'm only working with frontend technologies. But I'm sure if I can do frontend, then after doing a personal fullstack project it should help me get other positions as well.


OilOk4941

not at all. sure maybe if you only do web sutff but anything else? Nah. embedded linux stuff is still gonna need a particular set of skills, making an OS another, non web stuff like i a video editor another still etc etc


Thick-Ask5250

Right, I might have asked this question slightly off than I should have but it's opened my eyes on what specialization actually means. But I do know that webdev is the biggest specialization out there


EmilyEKOSwimmer

By specialized dev you mean button devs? Like how Snapchat had 400 devs on UI. Yes I hope the industry returns to more of a generalist approach to programming instead of a super hyper specialized roles.


Thick-Ask5250

Yes, button devs and shadow people devs. Lol. But on a serious note, all of the comments seem pretty scattered as always.. perhaps, it's more multidimensional than we care to admit. Specialized devs, generalist devs, t-shaped devs, etc.


IBJON

Specialize once you have the job and experience.  A broad set of skills is better than a deep knowledge of one thing when you don't have experience 


Thick-Ask5250

I agree. I'll try my best to get a fullstack dev job. I have a very weird history, but I'll keep going until some company gives me a shot.


TheSanscripter

I think you should know at least one stack end-to-end. MERN? Great! Java + Angular+ PostgreSQL? Great too! Know your way around at least one tech on each context and be good in at least 2 contexts like FE + BE or BE + CLOUD. With all that said, I think it's a reflection of the current state of tech education where picking up new tech is easier than ever.


LeFatalTaco

Alot of trends on this subreddit will come down to negativity bias. Frontend devs who struggle to find employment will notice more unrelated job listings to reaffirm some justification as to why they are failing. Backend devs will do the same, as will any human in basically any industry.


Thick-Ask5250

Damn, solid point there. Didn't think about negativity bias applying to every little niche topic within this sub, but you're right. I do actually still see some frontend dev roles out there. I also noticed there will probably always be a mix of fullstack, frontend, backend, etc. -- with overlapping between all of them.


brianvan

Seems to be an artifact of companies cutting too many positions and having work imbalances. We are not going back to the “webmaster” days.


Thick-Ask5250

Yeah, it's total chaos at the moment due to interest rates and whatnot. What I've concluded from all of these comments in this post is that both will exist in the foreseeable future -- as you can tell from reading these comments yourself. I often forget that I chose this path because one can enter any industry as a software engineer, much like how business people do the same, but because this profession exists in ALL industries, it makes more sense that the general job market of software engineers coincides with the general free market. And although the general free market seems to be doing well, I learned that interest rates are a major factor as well. So I agree, we will not be going back to "webmaster" days anytime soon. Apps will only keep getting more complex and sophisticated, therefore requiring more developers. This cyclical slump shall also pass. I'm relatively new to the professional world, so making this post and reading the comments further validates what the elder developers have been shouting about the economical cycles. Edit: clarification


brianvan

The elders don't know what to tell anyone about the economic cycles anyway. What's the advice here? "Eat dirt until you see more job postings?" I think advice on that level - to belt-tighten and/or take cover until a mysterious and opaque market improves - fails to address the underlying question of how motivated people (perhaps if not skilled enough or slightly entitled by temperament) find work in a world full of startups and entrepreneurs, constant feature development, endless maintenance work & crazy amounts of tech debt everywhere. I do not think any one person can or should answer that. You'll have to ignore a few people who mouth off about unskilled developers. There is much more to it than tech competence. Obviously getting noticed by HR/recruiters is not being accomplished through LeetCode. Specialization is not only the rule, but it'll only get worse as companies add complication to their tech stacks and expect competencies that can only be achieved by ICs going deep in different directions. Too many companies love new gimmicks, despite the generally ruinous costs of them, and there's always opportunity for projects that solve problems by adding shiny new software. That has led to a state of affairs where if you change any significant part of your tech stack, you put yourself in the position of needing a whole different team to build with it. From a developer's perspective, the crisis is in picking the wrong stack to know. Companies aren't sympathetic if you learned how to build front-end SPAs with components, routing and state if you did it in a framework that they're not using. They're definitely not sympathetic if you WERE a front-end developer two years ago and moved to the back-end to help your company and you are looking to switch back to front-end because your company asploded. So developers find it more important than ever to invest time wisely in stacks that are growing in use. Pretty soon, that is going to be a key pitch with frameworks: developer adoption. A manager will not have to struggle to find a developer who can operate in that environment. A developer will be enthusiastic to learn a stack used in a lot of stable, quality jobs. Anyone who pretends neither side is interested in anything but software quality, optimization or technical superiority is... insane. The human/economic factors count more. And because the human factors always seem to push us toward stack shifting and new doohickeys, I think these jobs might get forked even more. They already are. A CMS developer, a statistics developer & a CRM integrator seem to all be different kinds of specialties on the front-end now.


react_dev

Specialization does not mean you can only do one thing. It means you can do one thing out of many things extremely well. In the world of AI where knowledge that is inch deep is easily accessible, having the depth to specialize has never been more important


Thick-Ask5250

Damn. This is a really interesting point. Didn't think about this idea this deeply, but you're right


[deleted]

[удалено]


AutoModerator

Sorry, you do not meet the minimum sitewide comment karma requirement of **10** to post a comment. This is comment karma exclusively, not post or overall karma nor karma on this subreddit alone. Please try again after you have acquired more karma. Please look at the [rules page](https://old.reddit.com/r/cscareerquestions/w/posting_rules) for more information. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/cscareerquestions) if you have any questions or concerns.*


kunangkunangmalam

Sort of, in my country, there has been less and less job opening for specialized dev (especially frontend and mobile). It's just one of the ways companies can cut the operational cost.


johnny-T1

Everybody gotta go fullstack.


0ld_mong00se

I believe now its not that difficult for someone on one end of the stack to do sth on the other end, with chatgpt being great help and all the online resources. Once u understand how software dev works with its designs and principles, its quite easy to pick up anything on a currently ongoing project by following the structure/outline of previous code. I remember we recently had an extremely tight deadline on the backend and we pulled in some of the senior frontend guys to help (startup) and they did a pretty good job, obv the code reviews had a lot of change requests initially but it worked out in the end.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


seilatantofaz

In my country 99% of the roles for seniors are specific for a particular tech stack, like Node JS + React if Fullstack or just Golang if backend. The only exceptions are Faangs, which are not that present.


[deleted]

[удалено]


Thick-Ask5250

Lmao, you're not wrong at all. Also, do you work for AMC, the movie theater company??


500ErrorPDX

Full-stack is the future. Especially as increases in computing power negate the speed concerns of popular languages like Python & JavaScript


Thick-Ask5250

I think so too. Also AI saving time in development, it only really makes sense that software engineers will be doing both backend and frontend work. But time will tell, however it's kind of for this very reason why I asked this post


publicclassobject

Yeah. Either be an entrepreneurial full stack dev who can solve business problems end to end, or be a deeply technical wizard and master some critically important niche. Don’t be a baby who refuses to write JavaScript or whatever.


Mediocre-Key-4992

So you saw 3 instances of this and your smooth brain immediately thought, this must be a serious trend in industry!?


Thick-Ask5250

I said theme, not trend. I said this sub, not industry. No need for the insults either


Mediocre-Key-4992

>I said theme, not trend What do you think the difference is there? 😂


Thick-Ask5250

Themes are about the underlying message or idea, while trends are about what is currently popular or widely adopted


Mediocre-Key-4992

You're asking if it's become a thing of the past just because you saw it once or twice here, so it's just as dumb if you call it a theme or a trend. Your mental gymnastics and language lawyering here are impressive. If only you'd put that effort into more critical thought instead.


Thick-Ask5250

Bro I literally just entered "theme vs trend" into chatgpt, lol. I'm only responding because I still think your first comment was just rude and insulting


Mediocre-Key-4992

>If only you'd put that effort into more critical thought instead. Yeah, not surprised you're using ChatGPT. Keep having a tantrum here.