The Main Traits of Rock Star Developers

Contributing Editor

I was recently asked: “how do you rate the skills of a web developer?” It’s a tricky question.

Is it knowledge? Not necessarily. Knowing how something should work is no substitute for application of those skills and solid coding experience.

Experience then? Not always. Past experiences do not prove future productivity or an ability to grasp different languages and concepts.

Productivity? That’s difficult to quantify. I’ve known incredibly quick developers who, in their haste, produced shoddy code or focused on their own interests rather than the project’s requirements.

Could it be the quality of code? To some extent, but quality code does not always result in a usable system which is delivered on time and on budget.

In reality, good developers need all those skills but I consider the following traits just as important — if not more so…

Curiosity

Good developers are interested in IT. They want to know how things work. They’re eager to learn new technologies. They want to pull code apart. They’re not content to use code libraries without understanding the underlying techniques.

By contrast, some developers are happy to finish a project in the shortest time with the minimum of effort using whatever code they can cobble together. They may produce quicker results, but there’s a drawback…

Attention to Detail

Good developers can apply their skills throughout the development life-cycle.

Prior to coding, good developers provide business analysis, observations, feedback and suggestions. They consider user journeys and solve problems effectively. They simplify interfaces rather than adding unnecessary complexity.

From a technical level, they understand portability and do not necessarily rely on dependencies present on their development machine. They realize a web application may be on a different domain. They appreciate that it may not be installed in the “MyApp1″ folder. They consider the issues PHP5.4 code will cause on some hosts. They know international language support may not be required today, but make sure it can be added in future versions. They place configuration options in one file or location. They support all browsers. They add good comments. They make good notes. They thoroughly test. They make it easy for other developers to adapt their code.

Above all, a good developer writes code which works and doesn’t require frequent maintenance.

Obviously, everyone reading SitePoint falls into this category, but what do you think? How do you rate developers? How does your company rate you?

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • Richard Miller

    Is anyone else sick of the terms ‘Rock star’, ‘Ninja’ etc when it comes to web?

    Could you imagine this -

    Awesome rock star data entry clerk needed! Ninja Skills with excel.

    • http://www.optimalworks.net/ Craig Buckler

      Yep, I hate it too. I had “great developer” until I reviewed the post this morning.
      Unfortunately, no one would have read it.

      • David

        People would have still read it, but not with the same content. The article is ridiculously stripped for an ‘article’. You said what you could have said in a twitter status message, which tells me you didn’t really say much at all.

        If you want people to still read your articles when you don’t use pathetic buzz words like ‘rockstar developer’, then write more in-depth, helpful articles and people will feel compelled to share them! I can’t think of a more common sense approach.

      • http://www.optimalworks.net/ Craig Buckler

        Fair enough, but you still read it?!!

      • David

        David,

        I think you are missing the point of any title or headline. Their only real purpose is to get someone to click on them or to start reading further.

        Like it or not, that’s what works in getting people to read.

        Of course, if the rest is junk they’ll stop reading but you need to get people to start reading and for the vast majority of people (not all certainly) an intriguing title or headline, one that fulfills some need or makes the reader curious (or some other things) will get a lot more readers than one without that type of title or headline.

        That’s why you see so much of it on and off the Internet, it’s what works.

        So, if you goal is maximum readership of your target audience then you need to write the type of title or headline that will catch their eye and entice them to go further.

        It’s a lesson that took me embarrassingly long to learn :-)

        I do agree the article was a bit light and I’d have liked to seen more though.

    • http://www.webmosis.net CMS Dude

      Really good Data entry clerks aren’t worth upwards of $5,000 to $8,000 per week in billable hours for their companies.

      That’s why they’re not called rock stars. :-)

      • Richard Miller

        When did web people start getting up on stage, busting out a sweet ass solo and taking some hard drugs? They are too busy in there Moms basement.

    • http://davidcoleman.1.ai/ David Coleman

      If you are a true “rock star ninja” programmer… you are embarrassed to be labeled as such out loud in person, because you have learned enough to know that you have only begun to master your craft. If you think it’s silly or “are sick of the terms” then you are probably not a rock star ninja. Most guru level devs have multiple backgrounds and can apply experience and knowledge from many distinct industries to the task at hand. That is what makes a guru. Oh yeah, and most of the stuff that Craig mentioned too… very good article!

  • http://www.enteroctopus.com Jean-Philippe

    I thinks those are only words, “Rockstar”,”Ninja”… all to say that some develloppers are awesome. We are all awesome, ;) great article…

  • Patrick

    Most of my work is in PHP, and PHP is probably one language where a large proportion of developers aren’t very good (mostly due to its “low barrier to entry” design). But there are plenty of things that indicate how clued-up a developer is, most of which can be discovered by looking over a sample of their code or having a short discussion with them:

    Do they use version control (preferably git)?
    Do they use OOP where appropriate, and do they really understand the underlying principles (an especially important question for PHP devs)?
    Do they write appropriate and useful comments?
    Do they know how to use patterns like MVC?
    When presented with a new challenge, can they think through it logically and propose a general solution, or are they immediately going to turn to Google for the answer?

    It is hard to define what makes a good developer. Like in most fields though, it probably comes down to having a passion for producing the best product possible, the willingness to learn, and a perfectionist level of attention to the small details.

    • Brian

      Version control yes, but having used svn, mercurial and git, I don’t think you can tell much about a dev’s skills because they use git. In fact, I’ve seen some ridiculous applications on GitHub, so using git doesn’t mean …. hey, I almost rhymed.

      • Patrick

        Yeah, I agree. Any version control is a good sign. I’d say git is the “best” (risky statement perhaps) given its distributed nature and various other advantages over svn (which I used a lot back in the day), but they all achieve roughly the same thing.

        And obviously just using git (or whatever) doesn’t automatically make you a good developer, but I’d say good devs are more likely to be using version control, so it is perhaps a rough indicator of how knowledgeable a dev is likely to be.

  • http://www.Stackify.com Matt Watson

    I think the best developers are really good problem solvers that really care about the users. So many developers shrug off the impact of their changes and how they effect the users. They need to embrace the users and the problem.

    Thanks
    Matt Watson
    Stackify DevOps

  • http://www.brothercake.com/ brothercake

    Seriously? One developer in a thousand meets all your criteria. Such professionals are rarely found.

    • http://www.optimalworks.net/ Craig Buckler

      And that is entirely my point.

  • David

    You pretty much described me, which has made me feel better! I still need to work on my expertise, but I tick all the boxes and I’m an enthusiastic full-stack developer with a passion for what I do. I’m actually surprised, from the comments and research, that more developers are not like this.

    I moved into web development because it is something I love. I can’t imagine doing this job if I was fixated on making money and doing ‘work’. I think the developer you become also has something to do with how you are introduced into web development. I am a freelancer and so move at my own pace, and every accomplishment is largely my own. I can’t really imagine working for a company and having everything I do be part of a bigger machine that doesn’t appreciate the work.

  • http://www.fiveminutelessons.com Millionleaves

    I like Patrick’s response, but I’d add one point to it which encapsulates the “X Factor” for us, not just of a developer but of any potential member of our team – the ability for someone to think around corners.

    A developer who works through things in a linear way will eventually hit a wall. We look for people who can see the wall coming and figure out how to avoid it AND imagine (or decide) what will be on the other side.

    There’s not test for this, but we know when we get someone who can do this. And in our experience, they’re as rare as hen’s teeth.

  • http://www.a1swdeveloper.com Mike

    I have often been called in to … fix it… after others have failed. I seem to be able to solve difficult problems. I and another team of 2 are doing a rushed data extraction. What I see is illustrative. Theirs is based on an elegant XML controlled process with minimal lines of code and 4 very short useless comments. Mine is huge (though written as fast as theirs) and full of comments above and in the code (C#). Diagnostics are built in. Due to circumstances I even put the documentation into the code. It’s the template. Theirs is beautiful. Mine is ugly. Mine works. Theirs is scary and non-adaptive. We know it has problems. Maybe it will work. It will be a nightmare to maintain. It reminds me of all the code I have been asked to fix.
    I talked with Brian at another position. I said I put no art into my code. It is simple and reads like a book. I use hungarian notation, it is meta data. He said that “well, he and Andrew both had masters degrees in computer science, so don’t expect that of them. I hear that Andrew writes spaghetti code.
    The guy I learned from wrote code for NASA. I hear that they audited their code rating it in difficulty from 1 to 100. They wanted it at a level of 10 or less. My friend’s code was all around 95.
    Don’t think to sell me short. With C# I have programmed SNMP, Outlook recurrence pattern, Exchange Server, Oracle, LINQ, ORM .. whatever. I write killer AJAX and JQuery. I get called in to fix the stuff. A lot of the time though, I do normal programming and end up bored, but it’s about a business product, not my art. I keep my art out, use best practices and write industrial grade code that lasts for years and can be maintained. My experience shows me that art kills code.
    Respectfully, Miguelito (little Mikey)

    • Mark Conway

      Can I vote this post up?
      Mike, great comment. Did the guy who taught you to code work in the shuttle software group at Lockheed Martin (CMM Level 5 organization)?
      Most developers could help themselves and their employers/clients by reading anything by Steve McConnell, Watts Humphreys, Fred Brooks, or Tom DeMarco, and getting an introduction to the field of software engineering. I think most developers are only marginally aware of the parts of the field outside of the construction phase of software development.