The Rise of the Front End Developers
The Front end guys are responsible for making something that is visible to the end users (THE LOOK). The back end guys are responsible for making the front end work (THE FUNCTIONALITY). Together, they both deliver a complete web application/site.
The back end developers would typically use programming languages, such as Java/C++/Python. Apart from talking to database and processing requests, they even have an arsenal of libraries to generate the site markup (JSPs, server side templates, etc).
Front end guys usually fill in by writing HTML documents and CSS files (merely a writer) to present this markup in an visually pleasing way and back end just take these templates to populate data.
Front end had only one option to do any logical operations, by using JavaScript – which has been used for a long time just to validate forms (and do some freaky stuffs).
Because of this cultural difference, there’s always been a ego-war between these two worlds. Even the company management would rate the front end guys par below the back end developers because the front ends guys don’t do any serious programming.
All was going fine until the web2.0 era. Now, the front end realized that they could use JavaScript to do much more cooler stuffs than just the form validation. The development of high speed JavaScript engines (such as V8) made it possible to run complex JavaScript code right in the browser. With the introduction of technologies such as WebGL and Canvas, even graphics rendering became feasible using JavaScript.
But, this didn’t change anything on the server side; the server programs were still running on JVMs/Rubys/Pythons.
Fast forward to today: The scenario is dramatically changing. JavaScript has just sneaked its way into the servers. Now, it is no longer required that a web application needs to have a back end programming language such as Java/C++. Everything can be done using just JavaScript.
Thanks to node.js which made it possible to run the JavaScript on the server side. Using MongoDB, one can replace the need to have SQL code and now store JSON documents using JavaScript MongoDB connectors. The JavaScript template libraries such as {{Mustache}}/Underscore almost removed the need to have server side templates (JSPs). On the client side, JavaScript MVC frameworks such as Backbone.JS enable us to write maintainable code. And, there’s always the plain old JavaScript waiting for us to write some form validation script.
With that, now it is possible to do the heavy lifting just by using JavaScript. The front end JavaScript programmers no longer need to focus on just the front end. They can use their skill set to develop the web application end-to-end.
This rise of the front end developers poses a real threat to the survival of back end developers. If you are one of that back end guy, do you already realize this threat? What’s your game plan to stay fit to survive this challenge?
Reference: The Rise of the Front End Developers from our JCG partner Veera Sundar at the Veera Sundar blog.
Yeah well, that sounds very good until someone disables javascript (relevant to the validation example in the article) or until someone modifies the code at runtime in the browser. I am sorry but there will always be a backend. The fact that the backend is written in javascript or any other language is a matter of maintanability and whatever suits your needs…
Uh, i simply became a front-end developer. Not an issue.
There is no front end vs back end in the real world.
A lot of server side programers end up writing some html and css and a lot of designers end up writing logic.
Your argument of using mongodb is invalid in enterprise scenarios or anywhere there is an ecosystem already built and one has to develop a web application within that ecosystem. If a company uses oracle or SAP or Seibel they are not going to ditch their data store easily.
There are cases where either option is valid but dont generalize everything so much.
What Imran Suhail said, mostly. The fact something CAN be done doesn’t mean it SHOULD or WILL be done: yeah you can do backends in javascript. Big deal. A “backend” dev can learn to write effective JS in a couple months. The skillset has less to do with the language you’re using, and more with your capacity to design and write sane code – what is “lesser” in those you call “front-end” devs is that they do not do complex design/coding, usually, not the fact that they work in javascript or actionscript or what have you. The gap between “backends”… Read more »