Don't let developers sell themselves short

Good developers have a tendency to learn, which creates a problem. Everything they did yesterday, they want to rewrite to be better. They are NEVER content with their code! To make things even harder, most developers are pessimists and always make the current state of any application worse than it really is.

While these are actually great traits for their role, it can be easy to let developers sell themselves short and miss working on something great in favor of improving the old. Managers have to continually challenge them and make sure they are working on things that will help them achieve greatness.

How do you find the balance?

  • DO fix things that are broken.

  • DON’T sacrifice quality.

  • DO follow the boyscout rule. If you are making things a little better as you go along, you will keep the ship afloat.

  • DON’T rewrite things if you absolutely don’t have to, especially if they aren’t broken.

  • DO push developers to accomplish more than they think they can, while being realistic.

  • DON’T worry about scaling too far in advance. An application has to scale for a few months after launch, but resources are better suiting building things to entice customers, and therefore create a need to scale, instead of scaling before the need. (Just make sure you know when that need is hit)

  • DO eliminate all the waste and make sure your developers are truly working on the most important things.

  • DON’T wait for perfection. As Dharmesh says, if you aren’t a little embarrassed of the features you are developing, you waited too long to release it. The internet is too fast paced to wait a second.

In summary, make sure you are challenging your developers and pushing the envelope on the things they are working on. Developers have an insane desire to make something perfect, even when the business case may not always be there for it.