Jan 31, 2011

Web rockstars and Italian waiters

A few years back, I visited Italy and noticed an interesting phenomena: most of the waiters that served us were middle aged man. Some even senior citizens. This is very different than the situation in most western countries I visited, where waiters are mostly young, usually around 25 years old. In most cases, being a waiter is a temp job, on your way to getting a better job. Many people do it while studying to get their degree or while seeking for a "real" job. But not in Italy. In Italy, a waiter is a proper job. It is a career. It is something you do because you choose to do it, not because you have no other alternatives.

A web rockstar is a master of web technologies. He breaths HTML and CSS. He whistles JavaScript while in the shower. He will be more than happy to engage in a deep discussion on why library X is better than JQuery. He will wear a T-Shirt saying "I trash IE6" (or something similar). He will be send you a bunch of links to his recent work instead of a resume. He can do PHP or Django or Ruby on Rails, but he really shines on the client side. He pities the condescending server side people because deep down he knows that his work is the true art. He is a web rockstar.

How many web rockstars do you know? I don't know that many. I sure know a lot of Java, .Net, PHP and Python rockstars, but not many web rockstars. One could argue that this is a relatively new art. But I don't think that's the problem. For some reason (more on that below), the web developers became the waiters of the software world. There are many young people doing that, students, novice developers all sharing one common aspiration: to get out of the "front-end ghetto" and become a "true developer" on the server side.

It is relatively easy to get started: HTML is simple. It is not programming, it is just markup. You don't need to understand any programming paradigms to do it. Moreover, most people don't care about the quality, as long as the page renders correctly. You move on to CSS, which is a bit more complex, but still not programming. Then, you find that you need to add a dynamic menu, so you read a short intro to JQuery, copy a few lines of code and you are now officially a JavaScript developer.

Those people are willing to work for less, which drives the prices down. This gives strong incentive for people to "move on". Many managers who need those skills think that they can just get the job done for very little. Naturally, the payment comes later. The website stops working in certain browsers, especially on the bosses' new iPad. It takes forever to load. Each modification breaks 10 other pages. The marketing people want to refresh the look and feel for the upcoming holiday season and the job ends somewhere in mid January.

This bad ecosystem changing, for a number of reasons. First, HTML5 and CSS3 gives you a lot more power with the cost of being far less trivial. Second, we see rising popularity of full fledged JavaScript MVC-style frameworks (e.g. JavaScript MVC, MooTools and Backbone.js) which are more than just showing some fancy widgets. Third, the level of interactivity expected from web applications is soaring. The bar has been raised. One needs deeper skills to develop truly remarkable web sites. Finally, JavaScript is becoming a first-class citizen with the introduction of innovative technologies like node.js (which, ironically, takes the JavaScript developers to the server side and give them an incredibly powerful tool).

JavaScript is one of the most important programming language today. On the server-side there are so many alternatives. However, on the browser, JavaScript is king. True, there are some attempts to shield you from the actual JavaScript work (GWT, Cappuccino), but, in many cases, you will end up coding and debugging JavaScript. Those who will choose to master the web technologies will not have any problem finding work in the upcoming years. We need more Italian waiters.

My message to server side developers: respect you colleagues. If you really want to test your skills, let's see you putting up an interactive web-app. I dare you. It is a challenge, perhaps even a bigger one than coding a couple more beans on the server. Be honest, it is possible that you don't like doing web development because it is just too hard (no cushy IDE, cross-browser quirks, etc.).

My message to managers: cheapskates always pay twice. Always. Get the right people for the job and be willing to pay for quality. Get these amazing web rockstars to be part of your team and not just freelancers, thus creating a differentiator for your company.

One final note: we're hiring! if you are a web rockstar, or even a young web developer who wants to become a web rockstar, you live in Israel, and you're looking for a new project, drop me a line. I'm looking for you and I have a project that could take your career to a whole new level.

Comments

Web rockstars and Italian waiters

A few years back, I visited Italy and noticed an interesting phenomena: most of the waiters that served us were middle aged man. Some even senior citizens. This is very different than the situation in most western countries I visited, where waiters are mostly young, usually around 25 years old. In most cases, being a waiter is a temp job, on your way to getting a better job. Many people do it while studying to get their degree or while seeking for a "real" job. But not in Italy. In Italy, a waiter is a proper job. It is a career. It is something you do because you choose to do it, not because you have no other alternatives.

A web rockstar is a master of web technologies. He breaths HTML and CSS. He whistles JavaScript while in the shower. He will be more than happy to engage in a deep discussion on why library X is better than JQuery. He will wear a T-Shirt saying "I trash IE6" (or something similar). He will be send you a bunch of links to his recent work instead of a resume. He can do PHP or Django or Ruby on Rails, but he really shines on the client side. He pities the condescending server side people because deep down he knows that his work is the true art. He is a web rockstar.

How many web rockstars do you know? I don't know that many. I sure know a lot of Java, .Net, PHP and Python rockstars, but not many web rockstars. One could argue that this is a relatively new art. But I don't think that's the problem. For some reason (more on that below), the web developers became the waiters of the software world. There are many young people doing that, students, novice developers all sharing one common aspiration: to get out of the "front-end ghetto" and become a "true developer" on the server side.

It is relatively easy to get started: HTML is simple. It is not programming, it is just markup. You don't need to understand any programming paradigms to do it. Moreover, most people don't care about the quality, as long as the page renders correctly. You move on to CSS, which is a bit more complex, but still not programming. Then, you find that you need to add a dynamic menu, so you read a short intro to JQuery, copy a few lines of code and you are now officially a JavaScript developer.

Those people are willing to work for less, which drives the prices down. This gives strong incentive for people to "move on". Many managers who need those skills think that they can just get the job done for very little. Naturally, the payment comes later. The website stops working in certain browsers, especially on the bosses' new iPad. It takes forever to load. Each modification breaks 10 other pages. The marketing people want to refresh the look and feel for the upcoming holiday season and the job ends somewhere in mid January.

This bad ecosystem changing, for a number of reasons. First, HTML5 and CSS3 gives you a lot more power with the cost of being far less trivial. Second, we see rising popularity of full fledged JavaScript MVC-style frameworks (e.g. JavaScript MVC, MooTools and Backbone.js) which are more than just showing some fancy widgets. Third, the level of interactivity expected from web applications is soaring. The bar has been raised. One needs deeper skills to develop truly remarkable web sites. Finally, JavaScript is becoming a first-class citizen with the introduction of innovative technologies like node.js (which, ironically, takes the JavaScript developers to the server side and give them an incredibly powerful tool).

JavaScript is one of the most important programming language today. On the server-side there are so many alternatives. However, on the browser, JavaScript is king. True, there are some attempts to shield you from the actual JavaScript work (GWT, Cappuccino), but, in many cases, you will end up coding and debugging JavaScript. Those who will choose to master the web technologies will not have any problem finding work in the upcoming years. We need more Italian waiters.

My message to server side developers: respect you colleagues. If you really want to test your skills, let's see you putting up an interactive web-app. I dare you. It is a challenge, perhaps even a bigger one than coding a couple more beans on the server. Be honest, it is possible that you don't like doing web development because it is just too hard (no cushy IDE, cross-browser quirks, etc.).

My message to managers: cheapskates always pay twice. Always. Get the right people for the job and be willing to pay for quality. Get these amazing web rockstars to be part of your team and not just freelancers, thus creating a differentiator for your company.

One final note: we're hiring! if you are a web rockstar, or even a young web developer who wants to become a web rockstar, you live in Israel, and you're looking for a new project, drop me a line. I'm looking for you and I have a project that could take your career to a whole new level.