I thought the most valuable result from my job as a developer was to deliver functional code. But, there is more to software than that.
Our real value comes from elegant solutions and understanding every layer of the product we are developing. Good engineers do this.
Exceptional developers also lead their team to do it as well.
As a problem solver my first instinct when I get a bug is to code it away. However, I’ve come to realize that fixing things without understanding them might be costly.
We would end up investing a lot of time and effort, only to end up with that feeling of, “I’ll need to refactor this.”
The secret is to find out how to make every line of code be worth its weight in gold.
Obvious Solutions Don’t Always Go a Long Way
Whether it is a simple or complex problem, you need to understand what it is intended to do. You also need to think about whether or not your solution is scalable and how maintainable it is.
For example, what looks like a one-liner solution may leave behind a horrible problem for the next developer who works in the code.
What looks like a complex problem may lead you to create overly complicated, unnecessary code.
Better to spend more time upfront understanding what is really “broken” and then taking the time to come up with a reliable solution that will stand the test of time.
Exceptional engineers do this all the time.
Developers who have a sense of ownership over the product can have a great impact on your team. These folks avoid the easy way out. It might take them a little while longer but it is worth it in the long term.
The best way is often painful yet rewarding.
Leverage your sense of ownership to lead your team to make the best possible effort. Help the team claim the product as its own. That’s what exceptional engineers do.
No means no, and yes, means yes. Even if it means telling a product owner that his baby is ugly. This feels risky, but it is more so to not speak up.
Having the issues out in the open will give your team a more insightful look of what you are building. This is your chance to improve it.
Lead team members to be proactive, rather than reactive when someone is bluntly honest with them. Exceptional engineers do this well.
Pack Wolf, Lone Wolf
Being an exceptional developer implies more than writing great code or being a brilliant architect. It also means that you must play well with others.
Beware of lone wolves. They can really dampen team effort.
Having people in your team who can teach others is invaluable. Down to earth and patient people will help others grow. The lone wolf keeps what he knows locked down inside his head.
Encourage your team to develop a culture of helping each other. Even when it hurts. As an exceptional developer, you can do this.
Keep the Conversation Alive
Leading an exceptional development team will be no easy feat. There’s no guarantee that any specific process will work. It’s more about keeping a communication channel always open.
Let the conversation flow. Keep it alive.
Trust your team. Let them own the product, speak their minds and grow together.