Coding isn't always the solution

We’re here to code, right? Right!?

Well, yes and no.

You’re usually part of a team, trying to solve a business problem. Naturally, when your mind is very technical, you conclude that you must build a new microservice™. It’s not a big deal, since it’s just micro.

You sit down, get in the zone and can’t stop yourself. Hammering out thousands of lines of code with auto-completes from your IDE is too satisfying.

But is this always the appropriate response?

Write less code

Reinventing the wheel is dangerous. Something that seemed simple at first turns out to be a nightmare. Trying to effectively cover all edge cases could take you months, without counting the bugs. Before you know it, you could find yourself having to build a team around it.

Don’t be afraid to use existing solutions. This is how developer productivity keeps going up. Great libraries appear every day. Do your due diligence, discuss internally and make a decision.

If you’re part of a larger project, that team you interface with, but never actually talked to, might’ve solved it already!

Write no code

I hope you’re not compensated for the lines of code you write. If you are, stop reading this and get back to work!

This one was difficult for me, but revelations come in unexpected ways. I would find myself reading parts of elaborate specifications thinking:

“This makes no sense.“

Our brains can get stuck in a certain mode of thinking. This is exactly why rubber ducking works so well. (Although, I have to admit, the duck gets little use, I just bother actual people.)

The trick here is to push through the fear of embarrassing yourself and dig deeper. So why not go ahead and ask:

  • “Why are we doing this again?”
  • “Do we need this right now?”
  • “Are we sure our customers want this?”

More often than I would’ve thought, we would end up redefining that part of the product for the better. In some cases even, a solution would pop up that didn’t involve coding at all.

Why you’re there

To be able to contribute to a project effectively, understanding the big picture is crucial.

Probably the most important aspect is knowing who your customer is, what they value and how they’ll use your software. This will help you make the right design decisions and ultimately simplify your code.

When everyone is on board with the project’s mission, creativity and motivation flourish. Work together with your stakeholders, and not in a vacuum, to make something your customers will love.

July 08, 2020

Filip Meštrović is a software engineer helping large enterprises build useful and maintainable applications. Talk to him on LinkedIn!