Fresh developer skills you probably aren't learning, but should
- select the contributor at the end of the page -
Google introduced Go in 2009, claiming the new open source language would bring the convenience and flexibility of scripting languages to the world of reliable, high-efficiency software development. Six years later, Go is at version 1.4 and it's starting to gain traction.
Whether you're a fan or a sceptic, Go has been building a solid community of followers among engineers looking for an alternative to C++. You can see the same enthusiasm at Go meetups that existed 10 years ago in the Ruby community--and a lot of the same faces, too. More companies are using Go in production, and the jobs are starting to show up. If you've been looking for a fun and powerful language with a gentle learning curve and a huge potential market, Go might be worth a shot.
React can be slipped in on top of Angular as a view, or used to control an entire application using Facebooks's Flux architecture, or the upcoming Relay approach, slated for release later this year. (And while you're looking at Facebook technologies, keep an eye on Immutable JS.)
Vagrant and Docker
When it comes to robust distributed deployments, containerization and virtualization are where it's at. Tools like Vagrant and Docker allow you to configure reproducible and portable work environments, and then use provisioning tools ranging from simple shell scripts to Chef or Puppet to install and configure any number of machines with a click.
These new tools make it possible for both developers and designers to work in disposable and reusable environments that can be built, reset and distributed across an entire team. Even better, the same approach can be used for deployment to production boxes, so you can trust that what's serving customers in the cloud is the same as what's right on your dev machine.
The concept of Design Thinking is causing a shift in how companies approach product design. If you think of design as decorating the user interface after the real work is done, you're missing out on the value designers can bring to the overall structure and experience of Web application development.
Thankfully, designers are starting to get the respect they deserve as key players on a development team. AB testing and instrumentation (to support incremental user experience design and research) are becoming integral to the development workflow. With the emergence of lean collaborative design, more companies are embracing the design-driven process of defining a problem, exploring a wide range of options, choosing a direction, and repeating the steps as necessary through product development and refinement.
If you're working in Web development, take some time to study basic user-centered design principles, and recognize how they apply to the work you're doing. Involve yourself in user testing, and pay attention to the customer experience. The more you understand the value of end-to-end design principles, the more easily you can pull your head out of the chaos of shifting technology and keep an eye on the big picture.
What are you seeing?
It's impossible to create a list like this without leaving something important out, or making controversial statements. I'm interested to hear what new developments and projects you're paying attention to right now. Everyone has a different perspective, and reality always lies somewhere in the fuzzy spaces between us.