Why the Full Stack Engineer Is Problematic

Not entirely the topic of the thread, but on a related note, I have long had similar gripes with the roles and responsibilities of developers.

The industry and the expectations placed on 'software engineers' is such that you can spend 10 years on 5 different projects and not be able to call yourself an expert in anything after all is said and done. You are then left vulnerable to technical interviews where the aim is to quiz you on obscure details rather than evaluating you for the job you'll actually be doing, which is a general code monkey.

I don't want to be harsh but the problem isn't with the company, it's with the individual.
Software engineers are lazy, they'll easily get stuck in a rut at work and complain they're not going anywhere.
The onus is on you to become specialized or improve your skills in your own personal time.
Companies may have career/skills development systems in place but otherwise, you gotta put in the time yourself. No one's going to wait for you.

If you know your job isn't going to take you places then take charge of your own destiny and do something about it. I can guarantee that if you have this attitude and push yourself, either you'll get what you want at your current job, or you'll quickly find working for your current employer is a dead end and you'll be jumping ship fast towards someone who deserves your time.

Edit: On the roles/responsibilities, those are just expectations. Nothing stops you from going over and above. Doing so isn't insubordination (contextual though) and shows you're doing what you can to serve the business, which is ultimately what every employee should be doing (and doing so shows you're serious, therefore, you'll be taken seriously). *takes a breath* Apologies if that sounded like a rant.
 
I don't want to be harsh but the problem isn't with the company, it's with the individual.
Software engineers are lazy, they'll easily get stuck in a rut at work and complain they're not going anywhere.
The onus is on you to become specialized or improve your skills in your own personal time.
Companies may have career/skills development systems in place but otherwise, you gotta put in the time yourself. No one's going to wait for you.

If you know your job isn't going to take you places then take charge of your own destiny and do something about it. I can guarantee that if you have this attitude and push yourself, either you'll get what you want at your current job, or you'll quickly find working for your current employer is a dead end and you'll be jumping ship fast towards someone who deserves your time.

Edit: On the roles/responsibilities, those are just expectations. Nothing stops you from going over and above. Doing so isn't insubordination (contextual though) and shows you're doing what you can to serve the business, which is ultimately what every employee should be doing (and doing so shows you're serious, therefore, you'll be taken seriously). *takes a breath* Apologies if that sounded like a rant.
I agree . But after 8-9hours working I want to spend some time chilling with my family. But yes to remain relevant you need to put in extra hours
 
Bunch of Amateurs
I’ve been doing dev for more than 40 years.
But I agree with some people here, having a bit of knowledge about everything is good. I’m pretty damn good at backend (java), front end too with JS and HTML/CSS. Busy teaching myself some React as I was sick of the front end framework i was using. Taken me just over a week from knowing nothing to almost fully converted a JSP application.And I can do DB admin with MySQL and PostgreSQL better than most. Plus I can setup a Linux box with all of this stuff in a way that won’t be hacked easily.

So I guess you can call me a full stack…
 
Bunch of Amateurs
I’ve been doing dev for more than 40 years.
But I agree with some people here, having a bit of knowledge about everything is good. I’m pretty damn good at backend (java), front end too with JS and HTML/CSS. Busy teaching myself some React as I was sick of the front end framework i was using. Taken me just over a week from knowing nothing to almost fully converted a JSP application.And I can do DB admin with MySQL and PostgreSQL better than most. Plus I can setup a Linux box with all of this stuff in a way that won’t be hacked easily.

So I guess you can call me a full stack…
Pragtig.

images
 
The onus is on you to become specialized or improve your skills in your own personal time.
This in a nutshell is exactly what is wrong with that industry. You're expecting people to spend the little time they have available for not working on working.

I agree . But after 8-9hours working I want to spend some time chilling with my family. But yes to remain relevant you need to put in extra hours
But you shouldn't have to do that. Also there is a high probability that whatever you decide to learn you won't really get to use anyway.
 
There's no such thing as a full stack developer. Never has been and never will be.
There actually wasn't anything else before. They call it full stack but back in the day, you were told to develop something and that's what you did, whether it was web, db, service, forms, mobile whatever.

I think fullstack is a throwback to that. I would say my experience is far more in backend services like api, dbs, asynchronous functions and even working a bit in spark/scala for big data but have also done good old asp.net web forms , MVC and horrible JavaScript etc. Lol, I had to brush off my knowledge the other day to help on of our angular devs out.

Times have changed though, very hard to keep up in even one of the modern definitions and that's what the problem is. A full stack dev may be versatile but even they will lean strongly towards a specification more but also have rounder skills. A field specialist is exactly that, they need to be affay with the latest changes in that field and respond back to the rest of the team with direction around it, whether other specialists or a general helping out.
 
It takes years of hard work to become a master of anything, and DevOps skills are no different. Kubernetes, for example, is famous for its complexity and relative ease for junior developers to botch up in unpredictable ways. If you are drinking through the firehose while learning new domain knowledge, you might also be deep into learning a new language like Clojure, utilizing new cloud APIs, applying the Big-O notation to new algorithms, and mastering machine learning and server-less functions. And that just scratches the surface of technology that continues to accelerate and expand. How do you intend to keep up with the growing stack?
Who says you need to use the newest technology on your stack? Seriously, this is technology-enthusiast level of analysis

Who the the hell said that your application absolutely must have microservices and kubernetes?

There are plenty of times when just doing what a beginner would do is perfectly fine. There is a whole list of things here:
  1. Every service should be decomposed into micro-services with sharp boundaries.
    Beginners/Experts: Interfaces are fluid: requirements change, knowledge is gained, and dependencies evolve. Start with a monorepo.
https://matt-rickard.com/bell-curve-ideas/

Picking well documented, battle tested application stacks address pretty much everything that this author raises.
 
Who says you need to use the newest technology on your stack? Seriously, this is technology-enthusiast level of analysis

Who the the hell said that your application absolutely must have microservices and kubernetes?

There are plenty of times when just doing what a beginner would do is perfectly fine. There is a whole list of things here:

https://matt-rickard.com/bell-curve-ideas/

Picking well documented, battle tested application stacks address pretty much everything that this author raises.
Do you know what the price is for failure to modernize? Remember Nokia? And today tech is impacting and changing quicker than ever.
 
Full stack dev is just business thinking they get 2 for the price of 1 but in fact they get a jack of all trades master of none as well as slower dev because now the dev must do all in sequence instead of a backend and frontend dev working simultaneously.

Full stack is a negative in terms of business, unless the business is only able to employ 1 dev.
 
This in a nutshell is exactly what is wrong with that industry. You're expecting people to spend the little time they have available for not working on working.
That is on the individual, isnt it?

If you want to be excellent at something, you put in the effort, it doesn't matter when it is.

If you want to work 9 to 5, then you can do that too
 
Ah lets check that shall we?

For our backend:
https://github.com/django/django
Last commit to the master branch was an hour ago.

For our frontend:
https://github.com/facebook/react
Ah, last commit was 13 hours ago.

Yeah, I am not worried about that, well at least for our web application.

If you arent rewriting your entire product suite using pure Azure Durable Functions you are a noob that knows nothing and will be obsolete in 2 months :p
 
Top
Sign up to the MyBroadband newsletter
X