Cloud Developer

Full-stack JavaScript developers: Study these cloud age wonders in the wild

You could say full-stack JavaScript developers have nothing to do with cloud computing. Nick Hardiman argues that misses the point.

Image: iStock/Bet_Noire

According to this year's Stack Overflow developer survey, the most common kind of developer is the 20-something full-stack JavaScript developer. That full-stack phrase means "able to code a web service from scratch." A full-stack developer can work an AWS API, wrangle the Ubuntu OS, write JavaScript code, and present an interface.

That's not really cloud computing though, is it? A JavaScript developer doesn't care about cloud computing nuts and bolts like RAID configuration, kernel modules, or application fail-over. He doesn't care about the future of OpenStack, or whether Lattice is easier than Cloud Foundry. What does a full-stack JavaScript developer have to do with cloud computing?

The cloud stack

IT guys love stacks, where the upper layers hide the complexity of the lower layers. The cloud technology stack looks like this:

  • Applications on top -- all kinds of computer programs, from Apache to Zabbix
  • OS in the middle -- let's face it, Ubuntu wins here
  • Foundation - cloud providers

The JavaScript stack

The JavaScript stack is one of the many types of artefact floating around in that top layer of the cloud stack. The JavaScript stack is actually less of a stack and more of a software bundle that covers both server-side and client-side computing.

The server-side does actually contain a software stack. The foundation is Google's V8 JavaScript engine, Joyent's Node.js server is built on V8, and a coding framework goes on top of Node.js. The server-side store is a NoSQL database -- the traditional RDBMS is just not cool. The client-side includes another application framework (if you hear a developer referring to all this off-the-shelf code as boilerplate, he's probably one of these full-stack developers).

You'll never lose money by underestimating the patience of the great masses of developers. The Israeli development company Linnovate took the server-side database Mongo, the server-side Express framework, Google's client-side framework AngularJS, and Node.js, and then did some integration work to create MEAN.io. The MEAN software bundle reduces installation and configuration of these components to a one-liner command. That kind of simplification is like catnip to developers (that's one of the reasons why devs find Docker and Vagrant so attractive).

The JavaScript developer's toolbox includes more time-saving software, with names that look like they were randomly selected from a dictionary. Would you like Jasmine or Mocha? No idea. Grunt or Gulp? Can't say. D3 or Epoch? Please, make it stop.

The full-stack JavaScript developer

The idea of the full-stack developer is a web-oriented and software-only view of the technology world that was not possible before cloud computing. Ten years ago there was the O'Reilly Web2.0 view of the web, and now there is the full-stack view of the web.

The full-stack developer is an expert JavaScript programmer, is able to handle these full-stack tools, understands other languages such as HTML5 and CSS (yes, they are languages), and has wrapped his head round concepts like AJAX, Single Page Applications, and RESTful web services.

Like all IT nerds, the full-stack JavaScript developer is attracted to shiny new technology. If a business investor is a fat cat moneyman and the system administrator is a UNIX neck-beard, then the full-stack JavaScript developer is a fashion-following hipster. You won't find one anywhere near a LAMP stack or PHP-driven CMS. And that full-stack phrase sets this new breed of JavaScript developer apart from the puny JavaScript front-end developer of the past.

Standing on the shoulders of giants

If you want to be pedantic (and what geek doesn't?), you can say these full-stack JavaScript developers have nothing to do with cloud computing. Their day-to-day work has nothing to do with creating or operating the massive distributed systems that are cloud computing. They probably produce pretty websites for small agencies in between skiing trips, and never think about what is behind those cloud APIs.

But that's really missing the point. The work of these developers is enabled by the existence of cloud computing. The full-stack JavaScript developer is standing on the shoulders of giants. A full-stack JavaScript developer is probably part of a DevOps culture, builds resilient systems, and uses a version control system for code. She pays attention to architecture, monitoring, and capacity. She consumes cloud resources every day.

Trap a full-stack JavaScript developer under a glass and study this specimen. You will see one of the many wonders of the cloud computing age.

Also read

Visit TechRepublic