Protect your career with these 5 Web Development technologies post

Comments

In 2009, rock star devs used to pimp jQuery and most web Ninjas were highly skilled at Rails. Then rails became a ghetto and jQuery became a fat wife. But in the year  2015, things have changed. Javascript has been crowned the new emperor of the interwebz after a long exilePHP 6 finally came out, and a collective wave of "meh.." washed over the community. NoSQL finally became a contender and Git made SVN embarrassing to put on a résumé. 2015 also marks the year that the mobile web started to merge with the regular web, and creating a separate mobile site was considered a high crime against accessibility. You must protect yourself with preparation.

Here are the top five areas that I think will become job requirements by 2015 for many programmers and web developers.

1. Git or any "Distributed Version Control System"

Obviously you have heard of Git by now if you are using open source software in a professional capacity. Many managers are asking themselves why they should bother switching from SVN to Git? What are the benefits?

Distribution

In the future we will all have our own copies of repositories. Merging and branching will replace painful reintegrates and the  merge hell brought about by a long running feature branch. We will no longer bow down to a centralized master, who exposes our mistakes to our team with every experimental misstep. No longer will the village idiot bring down an entire repository with his careless commits. Version control is a problem that Git solved on SVN's behalf.

Get Started with Git Today

You need to learn the basics of git now. Being a master isn't a requirement yet but knowing the basics is going to get your prepared. You need to install git on your computer. You can use RailsInstaller, Cygwin, or run it native on Mac OSX or Linux. Start a new project and let the commits fly. Don't be afraid to make mistakes. Set up an account on GitHub. Practice push your changes to GitHub. As your work you will have problems to solve. This will prompt you further down the git hole and move you closer towards being a master.

Why do I need Git?

Take a look at the top projects on GitHub. Rails,  jQuery, Symfony, CakePHPModernizr, CoffeeScript, etc, etc, etc. This is where the herd is headed, so don't get left behind.

2. Server-side Javascript with node.js

You already know Javascript right? Well it runs on the server side now. In fact, it's the server. Surely even the coldest, densest rocks have heard the echoes of node.js, which has been embraced by those in the know, including the curmudgeonly Douglas Crockford. (You know, the guy who discovered JSON). Node is the new rails, only twice as hard to understand. Kind of like vim compared to anything else. Node let's you program i/o in a language that you already use, and solves the problem of multiple concurrent connections quite nicely.  You will laugh at how hard it is to do simple things in Node, and how easy it is to do really hard things.

Getting started with node

Install node, and check out some node tutorials. You will need time to wrap your brain around how to node, so keep the node docs handy. Learning node today will make you a top-tier web developer tomorrow.

Why do I need to learn node.js?

Learning Node has two benefits, the first being that the demand for programmers with experience in Node.js will rise due to the sheer maintenance requirements of the Node apps being written by today's cutting edge developers. Secondly, learning how to program asynchronously will challenge your brain and make you a better developer by learning how to solve problems in a new way.

3. Concurrent Programming Languages

Web Scale is not only an unfunny meme, but a growing reality for many high availability websites. A busy site means a lot of things, mostly racks of hardware, craploads of caching and a fairly complicated infrastructure. Concurrent programming languages today are a a bit esoteric for most people's web site needs, but on an enterprise level they really start to demonstrate amazing abilities. Concurrent programming languages like Erlang, Clojure and Scala allow for parallel processing. As a simplified example, it's like using 64 guys to lay bricks instead of 1. These languages specialize in dealing with organizing these processes and eliminating some of the pain in developing immutable, multiprocess programs.

Who's using concurrent programming?

Github wrote it's backend in Erlang. CouchDB is Erlang. Twitter uses Scala. Ever hear of Call Of Duty? Check out how Demonware uses Erlang to handle millions of connections. Big companies with big demands are investing in these technologies. These jobs are not going to trainees.

4. NoSQL

You could probably bundle NoSQL in with web scale, considering that's where the meme started. In fact NoSQL is a fairly diverse set of technologies for dealing with data storage and retrieval, usually across multiple machines. Databases like MongoDB use a javascript syntax instead of horribly complex sql queries, and can scale to insane levels. CouchDB, Redis, Membase, Cassandra and other NoSQL products are exploding onto the marketplace. You are starting to see them listed as "Nice to haves" on your craigslist job ads. I would not argue that these technologies are killing SQL, but they will be bigger players in the future as corporate acceptance of NoSQL becomes the norm.

Getting Started with NoSQL

You should seriously just try MongoDB right now, in your browser. Then, take a look at every NoSQL product I mentioned. Read about them religiously  and try to incorporate one into your next project.

5. Responsive Web Design

HTML5? CSS3? Old news. The biggest idea taking hold in the front end development world is called Responsive Web Design. The key takeaway from this concept is the fact that you shouldn't be making separate layouts for difference viewport sizes, but rather, you should be laying out your content in such a way that you site will reflow content appropriately. In other words screen size, or rather browser window size should be the main determining factor in your layout, not device detection. This is a huge deviation from the current state of affiars, where mobile sites are being devloped as near seperate entities, and standard websites are hit or miss on a small screen.

Getting started with Responsive Web Design

Buy this book, Responsive Web Design by Ethan Marcotte. Then read this article by Ethan Marcotte on A List Apart. Sitepoint podcast has a great interview with Jeremy Kieth on the subject and the state of affairs or RWD. You might also  like this tutorial on responsive web design from Smashing Magazine.

Why do I need to learn responsive web design?

The mobile web growing exponentially. It has a larger market share than any iOS app ever will, and your current visitors will appreciate being able to utilize your site on any device they own without a dramatic shift in usability.

Summary

I hope I have given you at least a spark when it comes to picking up one of these new techs. I do this out of love for my fellow developer. It is too easy to get into a comfort zone only to fall behind and ask "Who moved my cheese?" when the opportunities and paychecks start drying up. Spend at least an hour a day messing with something new and unfamiliar. Comfort is death, just ask the sharks who stop swimming.

  • Tags:
  • cassandra
  • clojure
  • couchbase
  • couchdb
  • distributed version control
  • douglas crockford
  • dvcs
  • erlang
  • git
  • javascript
  • mongodb
  • node
  • node.js
  • nosql
  • redis
  • responsive web design
  • scala

explosive web programming MODERN CODE TACTICS

by James Fuller