
Full Stack Developers: Renaissance Men of The 21st Century - BinaryAcid
http://www.singularityhacker.com/post/49855538753/full-stack-developers-renaissance-men-of-the-21st
======
Silhouette
One of these days, the blogging classes will notice that web development is
just another specific application (though obviously now a very popular one) of
much more general fields like software development, graphic design and
typography, HCI, technical management, and so on. So is, say, iOS app
development. It's strange, and I think very unfortunate, that a new generation
is growing up as if these are entire industries in themselves or as if
specialising in the current tools and trends in an even smaller, more
specialised part of web work or mobile app development is somehow all there is
to know or learn from. It means many enthusiastic newcomers aren't benefiting
from the decades of collective experience we've gathered in the wider fields,
and without that wisdom they inevitably repeat many old mistakes that could
have been avoided.

------
ddlatham
Renaissance software creator, perhaps.

A true renaissance man (or woman) is someone proficient in much more diverse
fields.

~~~
jcfrei
I agree, this is a ridiculous overstatement of the importance of software
engineering. A renaissance man equivalent of today would have to be proficient
(at least) in physics, chemistry (and mathematics naturally), (electrical)
engineering, programming and to some extent even law. I don't know anyone who
would fulfill these requirements.

~~~
dllthomas
... you entirely ignore the arts.

------
wbl
He still can't write a compiler, or do anything new with regards to Operating
Systems. Think about the things we read on HN and say "Impressive" to. None of
them are on the list.

~~~
klibertp
Writing a compiler is easy. Optimizing one, not so much, but setting "writing
a compiler" as some kind of difficult thing that requires arcane magic
irritates me.

~~~
rubinelli
Maybe most people's last contact with compilers was that lex/yacc
undergraduate course. That was much harder than it had to be.

~~~
klibertp
My first contact with compiler writing was through a book, I forgot the title,
where the guy explained how to write a compiler for pascal-like language for
some specific, non-x86 processor (I forgot which; I only remember that it
wasn't anything I'd heard of). The book was very amusing and made me realize
how simple the idea of compilers is - I was somewhat proficient with assembly
then and after a few illustrative examples it all "clicked". Needless to say,
the parser was handwritten and expanded when another construct was added to
the language, so it was the simplest and lowest-overhead possible.

Anyway, compilers and interpreters ideas are very simple and powerful and
beautiful because of that. There is no magic, however magical their workings
may seem from the higher level :)

~~~
dmpk2k
Mayhap you refer to Crenshaw's tutorials.

------
ajdecon
_> The renaissance man that emerged in the 13th century was someone who could
“do all things if he will”. The renaissance man of the 21st century is the
developer who’s capable of executing a software project from the bottom up._

Because the only thing anyone ever needs to do in the modern world is develop
_software projects_ , of course.

~~~
EliRivers
A remarkably small subset of software projects, I think you'll find :)

------
zerohp
That list has nothing to do with being a full stack developer. It's a minimum
set of responsibilities for a technical lead on a project.

------
varjag
So basically a Renaissance Man is what we used to call Web Developer back in
the day?

~~~
klibertp
For me "back in the day" was around 2003, but given that my country is "ten
years behind the rest of the world" I guess that your was earlier?

And I agree with you. Entering web development I had to know about: OS
administration, DB managing, backend development (it was PHP then), front-end
development (JS but with good knowledge of HTML/CSS), and on the top of it I
had to know Photoshop basics and sometimes talk with client and users.

But... I can tell you now that I landed a decent job - that was HELL. I would
never, ever go back to how it was then. You know, it's easy to know basics of
DBA, but to be good at it? It's years of experience. The same for PHP and JS,
even CSS is quite a huge and complicated beast - and I won't say a thing about
Photoshop, because I still wake up in the middle of the night, scared to
death, because of it. I had to become good with all these technologies at
once, and that meant compressing years and years and years of learning and
experience into a week. Or maybe a year, but it still was too much.

At the end of it - two years down the road - I was burnt out and uncertain if
I want to work with computers anymore.

I now do almost the same, but without clients and users and with only two or
three areas I want to be good at, leaving the rest to the teammates. It's ok
now and I sometimes wonder what the hell I was thinking years ago. I probably
was just young and stupid.

The funnies thing is that whatever I learned then I already forgot and
whatever I still remember is now outdated and not useful at all. Was I just
wasting my time, trying to be a "Renaissance Man"? I'm still not sure, but
many things seem to suggest that.

------
sigmavirus24
> market the resulting product or service

and

> Understanding what the customer needs

Seem to be intended to go together but are really disjoint. Marketing the
product isn't the same as understanding the needs of the customer. You can do
both but they aren't implicitly the same thing.

Also, I don't quite understand how this is news worthy. It's an interesting
thought, but there's no real discussion about any of this and as others have
noted, there's no mention of Operating Systems or Systems Programming.

------
jerrya
When I go back to the original list
[http://www.laurencegellert.com/2012/08/what-is-a-full-
stack-...](http://www.laurencegellert.com/2012/08/what-is-a-full-stack-
developer/), full stack developer mainly seems to be backend developer +
javascript & knowledge of the browser context.

It does make me think that most people claiming to be full stack developers
are jack of all trades, master of none.

------
taneliv
That barely scratches the surface of being a renaissance man.

To be a renaissance man just of computers, one has to have a clear
understanding of the material, philosophy, money and culture flows; to
experience the plight being imposed on miners in developing countries
exporting rare metals and other materials that are refined and put together by
tireless hands at sweatshops called the assembly line as shiny devices, to
commiserate with the people who design it under the ever changing requirements
and availability and shipping dates, to argue with those who work with the
abstract and absurd fashions and philosophies of programming, to share the
responsibility of the managers for hiring and firing the students and the
family men and friends, and to sweat with the sales people at every step along
the way.

When the renaissance man understands this, not only because of reading about
it, or observing it, but having experienced it all, from the mining of the
elements to the laying of the cables back to the ground, from the fluffy cloud
pictures on the whiteboard to the actual nebulous reality of internet, he
seeks to improve his skill, the living conditions of his family and neighbour,
and the economy of his current living quarters, city and country, by working
more diligently and more wisely.

And whether he succeeds or fails, the renaissance man thanks and reveres his
God, and lives jovially with his neighbours and honouring his enemies.

That currently certain type of software happens to work easiest on a specific
set of technologies, is but a mere detail, if well understood and fully
mastered, to the renaissance man of computers. Reading the article, he would
be delighted in his neighbours' interest in learning more, but might also be
saddened by their strong self-importance that reinforces their narrow-
mindedness.

End of rant.

------
demian
Funny, I just call them "engineers".

An Engineer (with big E, as in Designer, Doctor or Lawyer) _must_ know the
business side of things, _must_ understand how to design technical solutions
that solve real problems, and _must_ know how to factor in the costs in his
designs, and _must_ have a fundamental grasp of science and technology so that
he can be versatile when needed (if he is "too" versatile, he is a
generalist).

Of course, as a designer, the Engineer's designs tend to be bold but generally
not deeply aesthetically pleasing. IMHO, to be a "Renaissance Man" an Engineer
must also master aesthetic beauty, have a classical education and a deep
fundamental knowledge of the humanities.

~~~
zmonkeyz
Before that they were CICS application programmers. :P

------
bryan11
How about full stack DBAs and full stack system administrators? A DBA may be
specialized and only keep database servers running, or they may work at all
levels from developing code to tuning disk and network I/O. It seems that
developers, DBAs, and system administrators all have an equivalent in working
the full stack.

~~~
rubinelli
The term for full stack system administrators is devops.

------
Joeboy
Is any of the things on the list some kind of synonym for programming?

Update: If you click the "Credit" link at the bottom you are taken to another
"full stack" list of items which I guess are assumed to be implicit
prerequisites for this one. That seems like a pretty clear failure of items #5
and #6.

------
venomsnake
Are there any other developers out there? How can you develop something
without understanding the big picture. When what you do is in isolation from
the rest of the project it just works poorly ...

------
cyriacthomas
I think the list is incomplete. One needs to know how to sell your product too
inorder to become a "Renaissance man".

~~~
snaky
That's not that hard to sell if product is well adjusted to customer needs,
that is in the list. It would be more productive to hire "marketing people"
for the selling job specifically.

------
jt2190
How, exactly, does identifying full-stack developers as "Renaissance Men"
change things in real life?

------
dota168
"full stack" is the new "ninja"

~~~
satrius
No! Is the new monkey business..

------
hcarvalhoalves
I would think anyone who isn't a "code monkey" should fit in this description.

------
zellyn
[sudden-clarity-clarence] "full stack" is a pretty serious error condition...

------
michaelochurch
No.

"Full-stack" has become trendy as slightly-with-it recruiters realize that the
not-with-it rest of the corporate world encourages a certain combination of
tight specialization and mediocrity in which people say, "I don't _do_ 'back-
end' " and that people who've been steeped in that world for a few years are
undesirable employees. As it becomes an HRism, I'm starting to think that the
new rule is: if you say "full stack", you're not.

I _aspire to be_ competent over all sorts of technologies, but my definition
of "the stack" is pretty expansive and I have a lot of gaps to fill.

Also, you're not a renaissance person if you don't understand science,
mathematics, economics, history, art and literature (and much more) to, at
least, a passable degree.

~~~
aardvark179
Couldn't agree more. It seems to be used to mean knowledge of some of the
stack on a front end, and some of the stack on a back end, and some of the
stack of whatever runs your database, and the idea that this is unusual and
special.

I've never described myself as a full stack engineer, but have worked on front
ends, back ends, underlying language implementations, underlying database
implementations, and so on, and I just consider myself a (hopefully good)
engineer.

