The Difference between Good & Great Developers
You probably work with a lot of “good” people. They know how to do their job and do a fine job of it. No complaints. However, if you’re lucky, a few of the people you work with are truly great. The basics of doing the job—knowing the programming language, being able to write a coherent email, getting stuff done on time—are present in any decent developer. And, while some developers know more languages and others are faster at completing tasks, what makes a truly great developers goes far beyond the technical knowledge needed to do a job.
Do you write clean code, even when no one else is reviewing it? Do you take the time to solve those lingering bugs that you’ve noticed but no one has reported (yet)?
Great developers know that shortcuts might save time now, but will cost the team down the road. They take the time to write code that will be understandable in a year and solve problems before they start.
It’s easier to say "no" than it is to say "yes". No, that awesome design you created can’t be built. No, the new functionality you dreamed up is just too hard. Fearlessness means you’re willing to try things that you haven’t tried before. It’s an attitude of “yes” instead of “no”.
It’s pushing yourself to learn more, do more, be better and tackle a project even when you don’t know how you're going to accomplish it. You’re fearless, but smart about it—not recklessly saying “yes” to unreasonable deadlines, but saying “yes” when it will push you to be better and produce better projects.
Do you view-source on every interactive Google Doodle just to see how it was built? Do you download new libraries and toolkits just to see what they can do and then convince others to do the same?
Curiosity is what helps us expand the field of web development and lets us build better sites than we did last year. It expands our arsenal of tools and grows our own skill set, too.
You can’t work in isolation. You’re part of a team. At Nebo, our development team works closely with both our design and strategy teams. That means talking to people who don’t know how to code (horror, I know) and understanding why they want to do things a certain way.
It requires thinking outside of the development box—not saying no because a feature would be hard to build, but instead thinking about the feature from the user’s perspective. A feature that will take a site from “meh” to “wow” might be technically difficult, but ultimately building a website isn’t about taking the easiest path, but rather, it's about pushing ourselves as a team to make it the best we can.
More than Just Another Code Monkey
Have you noticed something about these traits? None of them have anything to do with technical knowledge. You can teach someone new programming languages, but it is a lot to ask to teach someone to be curious. I’d much rather hire someone who is curious and fearless and has integrity than someone who knows every programming language inside and out.