360° Coverage : "Full-Stack Developer" Is A Tall Order, Bordering On...

2 Updates

"Full-Stack Developer" Is A Tall Order, Bordering On Unicorn Territory

Apr 11 2014, 8:17am CDT | by

By Mike Loukides Since Facebook’s Carlos Bueno wrote the canonical article about the full stack, there has been no shortage of posts trying to define it. For a time, Facebook allegedly only hired “...

Filed under: news

 
 
 

24 weeks ago

"Full-Stack Developer" Is A Tall Order, Bordering On Unicorn Territory

Apr 11 2014, 8:17am CDT | by

By Mike Loukides

Since Facebook’s Carlos Bueno wrote the canonical article about the full stack, there has been no shortage of posts trying to define it. For a time, Facebook allegedly only hired “full-stack developers.” That probably wasn’t quite true, even if they thought it was. And some posts really push “full-stack” developer into Unicorn territory: Laurence Gellert writes that it “goes beyond being a senior engineer,” and details everything he thinks a full-stack developer should be familiar with, most of which doesn’t involve coding.

Lists like Gellert’s are both too long and too short; and, while I agree that a full-stack developer and a senior engineer aren’t necessarily the same people, I resist the idea that full-stack developers have near-magical skills in many different areas. (So does Gellert; he asks for “familiarity in each layer, if not mastery.”) At the same time, I’d add several items to the list that he only hints at: source control, data infrastructure, distributed computing, etc.

With that in mind, we can try to start by defining the stack. We can start with the now-ancient LAMP stack: Linux, Apache, MySQL, Perl. That list is only partial and certainly dated. Linux and Apache are still with us, though there are other servers like nginx that are gaining importance; MySQL is still around, though we now have dozens of post-relational databases (most notably MongoDB and Cassandra); and I wouldn’t be surprised to see MariaDB displace MySQL in the next few years. Nobody writes CGI programs in Perl any more; many languages come into play, from Haskell to Java. But even though dated, the LAMP stack has the right idea: an operating system, a server, a database, middleware.

LAMP dates back to the days when HTML was trivial, and all computation was done on the server. JavaScript was a toy language that helped to glue things together in the browser, but that was all. JavaScript has evolved into a serious, fully capable programming language in its own right, and CSS is almost there. If you are going to be a full-stack programmer, you certainly need to understand the platform on which the real front end of your application is running. The MEAN stack, Mongo, Express, Angular, and Node, a more up-to-date take on LAMP, shows how JavaScript has evolved into a platform of its own.

In addition to web programming, a full-stack developer needs to understand something of design. We’re still realizing the importance of user experience to a successful application. And just as designers are realizing that they need to do more than create mockups in Photoshop, developers need to understand the rationale behind design and talk to designers about what can and can’t be implemented effectively.

There’s also the hardware on which the stack is running. Much of the writing about full-stack programmers stresses performance, and it’s frequently only possible to understand performance by understanding how the software is interacting with the underlying hardware. So, as Bueno points out, it’s important to understand how SQL processes queries, how the CPU executes those instructions, and how the disk drives deliver data through several layers of caching.

Next, there’s the network: these days, nothing happens without a network, and what you’re doing on the network can have a huge effect on performance. Ilya Grigorik does an excellent job of explaining networking to web developers.

These days, many new applications (and just about all applications developed by a startup) run in the cloud. They don’t just store data in the cloud; they take advantage of Amazon’s infrastructure to build a virtual server farm and data center that’s almost infinitely scalable. Therefore, a full-stack developer also needs to understand Amazon and its APIs, what you’re buying, how it’s billed, and what services you can take advantage of. Cloud computing also throws distributed computing into the mix. Despite well-publicized outages, I’d bet that Amazon has better uptime than any homegrown datacenter, but you still need to understand how to make your application resilient in the face of those outages.

These days, there are few interesting applications that aren’t data driven. Are you building an ecommerce application that makes recommendations? In addition to all the other stack components I’ve mentioned, you’re probably dealing with Hadoop, plus Mahout, Scikit-learn, or some other machine-learning library.

And there’s the tooling infrastructure. I’m always surprised when I hear about companies that aren’t using source control, automated testing, and some form of continuous deployment. I can understand being leery of continuous deployment, and for many kinds of applications, CD isn’t appropriate. But there’s no excuse not to use Git or SVN (or a commercial equivalent). And it seems to me that a full-stack developer needs to understand modern tooling.

I started by saying that I didn’t like the idea that the full-stack developer was some sort of Unicorn. Then I blew that stack out even further, to where it’s arguably not even a stack: it’s starting to look more like a tree, with tooling, cloud services, design, data, and networking added. I’d be the last person to question the idea that developers need to know more about how businesses run, what management cares about, etc. Add another branch to that tree. So, have I made the picture worse? Is “full-stack developer” just a code name for some mythical person who can do everything, from writing assembly code to sweet-talking the banks? Might as well add “fixing the office plumbing” to that list. (Hey, if you’ve worked in a startup, that’s an essential skill.)

The situation isn’t that dire. Yes, being a full-stack developer is a tall order, but it’s as much aspirational as anything else. I don’t think a “full-stack developer” is someone above and beyond a senior developer. I can imagine a junior full-stack developer, and sincerely hope that “full stack” doesn’t appear in job titles anywhere. I prefer the notion of the T-shaped developer, elaborated in (among other places) Valve’s employee handbook: a developer with broad knowledge and interests, but who understands one area deeply. The concept of a T-shaped developer does a better job of expressing what’s really important. I don’t expect a software developer to know as much about design as designers, or as much about the network plumbing as the network engineers. But they need to be able to understand the issues and talk to them intelligently.

More fundamentally, a lot of what we’ve learned in the past few years has been about burning the silos that separate developers in different specialties. DevOps is about breaking down the wall between application developers and the operation staff responsible for deploying and running those applications. Performance optimization, more often than not, involves breaking the carefully designed layers that keep our software architecture sane. Sometimes, the mythical “full-stack developer” sounds like: “we got rid of the silos, and now we want one person to replace them all.” That’s nonsense. What’s really needed isn’t someone who can replace all the specializations that the silos represented, but someone who can work across those specializations, someone who can work productively with people on other parts of the team.

Full-stack development is about exposing yourself to a broad range of ideas. This is a theme we’ll see repeatedly in the coming years. Being a full-stack developer isn’t about jumping immediately from working on the Hadoop cluster to the Java middleware to the JavaScript that runs in the browser. Specialization exists for a reason. But developers who understand the whole stack are going to build better applications. A back-end developer will understand what the front-end developers are doing, and be able to work with them so the application doesn’t generate requests that drive the database nuts. A front-end developer who understands design will be able to help the designers build applications that are both beautiful, and can run efficiently on any platform.

The more you expose yourself to different kinds of thought, the more you know about disciplines other than your own, the more effective you’ll be — both because you will understand how to collaborate with your colleagues and because you’ll have a broad repertoire of ideas and concepts to help in your own work. That’s where we’re headed, and that’s what full-stack development is all about.


The importance of becoming a full-stack developer is one of the main themes of the O’Reilly Open Source Convention. Developers attend OSCON to learn about the entire open source stack and how all of the moving parts integrate and work together.

This post originally appeared on O’Reilly Radar. (“Full-stack developers”). It’s been republished with permission.

/>
 
Update
2

4 weeks ago

Khazanah throws MAS RM6b lifeline

Aug 29 2014 5:01pm CDT | Source: Business Times Singapore

August 30, 2014 1:15 AMKHAZANAH Nasional will inject RM6 billion (SS$2.4 billion) over three years to resuscitate loss-making Malaysia Airlines (MAS) under a recovery plan that includes even an Act of Parliament. Other key moves are migrating its operations, assets and liabilities to a new company (NewCo) and slashing the workforce of ...
Source: Business Times Singapore   Full article at: Business Times Singapore
 

 
Update
1

4 weeks ago

MAS posts loss of RM307m for Q2

Aug 28 2014 5:00pm CDT | Source: Business Times Singapore

August 29, 2014 1:13 AMMALAYSIA Airlines (MAS) registered a loss of RM307 million (S$122 million) for the second quarter to end-June, but warned of worse to come in the second half when the "full financial impact of the double trage ...
Source: Business Times Singapore   Full article at: Business Times Singapore
 

 

Don't miss ...

 

<a href="/latest_stories/all/all/30" rel="author">Forbes</a>
Forbes is among the most trusted resources for the world's business and investment leaders, providing them the uncompromising commentary, concise analysis, relevant tools and real-time reporting they need to succeed at work, profit from investing and have fun with the rewards of winning.

 

blog comments powered by Disqus

Latest stories

New material promises 'perfect' solar absorption
New York, Oct 1 (IANS) Researchers at the Massachusetts Institute of Technology (MIT) have developed a material that comes very close to being "ideal" for solar absorption.
 
 
Acupuncture may not improve chronic knee pain
Sydney, Oct 1 (IANS) Among patients older than 50 years with moderate to severe chronic knee pain, acupuncture does not improve discomfort any more than "sham" acupuncture, says a new study.
 
 
OPEC daily basket price closes lower
Vienna, Oct 1 (IANS/WAM) The basket of 12 crude oils of the Organization of Petroleum Exporting Countries (OPEC) closed at $94.17 a barrel Tuesday, compared to $94.54 Monday, the OPEC Secretariat said.
 
 
New test for early cancer detection
London, Oct 1 (IANS) Early detection of cancer could now be as easy as a simple blood test.
 
 
 

Latest from the Network

Anne Hathaway messed up by fame
Anne Hathaway was ''f***ed up'' by fame. The 'Les Miserables' actress was left ''stressed out'' by her Hollywood success as she had no idea how to cope with life in the public eye. She told the new issue of Britain's...
Read more on Celebrity Balla
 
Amal Alamuddin: Our wedding was romantic and elegant
Amal Alamuddin says her wedding to George Clooney was ''romantic and elegant''. The 36-year-old lawyer tied the knot to the Hollywood hunk in Venice, Italy, on Saturday (27.09.14) and she has heaped praise on her...
Read more on Celebrity Balla
 
Demi Moore offers baby help to Ashton Kutcher?
Los Angeles, Oct 1 (IANS) Actress Demi Moore reportedly wants to help her ex-husband and actor Ashton Kutcher who is getting ready to welcome his first child with fiancé and actor Mila Kunis. Moore and Kutcher ended...
Read more on Celebrity Balla
 
Britain strikes IS positions in Iraq again
London, Oct 1 (IANS/EFE) British Royal Air Force (RAF) planes Wednesday launched airstrikes for the second time against Islamic State (IS) positions in Iraq, the British defence ministry announced. A British defence...
Read more on Politics Balla
 
Joseph 4th in drama-filled men's 800m final
Incheon, Oct 1 (IANS) India's Sajeesh Joseph finished fourth after three athletes were disqualified in a drama-filled men's 800 metres final at the 17th Asian Games here Wednesday. The 27-year old Indian, running in...
Read more on Sport Balla
 
Kanye West incensed at Kardashian's naked photo leak
Los Angeles, Oct 1 (IANS) Rapper Kanye West, who is married to reality TV star Kim Kardashian, was reportedly furious when he found out about naked pictures of his wife after they went online. Nude pictures of several...
Read more on Celebrity Balla
 
Tintu runs out of steam, settles for silver
Incheon, Oct 1 (IANS) It was once again a case of so near and yet so far for India's Tintu Luka who, despite leading in most of the women's 800 metres final race, was overtaken by Kazakhstan's Margarita Mukasheva in...
Read more on Sport Balla
 
Turkey seeks parliament's approval to send troops to Iraq
Ankara, Oct 1 (IANS/EFE) The Turkish government has submitted a request to parliament seeking authorisation to send troops to Syria and Iraq to combat Islamic State (IS) militants, officials here Wednesday said. The...
Read more on Politics Balla
 
No bad blood: Hemsworth on break-up with Cyrus
Los Angeles, Oct 1 (IANS) Despite his messy break-up with singer Miley Cyrus, actor Liam Hemsworth says he has no hard feelings for his ex-fiancee. The 24-year-old preferred to stay mum on his relationship with Cyrus...
Read more on Celebrity Balla
 
Asiad taekwondo: Indians knocked out
Incheon, Oct 1 (IANS) India's Nakul Malhotra (+87 kg) and Anand Pandia Rajan (-80 kg) were knocked out of men's quarter-final and Round of 16 matches, respectively, in men's taekwondo competition at the Asian Games...
Read more on Sport Balla