Developer Naïveté

“It can’t be that hard, can it?”


When working with developers, it’s important to understand how they are thinking. When a developer says something like the line quoted above without any hints of sarcasm, she is usually met with disbelief and a reply in the lines of “yes it can”.

Developers create things. Creators overall, not just developers, usually develop an abstract skill of thinking. This form of thinking allows one to go from a view of a problem to a suggested solution very quickly. Or, in the case of art forms like painting, go from nothing to vision of creation equally quickly. This is usually called a “spark of creation”.


When one quickly goes from the very beginning of a workflow to a vision of the finished creation, it’s very simple to underestimate the length of the road between start and finish. In a world where everything is an estimation, it is as easy as it is deadly to overlook what could very well be the entire process.

So, in a sense, I agree with the disbeliever saying “yes, it can be that hard”. I believe that there is some form of naivety connected to this. To relate back to my younger days, I did something of the sorts during math classes.

I took pretty much every math class possible up until the end of high school, and all my math teachers concluded that I only had one real issue as a math student; Whenever I saw a problem, I solved it all in my head and just stated the solution. My teachers then tried to explain that I needed to state all my steps so that they could follow my train of thought. As the rebellious little punk I was (and to some extent still am <3) I answered with “Well, I got the solution. Why would you need anything else?” and then reluctantly did all the steps needed.

I have since realized that my approach was poor and naive, and I am thankful for the fact that my teachers were adamant that my workflow was bad. Still, this naivety stuck with me, and when I started to develop software, I was back at square one again.


But, I also defend this Developer Naïveté. It’s not all bad. To the contrary, I find it really useful! Based on my own experiences and my half decade of working with developers, I’ve observed that we reach really intense levels of productivity when we have the sparks generated by this naivety. So, while I agree that it is bad to disregard the amount of work needed to go from problem to solution, I think it is worse to undoubtedly quench these sparks and disregard them as naive.

Instead of that, I’d recommend recognizing this and embracing the possibility that letting the developer work on her ideas for a while might give a boost in productivity. There is still some chances that the idea actually is genuinely naive and troublesome, but I’ve seen and experienced too much instant dismissal that I can’t help but be worried. Getting these sparks dismissed enough times, the developer will eventually stop having them and might lose the connection to one of the most valuable feelings about being a developer; the feeling of creativity.

So, if you hear a developer say something in the line of the opening phrase, I urge you to reconsider before dismissing the idea.


And yes; the opening quote is indeed what she said.