In any web development company, there exists two different worlds; well there are more, but we’ll just focus on - front end (designers) & back 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?

Hi! I'm Veera Sundar. I am a web application developer. I usually build the application end-to-end using Java on the back-end and JavaScript on the front end. 
{ 10 comments… read them below or add one }
Good post Veera.
I am more of a backend developer and have very limited knowledge of front end.
So I started learning Javascript. I will eventually learn Ajax, jQuery and then node.js backbone.js etc
Thanks Chaitanya.
Just checking: How’s the scenario in working with clients? Do they recognize this changing trend or they still propose the enterprise technologies?
Clients are always conservative! So they always prefer traditional tech stack.
However cool products like Trello for example, are using bleeding edge technologies.
I realized learning JS has good pay off in future! So doing Codecademy lessons to start with. Thankfully their debut course offering is JS.
Here’s my take. First, I don’t think front-end developers pose (or are ever going to pose) any threat to the backend guys. But I think in future, the scope of front-end as we know it will change dramatically. In fact that has already started, with mobile and touchscreens. The front-ends of the future could be complex user interfaces like what we see in Avatar, 3D projection, advanced voice-based systems (not referring to basic speech-to-text here), and who knows… the touch interface could evolve beyond glass touchscreens into actual 3D touch surfaces. For example, imagine a pillow cushion kind of device based on which the system can do different things based on the amount of pressure. Imagine the kind of applications we could put that to.
However, as I said, I don’t think all that is going to take anything away from middle-tier and backend developers’ value.
But what will REALLY be game-changing is the business folks coming up with better applications for newer and newer technologies.
/However, as I said, I don’t think all that is going to take anything away from middle-tier and backend developers’ value. /
Not soon, but it will.
Have you seen the trello technology stack – 100% JavaScript!
If anyone wants to start learning UX designing, then should he/she go for learning photoshop/dreamweaver or only HTML5/CSS3 will do ?
To design a user interface, one should learn Photoshop. To implement the design, one should know HTML/CSS (Dreamweaver is the tool for this).
But, it is better that the designer has a good amount of knowledge in HTML/CSS technologies, at least to know what is possible and what isn’t so that he can come up with better designs.
I’m a back end developer that doesn’t care for front end development. Rather than work hard to learn things I don’t enjoy, I’m working to gain specializations on the back end that can’t easily be replaced, such as information retrieval, recommendation engines, and natural language processing.
This sort of conceptual/data work will always exist, and what language is used is not of large consequence.
Agreed that acquiring domain/specialized knowledge is one way to stay fit in the industry.
Though i am not a big fan of JS , the developments on JS side over last few years are interesting and challange conventional thoughts. They definatley deserved to be tried, but adaption depends on what suits well for the need.