Live data from Hacker News

Ask HN: What is “full stack” actually?

news.ycombinator.com

61–70 of 88 posts

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

#61
post #52
post #48

Earlier quoted context omitted.

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.

I have no idea how knowing databases or HTML is going to help someone write embedded code for RC controlled drone. And I am mystified by the idea that knowing ARM asm is going to help but a website, MMO, or tax prep software. At best full stack just means knowing one level deeper than necessary.

Obviously it means the stack YOU ARE USING, not all kinds of alternative wild technologies that are out there. If you are using something that depends on a database somewhere in the stack, then knowing how to administer that database is definitely something a 'full stack' developer, in that context, would need to be able to do.

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

#62
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".

The community needs to stop being so imprecise with language. "Developer" is a broad category, and I shouldn't have to figure out from the context of the discussion what "developer" means. In fact, I often run into discussions where the context isn't there.

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

#63

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…

On big complex projects in "classically-organized" enterprises you can be successful for years without writing any html, js, css, sql or doing any administration at all.

As a backend dev you get your data from web-services which are written by the web-services team (or another company) which in turn receives optimized database queries/procedures from the database team. You pass the data after processing to the template/fronted which is is the domain of the fronted-guys.

Deployment is done by the ops team to servers which are administered by the infrastructure department in the data center.

My first job as junior-developer was in such organization and it is quite enjoyable to have experts for every domain to learn from instead a lot of "Jack of all trades, master of none" people. The other benefit is that you can put all your effort in to mastering your particular domain.

The drawback is obviously that you are isolated in your tier and don`t learn as much as if you would do a project "full stack".

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

#64
post #56

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:…

I echo this sentiment. Full-stack means that you can support all aspects of the stack, and here's the key, that need to be supported by a dedicated person. For example, most people "out source" their network / system administration to a company like Rackspace or Amazon. I would still consider someone utilizing their services to deliver a product "full-stack".

Right. I find this term most useful in terms of building a team. Do you need to hire one person or two to get the job done?

Now, that's not to detract in any way from people who specialize. A good front-end developer with design skills can often get the job done faster and simpler. A good backend specialist can get performance under control sooner.

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

#65

A full stack developer starts out as a kid that is too poor to pay someone else to do the parts of an application they don't understand. So they learn databases, linux, Photoshop (wait, if poor; then GIMP), Javascript, PHRUBYPY, and $100 of free adwords credits. These poor, full-stack developers try writing their own legal terms, finding the best examples of good UI to copy, and setting up social media accounts for t…

I just had to:

https://www.google.com/webhp?q=getting%20started%20PHRUBYPY

appearantly Google thinks it's Rails :)

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

#66

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:…

Thank you. I'm sure a lot of people will say you don't really know some of that stuff, and they're kind of right, but it's always helpful to have a buffer of stuff you "kind of know" around the stuff you really know . That way you don't get lost as soon as you hit the boundary. You know which way to turn, how to recognize what's still relevant (to your original problem) vs. what's not, what phrases to search for if y…

And personally I don't. That list of stuff to try, is more of a bucket list, though I have touched some of it and found it thoroughly enjoyable. Currently working on a malloc() implementation.

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

#67

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:…

> "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."

On the face of it, this sounds reasonable but it glosses over the fact that better tooling/frameworks/etc make it much easier to get started. If you use something like Parse/Heroku or their ilk, then you can get away with not having to know much about backend development (or the problems around it). In effect, when you define 'full-stack' as the ability to ship a product, then the 'stack' is actually narrowing over time.

This is just an observation and as I said elsewhere in the thread, I don't find the term particularly useful anyway.

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

#68
post #23
post #12

There's no fixed definition and I've found that people use it when they're asking for 'broad' skills -- where broad is defined by their own experience (cf. most of the other comments here). For example, most web developers would consider front-end and back-end as 'full-stack', whereas an OS/systems person might consider knowledge of hardware up through kernels into the application layer as 'full-stack'. It's about as…

It should really include hardware and electronics down to the transistor level, and higher level skills like UI, architecture, marketing.

it should really go down to quantum physic, thermodynamic and up to philosophy...

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

#69
Being a Full-stack Engineer means you have an understanding and can demonstrate competence at all levels of the stack (database/server administration, backend, frontend, architecture, design, marketing, product/user/business sense, and processing), not just one specific layer. When it comes to web or app development, being full stack means you can set up the web servers and database servers, administer those servers, design the information schema, write backend logic for the application (low-level code, middleware, and AI), write frontend logic, write client-side code, design the application's interface, conduct A/B user testing and get user feedback, optimize for search engines, set up internet marketing campaigns, and piece everything together. Essentially, a Full-stack Engineer can single-handedly create and market an application.

Full stack knowledge is typically needed and appreciated during the early stages of a startup, but larger companies dislike people with such broad-ranging knowledge and do everything to limit them, box them in, and prevent them from being hired. The typical excuse is that it's not possible to have knowledge that broad and still have strong depth of understanding in each area, but this is absolute garbage. Most idiots in middle management don't like Engineers like these because they'll become too dependent on them (middle management is obsessed with being able to see everyone as expendable, something that is not usually the case with a Full-stack Engineer). Also, a legitimate Full-stack Engineer is rare and special (even though 10-15+ years ago it was the norm to be this way), and management doesn't like people that are special.

By the way, while many job postings state they are seeking Full-stack Engineers, the term is usually just an empty buzzword used by management to lure in someone that knows Javascript. They don't believe there is such a thing as a Full-stack Engineer and think anyone claiming themselves to be one is full of it. So, while it's important for many companies (startups, especially) to have people with this skill set, they're still playing the same game of hiring in those that are expendable (no, "specialized"), mediocre (can't handle anyone that's skilled), and compliant (can't handle anyone challenging their authority).

I'm a Full-stack Engineer (if I'm not, then that's where I want to be), so I'll share my skill set as an example of what a Full-stack Engineer would know: - Hardware: VHDL, circuit board design - Backend: Python, Go, Java, Lua, C/C++, PBASIC, SQL - Frontend: Javascript, HTML, CSS - Machine learning knowledge - Able to set up and maintain servers - Can create wireframes and design a user interface - Can set up A/B tests and analyze user feedback - Can create and optimize internet marketing campaigns (most people don't realize this is almost 100% an engineering and optimization problem) - Good business and user sense

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

#70
post #67

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:…

> "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." On the face of it, this sounds reasonable but it glosses over the fact that better tooling/frameworks/etc make it much easier to get started. If you use something like Parse/Heroku or their ilk, then you can get away with not having to know much about backend development (or the pro…

Not only is the stack narrowing, but most people who use the label "full-stack" have fixed the definition of that stack (the set of front-end and back-end components that they have experience with). So the complete definition would be "I'm a full-stack developer".

To say "I'm a full-stack developer" without that context is meaningless and will inevitably be untrue.

Post reply on HN