Live data from Hacker News

I don't want to be a full-fullstack developer

artur-martsinkovskyi.github.io

31–40 of 88 posts

Re: I don't want to be a full-fullstack developer

#31
post #19
post #16

Earlier quoted context omitted.

The problem that I have seen is most companies don't want to pay a skilled full-stack developer what they are worth. They think $100k is the going rate and unfortunately a lot of junior developers are calling themselves full-stack and jumping at that salary. Then the lines get blurred and the true value of a full-stack developer gets diminished.

I recently was looking for new work. When trying to apply to Developer opportunities, I realized that recruiters largely didn't know what they were talking about. Many times I was told that my Computer Science degree, large school projects, personal projects such as random apps and maintaining an Arch Linux setup, awards such as winning 1st place in a Google Hackathon, several years of student work including iOS deve…

Well, for a company that wants someone to hit the ground running in their chosen stack, your degree is useless as well as your ability to do well in hackathons, and unless they are looking for an iOS developer, so are your iOS skills.

Most jobs don’t need or care that someone can do leetCode or invert a binary tree.

Re: I don't want to be a full-fullstack developer

#32
honestly, I've found the far bigger problem is actually the complete opposite. ymmv.

companies and corporates have direct structural and economic incentives to commoditize work and development.

trying to find work that is intellectually stimulating, ethical, and not already a process flow or a prescribed solution is incredibly difficult, and even when you're notionally hired into such a position, you'll spend most of your life fighting against systems, incentives, training, culture and qualification institutions designed specifically to commoditized and throw up barriers to not thinking like 'pro in a box's. indeed, you might even say that the very notion of 'stack' of particular technologies is itself a materialisation of this concept. I'd love to say I've internalized the model of BA's, DB people, our other weird names for the job people do, but I can't. half of the time they aren't defined and the skills required to do them well are essentially the same. there, I've said it!

there's a real problem in that companies hire saying they want open minded and full stack, but all their behaviors are actually geared to want the opposite.

it's also why I try to do data science and not business or web development. I want open ended questions where things are genuinely not known, not IT specifications and requirements or building to spec. I would think the same drive infects a lot of people who choose the startup route (once you eliminate the tech fetishist fanboy circle-jerkers, if you'll pardon my French)...

Re: I don't want to be a full-fullstack developer

#33
In the context of a large web application what many people describe as back end is hardly such. Typically that stuff is middleware. The actual back end would be things like payment processing, database access, internal services, and so forth. The code sitting on a service that issues server calls and into the business logic that builds anything client facing is middleware. I call that stuff middleware because at a large enough company they would not let anything on a webserver go remotely close to anything storing data for security reasons.

That being said fullstack doesn't actually mean the entire stack as the name would suggest. It really means the front-end plus the middleware, or both ends of HTTP. For developers experienced enough to write on both sides of HTTP it makes sense to tidy that up into a single position to lower labor costs.

Re: I don't want to be a full-fullstack developer

#34

> As years go by the industry is going deeper and deeper down the rabbit hole of developer-focused engineering process and developers go on to combine more and more responsibilities beneath the surface of single cranium. Why do you think developer salaries are so high? As the advancement and sophistication of open-source and SaaS offerings increasingly empowers individual developers to do more for businesses, so do d…

> Why do you think developer salaries are so high?

H1B visa limit?

Re: I don't want to be a full-fullstack developer

#35

> As years go by the industry is going deeper and deeper down the rabbit hole of developer-focused engineering process and developers go on to combine more and more responsibilities beneath the surface of single cranium. Why do you think developer salaries are so high? As the advancement and sophistication of open-source and SaaS offerings increasingly empowers individual developers to do more for businesses, so do d…

> Why do you think developer salaries are so high? H1B visa limit?

Developer salaries are high across the globe (relative to local salaries)

Re: I don't want to be a full-fullstack developer

#36
An early stage startup probably doesn’t have enough money to hire specialists, and doesn’t have the workflow down to make optimal use of them even they could afford someone in every position. At that scale you need one or two people who can do everything - probably they won’t do the best job of everything, but they’ll get your company off the ground.

Once a company starts scaling up they’ll find that they need someone with a deep knowledge of one particular specialism, such as mobile development, or backend, or maybe infrastructure. They’ll pick someone like that up who likely ends up taking ownership of it.

Over time they’ll end up with specialists for everything, but that comes with its own set of problems. At this point probably everyone can do a really good job in isolation, but there’s someone needed to coordinate the work to make sure people aren’t being blocked. That’s when the first dedicated project managers start arriving and getting the team moving in one direction. Probably at this point you’ll also start seeing product managers, because there’s no one around with a unified high level view of what customers need anymore - everyone else is down in the weeds.

At least in my experience scaling a technical team is at least, if not more, complex than scaling the actual product that team is working on. It shouldn’t be underestimated, and you should aim to have someone around who’s done it before and understands when it’s time to stop saying “we should just hire people who can do everything”.

Re: I don't want to be a full-fullstack developer

#37
post #25
post #6

We had this role back in 1997 We called those roles webmasters. It involved everything frontend / backend plus running a server on your bedroom floor that powered a company I'm fine with all of those roles. I've been able to pick them up along the way and others (report writer use to be a separate role). The one role I can't master is designer (not frontend developer). It isn't logical and it can't be learned through…

Have you spent any time trying to learn design? I agree there is some part that is one's own artistic style, but much of design can be viewed and learned systematically - ratios, patterns, color theory, etc

Indeed, I'm not really a designer. But I spent about a year reading Smashing Magazine (https://www.smashingmagazine.com/) regularly a few years ago, and I have the basics down now.

Turns out it's a lot like good code: keep everything consistent (padding, colours, etc) and clear, and simple and it'll ussually look decent.

Re: I don't want to be a full-fullstack developer

#38
> Fullstack is interesting because is seems to be almost unique to the software engineering field. Other fields mostly have more division of labour, you don’t expect the dentist to cure your heart and neurosurgeon to fix your hemorrhoids.

What about GPs?

Just like the medical field, software needs both specialists (to go really deep down the rabbit holes), and generalists (to tie everything together).

Personally I love being a generalist. Sounds like the OP just isn't in quite the role for them.

Re: I don't want to be a full-fullstack developer

#39
If you are doing web dev, it is normal to require a wide set of skills (but not very deep). You are not a researcher or PHD student. Also, you are not working on a pacemaker or anything with life/death consequences, so cutting some corners like merging UI/UX/QA can only be profitable. Communication is faster within a single brain than within 'n' amount of people with slightly different jobs.

Re: I don't want to be a full-fullstack developer

#40

So, it seems like the pendulum is swinging back. I remember companies with more dedicated specialists, and it could be challenging to ship small features due to large coordination efforts. Further, sometimes the work is unbalanced. In my current company, we recently had a backend-dominant release in a way that the frontend team didn't have as much work. That team rolled up its sleeves and dug in to solve problems, ev…

I think the broad historical sweep here is sort of along the lines of:

* From the early microcomputer era onwards, applications development focused on getting developers that knew the base platform or operating system(e.g. if you knew "Win32" dev, that was solid in the mid-90's) - and it was one platform per category of application, and for applications that integrated a database you also had platforms like Foxpro, Access, or Hypercard. Specialization beyond that was typically the domain of big-iron computing, which had an older market and talent pool that was used to a certain model and infrastructure of scaling to solve the data processing needs of the era.

* Increased usage of computer networking pushed all development towards a multi-tier setup(e.g. LAMP stack or the multifarious forms of Java and .Net), meaning that more applications needed "front-end" vs "back-end" division, regardless of their needs. We addressed the problem at a local level by gluing together big-iron concepts and microcomputer concepts to get an awkward-yet-servicable jumble of domain competence, with the Web as the dominant frontend. A very small number of Internet companies pushed the boundaries and set the standards on data processing and frontends, and the market followed in their footsteps and used their leftovers.

* Now that we have built out a lot of leverage towards all the possible speciality roles and computing is firmly in the hands of a few giants that can leverage all of that specialization, commoditization is creeping in and pushing smaller development teams back into more consolidated platforms. "The browser is the OS" is effectively true today, except that it's a terrible OS, scarred by numerous wars to control the platform and enable only specific categories of applications.

What developers are moving towards, but are having trouble reaching because of the sheer number of established layers and protocols and required features, is another Hypercard that consolidates concepts into a single consumable, more uniform package, without requiring you to know all the boundaries and sharp edges that exist when going between the JS type system, the SQL engine, the browser engine, serialization protocols, network conditions and hardware status, etc. This is not a project that can be accomplished by lightly papering over the existing systems with framework glue - it requires attention to detail to clean up and simplify each part of the whole. So it takes time.

But at the same time, I think we're also going to get where we want to go, faster than we think. The introduction of, and adoption of Web Assembly, is a major milestone because it raises the level of local processing and hence local platform consolidation, which in turn limits browser-specific APIs to importance in terms of their core I/O functionality, and not one-off standardized features. New platforms can carve out more and more space from that starting point, ultimately resulting in applications that have replaced the browser with a custom native runtime, but still ship WASM binaries.

Simultaneously, native code development is getting better. The bottom of the stack is getting attention after leaning heavily on the traditional C/Unix model for decades and accumulating features without major revision - Rust and systemd are two healthy(if polarizing) examples.

And at that point, the classical Open Web is dead, but it's due to be replaced in turn with a second coming of specialized, decentralized and federated protocols - new takes on Usenet, IRC, FTP, etc. The wheel will keep turning, though all the formats might churn.

Post reply on HN