How coding shapes your thinking

This article was first written and published for the Business Coaching Magazine.

When you write software all day, it shapes your thinking. Your brain is trained and you build up mental automation.

Interestingly, some of these thinking patterns are the same as those of successful entrepreneurs.

If one imagines a developer as a geeky introvert hiding behind his computer and closed in his bubble, what’s happening on the surface is very different from what is happening in his mind.

While programming, a developer is hyper-focused. He is on a mission to develop a software. So what is developing?

Developing is about learning

With this goal in mind, the developer drafts a possible architecture to build his software and gets to work. He writes his first piece of code and tests it.

The feedback is immediate! Does it work? Does it compile?

If not, the developer reviews and adapts his code, correcting his thinking, re-writing his program and testing it again and again until it works.

He revisits his thinking and learns how to build this piece of software.

In fact, after the programming is done, a developer can rewrite the exact same software about a 1/3 of the time it took him to write the initial program. He has learned and corrected his approach.

Working like this teaches you that you never get it right the first time. Test and learn becomes a reflex.

This is the thing developers share with entrepreneurs. The ability to test, learn and adapt.

Coding is about reaching out

Bugs and program errors are sometimes very hard to find, understand and fix. The developer needs to find the source of the bug and the solution to it. Very often the developer searches the web for similar cases or reaches out to the developer community to get help. Getting help and learning from peers is typical behaviour of developers.

Coding is about limitless possibilities

New applications are always amazing us: self-driving cars, facial recognition, complex computations, medical algorithms, search engine, etc… Developers KNOW that anything is possible with software. It’s just a matter of time to build it and perfect it. Developers see possibilities where others see obstacles and blockers.

Coding is understanding the bigger picture

Before coding, the developer takes a step back to understand the wider context of his work:

  1. De-zooming to grasp the essential function required. How is the software going to be used? what should it do exactly? How will this bring value to the company?
  2. Imagining the solution: the developer needs to understand the technical environment in which his software will work- like a piece that must fit perfectly inside larger puzzle.

Coding is an act of creation

The developer creates the software. He imagines the solution and brings it to life by coding the way he wants. He chooses how to build it, his tools he will use, where he will start, the functions and variables of the program, etc.. Developers have the freedom to express their creativity. The only condition is that it has to work.

Coding makes you happy

Programming is rewarding. I realized a few years ago while programming that developers experience a state of flow defined by Mihaly Csikszentmihalyi as a state of energized focus, full involvement and enjoyment.

To enter this state of flow you typically need :

  • a clearly defined goal
  • a challenge adapted to your skill
  • immediate feedback

As a result, you enter a state of flow recognisable by:

  • an altered perception of time. …
  • great inner clarity
  • and a sense of serenity

Programming allows you to experience this flow.

Personally, I have noticed those patterns as a developer and while coaching innovation teams with developers. Developers already have those mental automations.

When to focus on growth?

So, at the Lean Startup Unconference in San Francisco, David Binetti was holding a session on How to know when to step on the gas and focus on growth.

He repositionned the question, using the growth curve and the 3 horizons model and asking: how can you measure if you have product-market fit or how do you know you can move a product from H3 to H2.

All users or customers of your product come either from PROM: promotion activities or WOM: Word of mouth. PROM activities gives you linear growth but WOM activities gives you exponential growth. Which makes sense when you think about it for a second. Vitality is exponential.

Looking at the growth curve, PROM only brings the curve forward in time but does not impact its shape.

In the real world, your growth curve is messy and looks like this.

If split your source of new customer into PROM and WOM you have a different read the signal.

And when the number of users that comes from WOM is superior to the number of users that comes from PROM, that’s when to step on the gas.

So on the early stage of this growth curve, work on WOM.

Customers are your best source of customers. -David Binetti

How WOM happens? On the iPod, the white earphone told everyone looking this was someone using an a iPod. You joined Facebook because friends asked you to. People started buying flatscreen TV because they could see flat screen TV boxes thrown in the garbage, and neighbours and friends getting flat screen TV.

This is what got the “early majority” to buy the product. This is how you know you are ready to step on the gas, when WOM > PROM.

Thank you for this David.

Core Skills for Design Thinking – according to Tim Brown

We are all designers. Everyday we produce. Professionally and personally. A response to customer. A birthday party for your kid. A meeting. A vacation. All those thing we produce are designed by us. Daily.

Design has become too important to be left to designers… In Change by Design by Tim Brown argue that design need to expand. Business leaders need to integrate the methods of the designers just as the designers need to broader their reach from the shaping of object or services.

What skills do we need to develop to become better designers?

According to Tim Brown a design thinker needs to develop:

  • The ability to observe and understand the need of people
  • The ability to convert those insights into meaningful strategies, so the ability to synthesise
  • The ability to take insight about people and convert them into solutions that can range from anything from service to products
  • The ability to prototype and evaluate those prototypes
  • The ability to tell stories and spread your ideas
  • Watch his responses here.

    Now that you know, how good are you on those abilities and how can you improve ?