

Ask HN: How would you define a full stack developer? - NikolaTesla

You see it in job posts everywhere: &quot;looking for a full-stack developer, engineer, programmer&quot;.  What exactly does that mean?  And yes, since I&#x27;m asking the question, I must not be one.  Seriously though, how would you define it?
======
maxdemarzi
Previous Discussion =>
[https://news.ycombinator.com/item?id=4860755](https://news.ycombinator.com/item?id=4860755)

If you've ever done a one person start-up... you might be a "full stack
developer".

~~~
NikolaTesla
So true. As often as it's used, I'm not sure that there's a real consensus on
what it means.

------
johnmurch
Someone who can do backend development (node.js, ruby, php, whatever) as well
as front-end development (css/html/javascript/ember/angular/backbone)

~~~
NikolaTesla
Is it enough to know one of for the backend and frontend or do you have to
have a broader list of expertise?

~~~
johnmurch
You should have a broad range, so you can fix css issues, javascript frontend
issues as well as build a new feature that integrates with a database.

As shown above, but basically you can code a web app from start to finish
(e.g. backend code/framework like ruby on rails, frontend like css/html/etc
and integrate some time of database (e.g. MySQL or Mongo).

------
joeldidit
I'm great at backend, frontend, and design, though design is harder for me.
I'm also great at marketing and am often called a liar because of it (my
vision of the future seems so far-fetched that people have problems believing
that I'm very close to making it happen and that with a little help (for now
I'm working on becoming even more self-reliant) it'll all happen).

My training in the CS fundamentals are solid, but I have a Computer
Engineering degree, so there are some gaps (weakness when it comes to graph
theory), but those are made up for by a wide range of experiences in
Electrical Engineering whose applications overlap Software Engineering in a
very real way (if you can see it). For example, I use the Kalman Filter in my
head ALL the time, and it seems like thinking about things as being in a black
box that you feed input and get output is very useful for debugging and
getting started quickly. I naturally like drawing connections between
disparate things, and learning a wide variety of things which can then in turn
be applied to a wide variety of things, so a Computer Engineering degree was
the correct one. I can easily brush up on the gaps, which is what I'm doing
now, and then all that exists is a Computer Scientist with all this extra
knowledge that he's waiting to apply in clever or unique ways.

I not only know backend and frontend, but I'm good at both. Though I'm good,
I'm often unconventional, so those that are sticklers for convention and the
specs won't be able to appreciate the work that I do. I spit in the face of
minutiae like code formatting and spending a lot of time breaking things down
in favor of getting something working, then when it's working to my
satisfaction I can dive into all the details. I would previously get
overwhelmed, because when starting a new project I would see the entire system
and how it all came together and would get stuck on all the details, but after
learning how to wait and how to let things marinate for a while, I see this as
a good thing. I see everything connected together, and design a system that's
holistically sound. And the better I get across the board, the better wired
together the system is.

If you are a backend engineer, then learn javascript and that will get you a
long way toward being a full-stack developer. It seems as though picking up
language is not that difficult for many engineers, so you can just think of
javascript as another language. Then learn HTML and CSS. Even if you don't
become full-stack, it's good to know the other side of the fence, so you have
an idea what's going on. All you have to avoid is to try forcing baby-
understood conventions, as though you know what you're doing, on those front-
end people trying to do something different, or that all of a sudden seem to
not know that much. Things are rarely as simple as these management-fueled
blanket rules (which are often sh*t).

