Why aren't there top developers?

Recently the newest issue of .net magazine landed in my post box. In it there's a special edition called 250 web design greats.

"... web design greats"

Interestingly enough there are a ton of lists listing the very best designers, the sites with the best designs. No one seems to be interested in the development world, as if that's something the lowly peasants do.

Sometimes there are flickers of fame for the developers, such as .net's own The Net Awards competition, but that's about it. Meanwhile there are countless blogs and products showcasing the amazing tilt shift photography of the site someone created pictured on a mobile phone photographed at an angle. Yes, Dribbble comes to my mind, but everywhere else the designer seems to be the glorious person.

This might sound a bit bitter, but it is not, actually. I have a ton of respect to every single good designer, it's just kind of sad that the general populace knows exactly what a web designer is, but has absolutely no clue what's a web developer, or how it differs from the above people.

Reason I'm pointing this out is to vent a bit of frustration, because web design and web development go hand in hand. A site might look amazing, but if it's sent to a html chop thing in India, it will be slow and subpar, and will just not work. Turning a psd or a Sketch design into an actual site is the work of developers, no matter what the latest tool is promising you.

Yes, the work of a developer is unseen most of the times, as people have a hard time figuring out what the difference is between two sites of the same design that were developed by two different people. Sometimes they won't even notice the difference when using.

So why is this important?

I'm a developer. I like to think I'm a good one at that, because I care about what comes out of my keyboard. Because I care, sometimes I just sigh when I see works of absolute beauty behave atrociously. Why is code indentation important? Why is it important to follow certain JavaScript rules? Why is it important to name php variables a certain way, or why is the structure of code comments important? The code works, the computer does not care.

Yes and no. Sometimes just by optimizing the code one can eliminate superfluous requests to the server. Why is that important? Faster code, less traffic between client and server (people on mobile phones won't run out of their allowance for example), less load on the server (more simultaneous connections, which means more traffic / server size).

Making sure the code is tidy can have amazing benefits. Your developer, when he/she returns after a while to the code will be glad it's tidy. They know where everything is, what everything does. Ultimately they need to spend less time refamiliarizing themselves with what's been done, which means less billable hours, which means in the long run, you're probably better off. Not to mention that if I inherit code that was done badly, the first 10-15 hours of my billable time will be spent refactoring everything so I can work with it. Bad code = more expensive to restore / upgrade / revive.

To use an analogy. Let's suppose you have a choice between two cars: both of them have four wheels, a steering wheel, they both look the same, they both achieve what you want to do (get from A to B). One of them is a cheap one. Chassis bolted on, old engine (it runs...), cheap breaks, awkward construction inside (you don't see it, so it doesn't matter), and only one seat, because you're the only one that wants to travel, right? The other has a neat new engine, spacious construction, so stuff are accessible, perfect brakes, and all the seats are there. Yes, it cost probably twice as much.

Now let's change a lightbulb:

car A: tedious, because the engine needs to be taken out to access the lamp, and after spending some time, you realize that bulb is no longer avaialble. Time to replace the lamps as well.
car B: reach in, pull old bulb, replace new one, done.

New law about co2 emissions

car A: engine fails. Needs replacing. Drivetrain incompatible, that needs replacing. Control unit incompatible, that needs replacing. Whole mess, lots of time.
car B: neat, engine already knows that. Might need to change a filter, about 5 minutes (easy access, remember?)

Party, let's drive people to that

car A: Um... no, only one seat. New seats needed. Time. But then engine is not strong enough to carry 4 people, wasn't built for that. See previous point.
car B: Awesome. Let's also bring beer.

I hope I got my point across. Hire GOOD developers, and allow them time to get stuff done. Yes, they will take more time, yes, you will probably not understand why they need that long, yes, they will cost more, but in the long run, you'll be glad you did.