5 Ways To Be An Indispensable Developer
A version of this article appears on Purple, Rock, Scissors.
So you’ve got the chops and you’ve got the gig. But what is it that makes developers stand out on a team and earn a spot as a key player? These are the things I’m looking for here in an agency setting. And, I’m pretty sure everyone else is looking for them too.
1. Know that time is more than the display on your iPhone telling you you’re 20 minutes late.
Whether you personally behave this way or not, developers are stuck with the bad rap of sleeping in late and not being on time. So you might have guessed it, yes, being punctual for an interview and then, subsequently, to meetings when you get the job is a quality that any employer wants to see. But there’s more to time management than being in the seat when the meeting starts. There’s also respect for everyone else’s time, and understanding that in some cases, you might have to work with other people when it makes sense for them. Your time, while valuable, isn’t always the most valuable. You are part of dynamic group building a product together, and you need to be in rhythm with that group in order to make the product a success.
Remember: If you aren’t on time, you won’t spend as much time around the people who will help make you successful. You are only as successful as the people you surround yourself with.
2. Ok, you’re Developer-aAwesome. Now be Business-Awesome.
If someone asks you if you can build something, the answer is always, “Yes, I can build anything.” But being able to do something doesn’t mean it is the best solution for product. Indispensable developers work to understand every aspect of a product from a business perspective, so they can respond to questions with, “I have a better solution for this, because it will save time/money,” or “Maybe we can use a plugin here so we can focus on the more important features of the product.” In addition, looking at the overall business goals allows developers to help their team decide what aspects should be prioritized based on their strategic value to the product and their actual level of effort.
Don’t know how to be Business-Awesome? Read up here on Goal-Driven Design.
3. Don’t just listen. LISTEN.
You’re a developer, so that means you’re a problem solver. But when you walk into a room with the best, right, and only answer, and you’re not open to letting that opinion change, you’re doing it wrong. In fact, you may also be wrong, and that’s OK. Have constructive conversations with your team, let your opinions change, and work together for the common goal. But let’s just say even after you’ve listened to everyone else’s approach and you still think you’re super-duper right, you better be able to back your approach up and fully explain your position. A decision has no weight unless you can defend it.
That said, understand the difference between a discussion and an argument. There may be times when you’ll need to be the bigger (wo)man and table discussions until things cool down a little.
4. Prioritize like it’s your job. Because it is.
Congratulations, you’ve been assigned a project. Now ask yourself: what is the most important thing that needs to be done for this project? Communicate this to your team. Then, if the team is in agreement, do that thing and do it until it’s done. Then ask: now what is the most important thing? Do that until completion. Don’t jump around and get 4/5ths of the project 85% done. You can’t launch a product with no completed features, so bite off small, manageable chunks. Push back on bottlenecks. If you’re waiting on something, let them know you’re waiting for it and it may, eventually hold up the process. Offer to help your teammate, because you’ve established the priorities and know that not getting this thing done will be to the detriment of the final product. If everyone’s on the same page with priorities, the entire team can hold each other accountable for the product’s success.
5. Be eco-friendly.
As in recycle. Don’t waste time writing everything from scratch. I know you can, but that doesn’t mean you should. Use tools, plugins, modules, add-ons, components, and reusable code to get your work done faster, because your time is valuable, and it doesn’t need to be spent on the foundational features. Don’t reinvent the wheel. You can take most wheels and put them on any car, which is why all the car manufacturers use the same tires. Use the thousands of hours of blood, sweat, and tears that others have put in to their products so you can spend your energy creatively problem solving and giving your product the features that make it cut through all the noise.
Sound like you?
So, if these are the things I’m looking for in developers, how do I measure that come interview time? Well, I’ve got a test. If you’re interested in taking that test, and you think you’ll pass, come and get yourself an interview!