Fer Martin Santana

Because technology changes, Ironhack welcomes JavaScript

My name is Fer Martin, and I’m the Global Head of Curriculum Development at IronHack. I spend my time helping our students transform their lives by changing careers and getting the jobs they love.

I wrote my first piece of code when I was 7. What I programmed was far from impressive, but it blew my mind away! I became fascinated by the idea of being able to tell a machine what to do. I found the ultimate toy, reconfigurable at will!!

What started as a game, quickly became a hobby and turned into a professional career that has taken me through 3 different continents and countless opportunities to work with some of the best in the field.

During this 20 year trip, I had the chance to observe the evolution of technology, and I have been equally excited and depressed by the constant changes in this field. In the world of technology, the only constant is change.

My journey at IronHack is guided by a simple question: How do we accelerate learning for all students?

In an environment where technical knowledge can quickly become obsolete and where languages, tools, and paradigms are constantly shifting, the best strategy is to teach students how to learn.

In the Beginning, God Created Ruby

Our current Web Development curriculum was originally designed based on the popular language Ruby, and its companion web development framework Ruby on Rails. In 2013 it was the best idea: there was a large community of developers ready to help newcomers and lots of companies were building their products with the RoR framework.

My personal journey with Ruby started when I was working in Japan as a researcher for NTT Labs, and I fell in love with it super fast. I even interviewed Matz (Ruby’s creator) in 2005!

In the last couple of years, we have seen a massive shift in the technologies that are making up the web. This shift has been so significant that we decided to change our curriculum to another programming language. But first, let me take you back in time for a bit.

The Battle of the Browsers

It was a cold winter in 2008. Microsoft’s Internet Explorer, equally powerful and hated for doing things without community consensus, had no rival in the internet world. Most personal computers ran Windows, and the all came pre-installed with Internet Explorer. However, users were not happy.

Google decided in 2010 to throw money and brains at the problem and address it by assembling a brilliant team of engineers focused on creating a worthy alternative to Internet Explorer. Thus, they launched the open-source Google Chrome project with this brilliant comic strip:

Google Chrome to the Rescue!

Standing on the shoulders of open-source giants like Mozilla and KDE’s WebKit, they went on to build a competitor that could face the omnipresent Internet Explorer.

Years passed, and what began as a monopoly dominated by Internet Explorer, with a worldwide market share of ~70%, changed to a game dominated by Google Chrome (~60%) leaving behind a bunch of smaller competitors.

Browser usage share 2009-2016
(Google Chrome in green)

Most Used web browser by country
(Google Chrome in green)

Inside Google Chrome: WebKit & V8

Google Chrome was different than Internet Explorer because they focused on stability, speed and compatibility with other browsers from the start.

A huge problem for web development was that each browser rendered the page in a different way. This inconsistency drove designers and web developers up the wall. So Chrome, Opera, and Safari decided to chose the same rendering engine named WebKit and solve that problem.

To solve the stability and speed problems, they had to think out of the box. The main issue was that the only way to add functionality and interactivity to any website was using the JavaScript language. But JavaScript had been designed in 10 days, and it had some good parts, but many, many bad parts which caused few people to consider it as a serious solution.

JavaScript was a script-kiddie, single-threaded, synchronous language that everyone loved to hate. Any attempt to change it had failed miserably (Java applets, Adobe Flash) so there was only one possible option to improve the browser without changing the language:

Now each browser tab/window was an independent process, isolated safely from any the other tab. Previous implementations of JavaScript Virtual Machines (VM) were useful for small programs, but the web was gaining traction and websites began demanding more performance out of the browser.

Chrome created an engine that would read JavaScript, and compile it into super high-performance native machine code. This paradigm shift allowed Google to create and open source the V8 JavaScript Engine.

It took practically no time for most browsers to adopt and implement V8 and AJAX. This implementation suddenly caused websites to become incredibly fast and responsive.

The world transitioned from MapQuest-like interfaces, where every click meant waiting for the server to return a new image:

… to Google Maps, where everything reloaded within the same browser window without refreshing!

This was good news, for everyone, except for the guys who implemented the code in the servers. They were now in a new world, and it was incredibly hard to create code that would adapt to this new paradigm.

A Consequence of V8: Welcome Node.js

In 2009, a very smart developer named Ryan Dahl started the Node.js project. Node.js leveraged the power of Google’s V8 with a set of tools and applications that allowed JavaScript to become not only super fast at writing server code, but also incredibly scalable.

This project allowed JavaScript to be the one language to rule them all!

Soon enough, the corporate side started realizing this and companies like IBM, Linkedin, Microsoft, Paypal, Netflix, SAP and many others integrated Node.js into their stack.

Some stats that you may find interesting about JavaScript in 2016 include:

Top Active Programming language in the world (source)

Top Active language by number of repositories in Github

Position Language Number of active repositories
1 JavaScript 323,938
2 Java 222,852
3 Python 164,854
4 CSS 164,585
5 PHP 138,771
6 Ruby 132,848

Top Search in Google Trends: Ruby On Rails Vs Node.js

IronHack 2017: All-in with JavaScript

Having observed this trend in the market, we made the decision to move to a full-stack JavaScript curriculum starting 2017.

The new Web development curriculum incorporates many changes that we think will help students in the upcoming years:

  • Bootcamp goes now for an intensive 9-week
  • Students will be required to design, code and present 3 projects
  • JavaScript ES5, ES6, and TypeScript will be taught
  • Master MongoDB
  • Create Web applications with the ExpressJS framework
  • Understand FrontEnd Applications with Angular2
  • MicroService Architecture. API Design

Come Join Us!

Listen to our head instructor explain how JavaScript is used on Amazon.com

Click to get more information on this JavaScript bootcamp.