Live data from Hacker News

Ask HN: What is “full stack” actually?

news.ycombinator.com

41–50 of 88 posts

Re: Ask HN: What is “full stack” actually?

#41
I define it in practical terms: can you start from scratch and deliver and maintain a product? This is a term that's often used to describe web or mobile development, so in this context I take it as being able to do things like platform setup and maintenance, write a backend, write a front-end, do the design, etc.

This term really caught on with people who develop for the web because there actually is a divide here: some people really prefer the front-end work (JS/HTML/CSS), some people prefer the backend work (sysadmin/app logic/data stores) and some people prefer both.

So basically, if someone says "full stack", they likely mean that you can develop and run the entire product, not just a part of it.

Having said that, I strongly encourage everyone to go deeper. Learn some C. Figure out the difference between a function and a syscall. Understand what the kernel does and how it works (whichever kernel you happen to use). Write a toy libc. Program for a microcontroller (try adding RAM to a microcontroller circuit for added fun). Play some Minecraft. Write a bit of assembly. Create a data store. Develop a JS framework for DOM manipulation. Create a toy programming language. Write a malloc implementation. Write a kernel module (maybe a driver to that microcontroller device you put together). Write a web server. I find that the more of this kind of stuff you do, the more aware you become of what `display: block;` will do and how to structure your code better.

Re: Ask HN: What is “full stack” actually?

#42
post #33
post #17

Earlier quoted context omitted.

You do realize that not all developers work with the web, right? A lot of us actually don't even touch the web all day long, not even for fun.

While true, it's probably safe to assume that in the context of a "full stack" discussion, "developer" can be taken to mean "web developer".

[deleted]

Re: Ask HN: What is “full stack” actually?

#43
I like the "he can make an application on his own" definition, but this masks the juicy part of this question, which is "well, what does that take?" Realize that, these days, you could build an arbitrarily complex program using nothing more than GitHub Pages with a dynamic shared data structure layered on and connected with some javascript, e.g. with Firebase. Personally, I'd consider that to be a kind of a stack.

But yeah, most people don't design software like that yet, so they mean server rendered pages, which means a server container of some sort, an application "middleware" process (something like node or PHP or Java), and a database process, all of which allow the user to, from one perspective, "pan and zoom" across some data corpus, and gives them the right to poke that data corpus at a few points.

Re: Ask HN: What is “full stack” actually?

#44
I think "full stack" is a modern way to say "generalist".

I have considered myself a generalist for some time, since the early 00s. I can handle all of the normal IT work in an office, in a colocation facility, networking, power delivery, cooling, server purchasing / configuration, OS tuning / patching / securing, database design / development / optimization, application architecture / maintenance, and project management.

Typically I work with people at a very early stage and get everything up and going, add in most of the automation layers, and hand over the keys to someone else. Then I do it again on a slightly bigger scale.

Re: Ask HN: What is “full stack” actually?

#46
post #17

In my opinion "full stack" is what all developers actually should be. 15 years ago, it was normal that, as a developer, you know how to administer a server, know how Unix works, know how to setup/debug the database. Maybe know a bit of C. Fast forward to 2015. Lots of developers are purely frontend developers and don't know how to setup a server, or don't know how to administer the database. This is now the norm. The…

You do realize that not all developers work with the web, right? A lot of us actually don't even touch the web all day long, not even for fun.

At the same time, In consider myself a database developer. A software developer that specialized in database driven apps. This used to involve desktop clients ten - 15 years ago. Now its far easier to go with Django and use a web app for the front end. (So I guess I am full stack no).

I would assume that most decent devs no matter what their specialty will be able to get a very basic HTML page working. Or am I making too many assumptions?

Re: Ask HN: What is “full stack” actually?

#47
Full stack software engineer, to me, means knowing the full stack of abstractions from Javascript / Python / Ruby through C to CPU machine code for at least one architecture. Knowing hardware design isn't particularly relevant to software outside knowledge of how cache associativity works, cache hierarchy, CPU interrupts, page faults, that kind of thing - the API at the CPU architecture level. If you're writing device drivers, you've gone beyond full stack software - you've got to know more about specific hardware.

Full stack in practice means knowing where to look on the next layer down when something goes wrong, and having good intuitions about how things behave and how you can expect things to be implemented given what's available.

Full stack web engineer is less about depth of abstractions and more about breadth; knowing the browser, a back end language, a database, and enough about system administration to put it all together.

Re: Ask HN: What is “full stack” actually?

#48
post #38

Earlier quoted context omitted.

Where did the parent mention the web? I happen to agree with them that developers should be able to handle any level of abstraction, at any layer. But this doesn't have to be with web technologies - not all servers are web servers.

The OP said "In my opinion "full stack" is what all developers actually should be." It's not what all developers should be. For a lot of us, it would be a complete waste of time to learn technologies that we do not use, let alone have access to.

You can be full stack with various different stacks. I use LAMP, so I am pretty out of date with any .Net technologies. But I would consider myself full stack to an extent.

Re: Ask HN: What is “full stack” actually?

#50
I once ported Linux & U-boot to a proprietary ASIC, and then set up the rest of the stack, including writing my own "database" as a kernel driver, installing an embedded HTTP server, giving it an HTTP API and AJAX web pages.

Full-stack can mean whatever you want it to mean. Often it just means you're old.

Post reply on HN