Christian Heilmann

Posts Tagged ‘hype’

Can we stop with the Ninja and Rockstar hype already?

Friday, August 13th, 2010

I get very tired of people looking for rockstar and ninja developers. I find it arrogant and actually detrimental to the whole market of development. We are professionals and we should take our jobs serious. We should also make sure that people who start in a company don’t have to deal with a terrible mess rather than being able to contribute immediately.

During my whole career I concentrated not on bringing myself into the centre and be the rockstar of a department but instead try damn hard to build sustainable teams and departments. This might have been a wrong decision in terms of money but seeing people grow and processes improve gives me a bigger kick than being admired as the guy who knows it all. There is a lot of quick glory in being a “Ninja” or a “Rockstar” but it is actually bad for the company. It is also a problem for your own career as you make people dependent on you rather than being able to grow and change to what you want to be and do in the future.

One of the big mistakes I was part of in the past was that I was part of a team of rockstars. When I joined the company the mandate was to get the best people in front end development and build the coolest products. I was proud as punch to be able to hire people I had a boatload of respect for and always wanted to work with. We all had the best ideas, we had the talent and we were hungry to prove ourselves.

What we didn’t have was the insight into how to make a large company care as much about what we do as we did. What we also didn’t have is the patience to understand that people who don’t want to immediately support you don’t do that out of spite but because they have other things to worry about. A big part of work is politics and that means that things don’t move as quickly as engineers want to. This is a human issue – take too many people to make a decision and it will take longer. On the other hand this decision can become a much better one as it has been scrutinised from several angles. Sadly enough in most cases when it comes to decisions made across departments of companies they don’t turn out better. The reason is that people don’t talk to another but follow their individual agendas instead. A lot of companies made process the goal and not the way towards the goal.

I am right now preparing my talk for this year’s Paris Web and it will revolve around the issue of getting listened to in the company and the market if you are a technical person. We can delude ourselves into thinking that building great products will get us fame and insight and be listened to but in the end it will be the product managers who’ll be remembered being the people who brought these products to life and not the people who built them.

The rockstar analogy

I think my ex-colleague JR Conlin hit the nail on the head:

when someone calls me a rockstar I get drunk and trash their cubicle

Being a real rockstar gets you the fame, the sex and the drugs. However it also robs you of your privacy, forces you to repeat over and over again what you’ve done in the past and it typecasts you:

It also means that unless you are clever and you start your own label or production company or do your own merchandise a lot of people will make a lot of money on top of your talent and you only get a small share of that.

Rockstar fame is very fleeting – people who are on top now can be amazingly quickly forgotten tomorrow. Popularity is quite a tough thing to keep up and any slip-up you have will be all over the news and misinterpreted to become headlines. At first this aids your bad boy image but later on when you get older it just appears pathetic.

In essence being a rockstar means burning out quickly with a lot of glory but not much sustenance. And if you don’t plan cleverly for your future you’ll end up playing carnivals and open up shopping malls. I have a hard time to find the equivalent for an IT rock star.

For a company it means you have a employee that is hard to work with and that you need to keep happy all the time. A diva that is very much aware of his or her temporary fame and makes ridiculous demands (check the rider of some rock bands or talk to some roadies or people who work in theatres for tales of woe). You also concentrate on a single person and thus cause jealousy in the rest of your staff which means that they either under-perform, try to sabotage the rockstar or leave.

It also means that you have to sort out the troubles your rockstar gets into. Unmaintainable products that have the handwriting of one genius developer and no documentation on them are the IT equivalent of trashed hotel rooms. Headhunters calling your rockstar are the equivalent of the paparazzi. The only thing that is less likely to happen is getting into troubles with groupies.

In essence I see the demand of rockstars as a flattering way of companies to find somebody to quickly burn out and get a quick product out of that can be hyped. Nothing sustainable and especially nothing that hints that there will be a chance of a career for you in that environment. You start at the top of your game and you are expected to over-perform. Any request to get official support to improve will be seen as a weakness.

The Ninja analogy

People calling themselves $technology-ninja has only recently become popular. John Resig was one of the first with the JavaScript Ninja mailing list (which has become very silent as of late) and Nicole Sullivan had an interview published that started with the notion of her calling herself a Ninja.

You know what? I forgive both of them this – both John and Nicole consistently worked in silence and out of a sudden released a deadly cool technique or product before they went off again to hone their skills on the next attack. They never celebrated themselves much but instead promoted technologies to use in a professional environment and to get quick results. I am friends with them and I admire them for what they did and what they are about to do. I am confident they have more and more cool things up their sleeves in the future.

Lately, however, the Ninja analogy runs rampant with 4606 of them being available on LinkedIn:

4606 Ninja on LinkedIn - that's an awful lot of Ninja

A lot of the self proclaimed Ninja know their trade but it is actually interesting to see what they have forgotten when it comes to being a Ninja:

  • Ninja attack silently and use the element of surprise
  • Ninja disguise themselves to blend in
  • Ninja are not seen or heard
  • Ninja use a series of passwords and own languages to talk to another to be more effective

As a company, hiring a Ninja only makes sense if you want to disrupt your competition as the main tasks of Ninja are:

  • Espionage – do you want to get rid of your secrets?
  • Sabotage – hire a rockstar instead, he’ll make sure your products will decay quickly
  • Assassination – not that applicable either.

When it comes to the JavaScript Ninja mailing list this made sense – a closed community with an own language that shares secrets with another and leaks them to the outside world to sabotage bad products and assassinate bad practices. And most people on it are rarely seen or heard (Dean Edwards and Stuart Langridge anyone?).

When it comes to people who call themselves a $technology-ninja the metaphor quickly crumbles to the same levels of “I am a social media expert” or “SEO wizard”.

Look for Sensei, Mercenaries and Padawan instead

If you really want to use an analogy (I don’t think we need to but hey, they sell like hotcakes) then I’d think you should focus on people who really will help your company:

  • Mercenaries – in the middle ages we had mercenaries who roamed the land offering their strength and skill with their weapon to anyone who could afford them. They also were masters of marketing and changed their names to impressive things like Schwerdtfeger (“The one who sweeps with his sword”). A mercenary is a single minded person doing the job without any regrets, values or beliefs. They get the job done and move on. There is no loyalty beyond the contract and there are no demands beyond what was agreed on. They are independent and bring all the tools they need and are not interested in sharing. If you want to build a product to make some noise and you don’t expect it to be scalable or stay the way it is anyway then these are the people you want. Mercenaries are rockstars with their own label. Or think of Jayne Cobb in Firefly
  • Sensei – are teachers, as simply as that. People who know their skills and know how to teach them to others. It ails me that in IT trainers are not paid as high as engineers. Being able to build something is one thing – being able to guide others to build the same so they don’t need you or your input in the future is a much less common skill. A good Sensei knows when to guide, when to explain, when to show and when to allow his students to fail and hurt themselves. It is strange but we learn more from making mistakes and avoiding them in the future than from doing things right. This should apply to companies, too. Lately when Google put Wave on the back burner a lot of people started writing sarcastic posts about it – just to learn after some research that there is no problem in failing when you analyse and salvage what was useful. A good Sensei is a developer with experience who knows what to keep away from his students and when to let them run free and show their skills. A good teacher makes himself not needed over time – for his students to become masters and then teachers themselves. Lead by example but leave space in your solutions for the creativity of your students and you will build working products that are ready for future improvements.
  • Padawan – are young talents that show a massive proficiency in a certain subject matter (in the case of the Star Wars movies the force and being able to not scream every time some guy calls them “Annie”). They don’t need to be amazing at it but they should show adaptability, a hunger to improve and be open and ready to listen to advice – even if it seems not fascinating and shiny at that time. These are developers who want to build things – to create systems as a team and partner with people who are passionate about the other skills necessary to achieve the goal. They also should question authority and find their own way but be driven by achieving peace with their environment rather than disrupting it for the sake of disrupting it. They are developers that you can coach, mentor and form and partner with other skilled people to rely on another and share with another. They are also developers that when they get bored with what they do should get the chance to switch departments, roles and train them up to become leaders and Sensei

What do you think? Is it worth to let vanity and arrogance run our markets and frustrate people who want to learn rather than shine or should we concentrate on building an empowered work force rather than a privileged few?

Oh look, using Ajax in a stupid way is not a good idea?

Tuesday, April 29th, 2008

It is quite fascinating to me that the newest article on dev.opera.com entitled ‘Stop using Ajax!’ is such a big thing right now. Tweets, shared bookmarks and Google Reader items are pouring in and people seem to consider it an amazingly daring article.

Here’s the truth: James is right. He also was right when he more or less gave the same information as a talk at Highland Fling last year following my presentation on progressive enhancement and JavaScript.

However, there is nothing shocking or daring or new about this. All he says is:

  • Don’t use any technology for the sake of using it
  • Consider the users you want to reach before using a technology that may not be appropriate
  • Make sure your solution is usable and accessible
  • Build your solution on stuff that works, then enhance it.

This is what I consider to be a normal practice when developing any software or web solution.

However, the real question is now why we are at this state – how come that we see this information as daring, shocking or controversial, and how come a lot of comments are still “I don’t care about accessibility because it is not needed for my users”? How come the assumptions and plain accessibility lies are prevailing while the good stuff remains unheard of?

Well, the truth is that we have been preaching far too long to the choir. I’ve been in the web accessibility and standards preaching community for a long time and whenever I asked what about enterprise development and CMS I was told that it is not worth fighting that fight as “We will never reach them”. Well, this is where the money and a lot of jobs are and it is a fact that both accessibility and standards activists in a lot of instances don’t even know the issues that keep the stakeholders in these areas busy. My Digital Web Article ‘10 reasons why clients don’t care about accessibility’ and the follow-up Seven Accessibility Mistakes Part One and Part 2 listed these issues and the wrong ways of how we try to tackle them 3 years ago. My talk at the AbilityNet conference last week Fencing-in the habitat also mentioned this attitude and problems.

Here’s where I am now: I am bored and tired of people fighting the good fight by blaming each other’s mistakes or pointing out problems on systems that are within reach. When people ask for accessibility or Ajax usability advice you’ll get a lot of bashing and “go validate then come back” answers but not much information that can be used immediately or even questions that ask what lead to the state of the product. You’d be surprised what you can find out by asking this simple question.

We have to understand that large systems, frameworks and companies do still run the show, even when we think that bloggers, books on webdesign and mashups push the envelope. They do, but so far they are a minor discomfort for companies that sell Ajax and other out-of-the-box solutions that are inaccessible and to larger parts unusable for humans. When was the last time you used a clever expense or time tracking system in companies that are not a startup or a small web agency? When I was at the AjaxWorld conference in NYC earlier this year I heard a lot about security, ease of deployment and scalability but only a little bit about accessibility (the Dojo talk and the YUI talk, actually). People are a lot more concerned about the cost of software and the speed of release than about the quality or maintainability. It is cheaper to buy a new system every few years than to build one that is properly tested and works for all users. Does your company still have systems or third party solutions that only work on IE/Windows? I am sure there is at least one, ask the HR or finance department.

It doesn’t help to coin another term and call an accessible and usable Ajax solution Hijax, either. As much as I like the idea of it I have to agree with James’ comment – we don’t need another word, we need a reason for people to not just use things out of the box without thinking about them or – even better – offer help to the companies that build the solutions on assumptions in the first place. When I ranted about a system by a large corporation some weeks ago on twitter their marketing manager for EMEA starting following me and I am starting some talks with them.

I have heard numerous times that my ideas about progressive enhancement and accessibility are just a “passing fad” and “that in the real software market you don’t have time for that”. Challenging this attitude is what makes a difference – by proving that by using the technologies we are given in a predictable and secure way does save you time and money. However, there are not many case studies on that…

I cannot change the world when I don’t know what obstacles people have to remove to do the right thing. Deep down every developer wants to do things right, in a clean and maintainable fashion and be proud of what they’ve done. Bad products happen because of rushed projects, bad management and developers getting so frustrated that they are OK with releasing sub-par just to get the money or finally get allocated to a different project.

This is the battle we need to fight – where do these problems come from? Not what technology to avoid. You can use any technology in a good way, you just need to be able to sell it past the hype and the assumption that software is developed as fast as it takes to write a cool press release about it.