Live data from Hacker News

Poll: What does “Full Stack” mean?

news.ycombinator.com

1–10 of 41 posts

Poll: What does “Full Stack” mean?

#1
Apparently (https://news.ycombinator.com/item?id=29806385) there is a great divide in what "Full Stack" really means. Since the dawn of man (the full stack developer = man), "Full Stack" just meant frontend and backend development. But now, there is a group of people who seem to be calling it only "Full Stack" if it also includes a set of feature-complete modules for doing the most common tasks, such as ORMs for interacting with databases, a way of handling caching or even reading/writing to queues.

So what is it, who is right, or is there even more definitions out there?

Once this poll is complete, we can hopefully all agree on a common definition.

Re: Poll: What does “Full Stack” mean?

#3
In my career (over 30 years now), full-stack in the context of web development has always referred to an engineer who could setup the tech stack and application from scratch. They can manage the servers, administer the network (as it relates to permissions for the various web-related processes), implement developer environments, code the back-end, code the front-end, some basic design skills, experience with developing UX, and is deeply familiar with the network protocols being used.

Anyone claiming to be full-stack should be able to handle light dev-ops for a small to medium sized company for at least a few days without breaking things. They should be able to sit in any other generalist coder's chair for a week. They should be able to work closely with a designer to help develop the look and feel of the application and have an understanding of the domain tools and language. They should be able to work closely with a DBA to help develop the best database for the application. They should be able to debug complex app behaviour with their understanding of how the different sections work, even if they don't have explicit knowledge of specific areas of the application.

A full-stack "developer" may only refer to the coding and design+UX portions of that description, but should still be very familiar with how the server software and network works. A single framework may provide a full-stack development solution (RoR, for example), but a full-stack engineer needs to cover a lot more ground than just development.

Re: Poll: What does “Full Stack” mean?

#4

Full stack means they don't want to pay for specialists. So you will now be expected to do three people's jobs: Dev Ops - Backend - Frontend You'll also be implicitly on-call at all times despite that fact never being verbalized.

Yep, this is expected much of the time. Dev-Ops is basically always on-call.

I've stopped marketing myself as full-stack because I don't want to be on call. I can (and will) still do the job if needed, but prefer to specialize in my old age.

Re: Poll: What does “Full Stack” mean?

#5
well, for web it ought to include some knowledge of, and ability to debug, the underlying protocols, HTTP[S], TCP, IPv4/v6. And modern Ethernet switching. On the host side, network sockets and some kernel implementation chops.

At the lower end of the stack, modern processor/memory performance architecture, beginning with a basic understanding of instruction sets. Ability in some hardware design language would be good, tristates, gates, latches and flops.

But that's just my take on the full stack.

Re: Poll: What does “Full Stack” mean?

#6
post #5

well, for web it ought to include some knowledge of, and ability to debug, the underlying protocols, HTTP[S], TCP, IPv4/v6. And modern Ethernet switching. On the host side, network sockets and some kernel implementation chops. At the lower end of the stack, modern processor/memory performance architecture, beginning with a basic understanding of instruction sets. Ability in some hardware design language would be good…

In what context would one realistically be able to debug TCP/IPv4/IPv6? Also in terms of network sockets and kernel implementation you're talking about apples and oranges.

Re: Poll: What does “Full Stack” mean?

#8
post #7

202x - Full Stack Engineer 201x - Web Developer 200x - Webmaster 199x - Guy with a computer That's how I remember it.

^ bingo. This is exactly how it's framed in my mind. Mostly it's the same work (In concept. Though it's infinitely more complicated now), just the verbage has changed.

Re: Poll: What does “Full Stack” mean?

#9
post #6
post #5

well, for web it ought to include some knowledge of, and ability to debug, the underlying protocols, HTTP[S], TCP, IPv4/v6. And modern Ethernet switching. On the host side, network sockets and some kernel implementation chops. At the lower end of the stack, modern processor/memory performance architecture, beginning with a basic understanding of instruction sets. Ability in some hardware design language would be good…

In what context would one realistically be able to debug TCP/IPv4/IPv6? Also in terms of network sockets and kernel implementation you're talking about apples and oranges.

Any context where network things don't work like they should. This would include why your home internet is 'flakey', why your load balancer doesn't quite balance loads, why some database connections are slow but others are fine. You may not need those skill but busting out tcpdump and looking at pcaps in wireshark is part of calling yourself full-stack.

With the cloud it may not matter as much if you've never twiddled SACK settings, but there's a large body of knowledge that is entailed by full-stack that can't be covered in boot camp.

Re: Poll: What does “Full Stack” mean?

#10
Full stack means you are doing the work of several engineers for the price of one. And you'd better have NAND-to-Tetris levels of familiarity with all of the hardware and software running the company's web infrastructure, because if something goes wrong, anywhere on the stack, guess who the Boss will turn to to fix it and staunch the bleeding of revenue.
Post reply on HN