Coder or Problem Solver

Rojesh Shrestha
Devnetwork
Published in
2 min readApr 14, 2017

We as a software engineer take pride in our code. We generally feel very satisfied when we write a beautiful piece of code following the best coding practices. But think about it, is our job just to write beautiful code? The answer is obviously NO. Our job is to create value. The objective of our code is not to frame it and hang it on the wall. Our code has no value unless it solves the problem that some real users are currently facing.

So what can we do besides focusing on writing beautiful code to create business value?

Understanding the problem

Before jumping into solution and focusing on the nitty-gritty of technical implementation, focus on what problem are you trying to solve and who will be benefited by it. Interact with the real users, know their pain points. Don’t make assumptions that your ideas will solve their problem. Validate your ideas with them and after making sure that you are solving the right problem, move to the next step of implementation.

Focus on iterations

Building the right product is a very difficult job. You should never assume that you will build a perfect product in a single go. It needs iterations. Focus on building the minimum viable product and validate it with the beta users as soon as possible and focus on making iterations to make adjustments and improvements. It will help to identify whether the product you are building is actually going to solve the problem in very early stages.

Get out of your comfort zone

In order to build the right product, we also need to interact with the real users in the real world. So, we should also get out of our comfort zone of our desk and daily coding life and work on our communication skills. Sometimes the real users may not know what they actually want and they may think what they need is right but in reality that may not be correct. So, having subtlety in dealing with users is also very important quality to have.

Measure it

There is a saying ‘if you can’t measure it, you can’t manage it’. You should also make sure there is a metrics tracking mechanism in place to identify whether the feature that you build is actually being used or not. You should be able to measure it. Suppose, if the system is slow, you should have good understanding what slow actually means. In order to improve it, you should first measure it. But measuring everything is not possible, so you have to be very precise on what you actually want to measure to minimize any kind of overheads.

Minimize the gap

The business needs changes very frequently. It’s very hard to keep up with the changing business requirements but saying so we should try to minimize the gap as much as possible. Our development approach should be agile and we should focus on continuous delivery.

So, let’s start being more than just a coder and start expanding our horizon and start focusing on creating the business value as well.

--

--