Why you shouldn’t think like a programmer

Written by a programmer for programmers

Akshay Shinde
3 min readOct 16, 2014

Our industry went into full meltdown recently. If you’re a designer, a developer, a project manager, or even just a tech enthusiast, you’ll probably know what I’m talking about. The Internet went crazy and decided that everyone should learn how to code.

On internet everyone is talking about how to think like a programmer, but I found only a handful of articles speaking to programmers about thinking from other perspectives. Everyone suddenly seems to think that thinking like a programmer is the way to solve all problems. However, a programmer needs to start thinking like other people to become good at building products.

Now for most of us(programmers) it comes naturally over time but for some of us over-rational and over-analytical souls it’s not that easy. I faced the same problem few months back when I was asked to stop developing and start managing projects and our dev team. Being a hardcore back-end developer it took me a good amount of time(and effort) to develop some basic design sense and empathy. Now all of a sudden I’m interacting with clients, aligning expectations and looking at projects but not as a programmer. Obviously things got messy which forced me to do some soul searching and figure out what went wrong.

This is what I found. Because of your highly evolved analytical thinking process over years you will face some or most of these problems while moving ahead in your career.

Indecisiveness

When was the last time you took a decision without having good amount of data? You like to gather as many facts about the problem before taking an informative decision and that is the only way you know. However this won’t work well if you are managing. There will be several occasions when you will have to take a decision without enough data points or being fully sure. In fact on some occasions you will actually refuse to take decision which will be perceived by others as being indecisive.

Thinking About Syntax Instead of The User

Client/designer comes and tells you that he would like this new feature in the product. First thing that comes to your mind is how you will implement it and what issues you will face if the feature doesn’t fit your perfect architecture. Instead you should be worrying about the business impact and the ROI of the feature.

Optimization in The Wrong Place

This is in general a problem faced by any developer. Everyone tries to optimize within their area of expertise and no one stops to think of where the best RoI on effort will come from. You spend hours optimizing a query by 0.001 second but you will miss a button which is not aligned properly. Now a customer and the end user really doesn’t care about that unoptimized query(unless you are working at likes of Amazon) as long as that button is aligned properly. Just start following this thought process and you will be sorted.

Harder to Satisfy

Your sense of perfection is very high. Like your code something either works or doesn’t, there is no middle ground which makes satisfaction harder to come by for you. Instead you need to start seeing the grey between the black and white.

Poor Marketer

While analytical thinking makes you a good product reviewer but at the same time it makes you bad at sales pitches. You thoroughly note down the good and bad things about everything. Well I would advise you to keep doing that as long as you are not speaking with the client.

To conclude I would like to note that a programmer should aspire towards building great products rather than great pieces of code. This article can serve as a good starting point for a hardcore programmer like me.

--

--

Akshay Shinde

Seasoned product leader looking for opportunities in web3, edtech, manifesting the future. Love connecting the dots, thrive in startups/chaos.