Get out! The curious developer? Arlo’s insights for coders
Talk less, learn from the code, and ask about your blind spots
Are you an apathetic developer? The business people don’t know what they are talking about. I have this all figured out.
Arlo Belshee recently shared some advice. The overall theme was to be curious—the opposite of being apathetic.
Talk Less
He started with wisdom that I could see Mr. Miyagi giving Daniel in Karate Kid.
Talk less. Listen with open curiosity more.
This short dictum echoes Robert Greene’s 48 Laws of Power. Law 4 is “Always say less than necessary”. Too often we want to talk a lot and say nothing.
Levels of Developer
Arlo takes this deeper. He breaks it down for your role.
Junior Developer
As we start out we need a basic understanding. Ask why the old system weirdly does that thing. Could it use a new tool?
These questions can give you a foundational understanding. Develop interest in the details. This will pay dividends as you go.
Mid-Level Developer
From there you can begin to see things from the customers' perspective. Why do they have this particular requirement? What makes this the best way to work?
Arlo’s questions here give us tools to pry into the customers' minds. Begin to build empathy for the user. See how things look from their perspective.
Senior Developer
Now take your experience and focus on the team. Why did the team react this way to the change? Are we pushing too hard?
Competent coders know they are part of the team. We have to look at everyone in total. Who needs to step up? Do I need to step back?
This also applies to technology. Although you may be quite accomplished, others should have ideas and input. Don’t stifle the team.
In the Code
Arlo shared some guidance with different types of code.
Legacy
He handed us this gem for existing code.
When encountering legacy code, be curious about what edge cases and unexpected situations led to the tangled code in front of you. What non-obvious, critical wisdom does it contain?
This reminds me of one of the first applications I worked on. A senior programmer warned me. Don’t touch this file. It is a mess of spaghetti code.
New
Arlo gave us two questions for developing new code.
What do they know about their situation that I do not?
How can I change my products to meet them rather than expecting the reverse?
These two can help us glean a better understanding of the customer. They can need prodding to get all of the basics down.
Final considerations
Arlo added these additional thoughts.
What are my blind spots and who can see them? What am I doing that blocks them from telling me? Perhaps try a pair or a mob and see what you don’t know.
When you feel like you have it mastered. How can you and your team move past the question of who is right and towards achieving success together?
Considering all of this Arlo has a lot of expertise. Essentially we need to be curious developers. Ask more questions and talk less.
Think about what role we play. Ask the right questions to bring about success. Find people to collaborate with.
Keep looking for your blind spots. Pair and mob to gain a broader understanding.
I am grateful to Arlo Belshee for sharing this. Get more of his suggestions here.