Live data from Hacker News

What is a Full Stack developer? (2012)

laurencegellert.com

11–20 of 124 posts

Re: What is a Full Stack developer? (2012)

#11
post #9

It reminds me of this Blues Brothers quote: Elwood: What kind of music do you usually have here? Claire: Oh, we got both kinds. We got country and western. The tendency of web developers to appropriate well defined terms for their limited little world is a bit unsettling.

I haven't seen the term "full stack developer" used outside of web development at all. Do you have any pointers?

Re: What is a Full Stack developer? (2012)

#12
post #8
post #6

Earlier quoted context omitted.

Just like in the context of HN, "designer" seems to mean "web designer".

I don't think this is a HN-ism. Can you point to a reference to 'full stack developer' anywhere that does not refer to web developer?

I don't claim that "Full stack developer" has been used before.

Re: What is a Full Stack developer? (2012)

#13
post #7

Developer != Web Developer

How would a Full Stack developer look outside the web world?

Like in the web world, full stack would be both frontend and backend. The frontend would be the part that interacts with the user (i.e. WinForms, Cocoa, GTK, etc. depending on your operating system and GUI library) and the backend would be code that interacts with the operating system, makes use of the network, manages the database, computes something interesting, etc.

A simple example would be to take a web project that you just built and bundle the backend and frontend together into an installer, have users download and install it, and only run it locally. If you know a user's platform, you could conceivably replace individual web components with native ones. Upon doing so, you have become a non-web full-stack developer.

Re: What is a Full Stack developer? (2012)

#14
The first few times I heard the term "full stack" developer it meant somebody who could understand what's going on at all levels of the call stack.

That means from the kernel through C libraries, web server / JIT / high-level server langauge, through network layer, through browser implementation, javascript JIT, javascript / CSS / HTML interpretation and layout and so on.

Has this turned into "I can does the servers and the javascripts too" or did I encounter the term out of its original context?

Re: What is a Full Stack developer? (2012)

#15
post #5

Developer != Web Developer

I imagine when he mentioned Full Stack he was implying Web Developer unless the term goes beyond the web.

My intepretation of his definition is for a developer (web or other-wise) to be able to build an entire software mostly by himself, from setting up the server/database/network, designing the data models, implementing the business logic (with frameworks, APIs) and then designing the HTML/CSS/JS UI.

Re: What is a Full Stack developer? (2012)

#16
post #12
post #8

Earlier quoted context omitted.

I don't think this is a HN-ism. Can you point to a reference to 'full stack developer' anywhere that does not refer to web developer?

I don't claim that "Full stack developer" has been used before.

I'm not sure what you're saying. You think this term was made up by HN? Or is brand new? I can find references on the web dating from 2008 without even trying.

Re: What is a Full Stack developer? (2012)

#17
post #7

Earlier quoted context omitted.

How would a Full Stack developer look outside the web world?

Like in the web world, full stack would be both frontend and backend. The frontend would be the part that interacts with the user (i.e. WinForms, Cocoa, GTK, etc. depending on your operating system and GUI library) and the backend would be code that interacts with the operating system, makes use of the network, manages the database, computes something interesting, etc. A simple example would be to take a web project…

In my world (systems development) we have full stack engineers too.

Full stack in my field usually means OS internals, which in itself is reasonably large, usually encompassing kernel structure, driver development, network stack, filesystems and HAL/kernel abstraction layers. Ontop of that it's expected that you know network programming and protocols (TCP, UDP but also stuff like HTTP, AMQP, 0mq etc), databases (including basic understanding of their internals too), also generally stuff like frameworks and APIs that are available.

I know "full stack" developers in the enterprise space too, which again doesn't have much to do with frontend/backend instead just deempasizes importance of kernel knowledge. In it's stead it's expected that they know internals of their VM (JVM or CLR), deep experience and internals of libraries like Hibernate, ASP.NET.

I guess what I am getting at is that the frontend/backend thing is a really web specific thing that though it does exist elsewhere there is much less emphasis is other fields on the actual distinction between the two.

To me being "full stack" only means that your experience encompasses the entire range of layers your project requires.

Re: What is a Full Stack developer? (2012)

#18

Now we are blurring into the line of architect, but that is too much of a hands off role. If an architect is hands off he or she is either a project manager or a business analyst. Consider the definition of architecture - Architecture in the computing world consists of a system’s elements; the relationships between those elements; the attributes of the elements; and the attributes of the relationships. [1] A "full-st…

I think he's referring to an information architect, which could be its own profession, or fall into the role of a PM or UX person. Architect is somewhat of a generic term, but an information architect is an important role in many organizations.

Re: What is a Full Stack developer? (2012)

#19
post #3

This is pretty interesting. I would add mobile development, perhaps to the User Interface layer? I have not worked at Facebook but I seem to remember hearing that the mobile site used to be a feature team on its own, but has now been split out so each regular group is expected to produce a mobile-ready feature. (If anyone knows more about that I'd be interested in hearing more).

I think mobile development can be considered both frontend and backend, depending on the application and the context. At least on iOS, an app is required to have user interaction so there will be a frontend component (if it is possible on other platforms to write code that the user doesn't interact with then there might not be a frontend component.) If the app gathers information from the phone (such as collecting contacts, getting a list of other apps on the phone, etc.) or makes its own network calls then there is also a backend component.

Even if a mobile app has a backend component, if it connects to some server, then in a web context the app as a whole would be considered as frontend. So if you were writing code to gather contacts, you would be working on a backend portion of the frontend.

Post reply on HN