Jonathan takes a break from writing The Agile Samurai to share the four things that will make you indispensable.
Jonathan Rasmusson teaches developers how to become an agile samurai. By learning the ways of the agile samurai you will discover:
how to create plans and schedules your customer and your team can believe in
what characteristics make a good agile team and how to form your own
how to gather requirements in a fraction of the time using agile user stories
what to do when you discover your schedule is wrong, and how to look like a pro correcting it
how to execute fiercely by leveraging the power of the agile software engineering practices
In this succinct essay, Jonathan focuses on how to make and keep yourself indispensable as a developer. -MS
When you start your career as a developer it’s easy to fall into the trap of thinking that your job is all about the coding. It isn’t.
Sure, you need to know the mechanics of your programming, and yes, you need to know how to refactor, unit test, and do basic design. But coding by itself isn’t enough. Not enough to become indispensable.
Know the Customer’s Business
To be indispensable you’ve got to know your customer’s business—inside and out.
If you don’t know the business like the back of your hand, how else are you going to come up with the brilliant innovations, insightful breakthroughs, elegant designs? You can’t. That’s why you’ve got to go and sit with your customer. Feel their pain. Then, and only then, will you be in a position to help.
Be Serious about Testing
The indispensable developer is also serious about testing.
Great developers take pride in what they do and don’t pass the buck on quality. They write tested code that works. That doesn’t mean that they are perfect or that no bugs ever get through. But the best test hard, and secretly strive to do everything in their power to make User Acceptance Testing (UAT) a non-event.
Care about the User’s Experience
The indispensable developer also cares greatly about the user’s experience.
Much like an animator is really an actor with a pencil, they view themselves as a customer with a keyboard. To them the user experience, and how their users interact with their software, is just as important as how it is built. Never an afterthought, the User Interface is front and center from day one and stays their for the life of the project.
Own the Process
Finally, the indispensable developer knows how to set and manage expectations. They know when to commit (and when not to). They know how to size things up and set expectations around dates. And they know how to get feedback, roll with the punches, and adapt the plan as necessary.
If this sounds like a lot for one person to do, it is. That’s why there are so few indispensable developers. But if you really want to separate yourself from the rest of the pack and avoid becoming a commodity (which most developers are) you’ve got to be flexible and do more than just code.
You’ve got to become indispensable.
Jonathan Rasmusson is the author of The Agile Samurai. As an experienced entrepreneur and former agile coach for ThoughtWorks, Jonathan has consulted internationally, helping others find better ways to work and play together. When not coaching his sons’ hockey teams or cycling to work in the throes of a Canadian winter, Jonathan can be found sharing his experiences with agile delivery methods at his blog, The Agile Warrior.