Julio's Blog

Follow me at @julio_ody.

Why Tony Stark is better than you

My all time hero as a developer is Tony Stark.

It has nothing to do with the fact he’s rich, famous, or that he gets the ladies. It’s because Tony Stark builds his tech, front-end and back-end. He doesn’t make things that just do the job. They do, but they look awesome while at it.

You see, most developers nowadays fit in one or more of the following brands of bad: “I’m a developer, hence:”

  • I don’t have to care about how things look. I have a designer who handles that for me.
  • it’s ok for me to be ignorant about how to lay down a good interface, because I’m a right side of the brain kind of person.
  • I’m happy with unusable interfaces that look plain bad. Hey, as long as my forms get posted, I’m set.

Now picture Tony Stark coming back from the cave where it all began, and hiring a team of designers to come up with the Iron Man suit. Then having 2 meetings per week until finally, after 2 years, they come to a consensus, after which he retreats to his lab with the final design, and proceeds to build the suit, only to find out that turns out the groin region looks weird, so he re-submits the design to be amended. Another few months of back and forth and he’s done. By then, the world has been taken over by the evil guys.

If you can’t design, don’t be proud about it. That most likely is so because either you learned to accept as gospel whatever negative remarks people made about your attempts at making something that looks good, or because you never tried. And then because you decided it wasn’t worth learning. Listen up: there’s nothing clever about limiting yourself.

This mindset makes you a code monkey. You will never come up with anything that has any decent wow factor to it. If you justify that by saying you like to write libraries exclusively, I’d hedge my bets on them being average at best. Why? Because you’re not spending enough time solving end-user problems, hence, you got no clue on how you could make your library feel great to use. It probably reeks of old school, cryptic software made for other mediocre programmers like yourself.

So what can you do about it?

Stop believing Photoshop, Pixelmator, Illustrator, or anything else is too hard. These tools can have a steep learning curve (not as bad as you’d think), but so did programming when you were starting on this game. Nothing was immediately clear, you’d see people writing awesome code all around and you had no clue on where to begin. But you went on for over 30 minutes, asked questions, annoyed your programmer friends, and wrote bad code until you learned from a bunch of mistakes, and (hopefully) you got good at it. That’s the whole formula, and you already knew it.

Still don’t want to fork the cash for these suites, or you consider yourself really incapable of learning any of them? Design straight in HTML and CSS. It will be fast as hell once you master it, and like anything else, you will only master it by doing a lot. HTML came a long way since the 90s. Things do look great nowadays if you know how to write good markup and stylesheets.

What do you get in all this?

Freedom and power. The moment you’re capable of make things look good AND on top of that, build fast and efficient back-ends, there’s no stopping you. Don’t get me wrong, you might still work with specialized designers (and you probably should), but you’ll be in a very different position: you’ll be a qualified collaborator. Your knowledge of How Things Work™ combined with good architecture and style is what software nirvana is made of. You’re officially out of the bag of cats that a lot of self-appointed designers like CEOs and managers are, into the land of your input counts.

Don’t side with mediocrity. If you hear someone tell you you can’t do it, assume this person has an agenda in keeping you low. Go aggressive on them. Better yet: laugh. Don’t take full negatives as truth. Your average work today is the half way through to awesomeness. They don’t have to believe that, but you do.

Then take suggestions well. Which doesn’t mean accepting them as they come. Hear people out, and if it sounds like something you could like, then give it a try. Come back to the person who made the suggestion and show your work. If they like it, accept whatever compliments you get. If they seem to find nits to pick ad nauseam, walk away. It’s poison. It’s likely that they’re concerned about you becoming better than them so they just can’t hand that one to you.

And finally, hone those skills at every goddamned chance you have. A few hours a week will do. When you get any good, it will stop being a chore and start paying off.