Discover more from The Visionary CTO
Thinking Logically is Killing Your Creativity
One of the biggest challenges is getting developers to think more creatively
I’ve been doing software development for over 20 years. I couldn’t tell you how many hundreds of times I have sat in front of a TV and half-watched a movie with my wife late at night while also tinkering with some code simultaneously. I have done that for years to help get things accomplished for work.
A few weeks ago, I started this blog and quickly noticed something. I can’t half-watch a movie and write blog posts simultaneously. The creative side of my brain needs deep focus and can’t work in that environment.
Recently, I was also working on a software development project and ran into a similar issue. I worked all morning writing code to download data from APIs. Then I got stuck trying to figure out the business logic and algorithm for what to do with the data. I needed to think much more creatively. I went for a walk to take a break and shift my thinking.
Most days, software development seems like plumbing. It is very logical, and we move data around one variable at a time. Sometimes we also work on things that take a ton of creativity.
Our challenge is that we think so logically that it sometimes prevents us from thinking creatively.
Software developers need to be able to switch back and forth from thinking logically to creatively.
Software developers tend to be highly logical thinkers. You can tell us a problem, and we can think about how to solve it in our heads. We use data, facts, and evidence to come up with solutions.
In software development, logical thinking is essential because programming is fundamentally about creating systems that follow a set of rules or logic. Logical thinking is used to identify problems in code, analyze data, and decide how to design and build software applications.
Logical thinking is used in software development in several ways:
Logical thinking is essential for software development because it allows developers to create well-structured, efficient, and effective code.
Developers think logically to… implement logic.
However, software developers are commonly overly logical to a fault. They get trapped in thinking the requirements are hard and fast rules that must be complied with. They may struggle to be creative and think outside the box.
Software development also requires a lot of creativity.
Software development aims to solve problems for our users or the business. One of the biggest challenges is that users generally don’t know what they want or can’t describe it. What they ask for definitely isn’t very logical half the time!
Designing products to solve user and business problems takes a lot of creative thinking. It is even harder to build a great user experience and understand the different perspectives on a product's use.
Complex technical problems also require a lot of critical thinking. Developers must think outside the box to solve issues with performance, scalability, integrations, etc.
It may not seem like it, but using past knowledge and tools to solve problems is creative thinking. Their day-to-day job requires essential creativity, even if it is doing a job that seems primarily logical.
Creative thinking in software development is used in several ways:
User interface design
Developing new product features
Solving complex problems
Innovation is critical for all companies. Creative thinking is critical to developing new ideas, solving problems uniquely, and all forms of innovation.
Switching thinking modes
Logical thinking involves analyzing a problem, breaking it down into smaller parts, and using reason and deduction to arrive at a solution. Creative thinking, on the other hand, involves generating new ideas and possibilities, looking at things from different perspectives, and making connections between seemingly unrelated concepts.
Switching between these two modes of thinking can be challenging because the brain needs to shift gears and activate different neural pathways. Additionally, software development projects often require a great deal of logical thinking, making it challenging to shift to a more creative mindset.
Furthermore, many software developers are trained in logical thinking and may not have had much experience with creative thinking. As a result, they may not be as comfortable or confident when generating new ideas or thinking outside the box.
However, software developers need to be able to switch between these two modes of thinking, as creativity is an essential part of software development. To do this, developers can practice techniques that encourage creativity.
How to foster more creativity
Collaboration and diversity are among the best ways to foster creativity in a team. Different viewpoints and experiences can help everyone talk and brainstorm different ideas.
The key is getting developers involved in things beyond just writing code. You also want them involved in the creative process of designing and planning. You don’t want your developers to do exactly what they are told. You want them to think creatively and be part of the process. (That also creates ownership in their work!)
Here are some more ideas to foster creativity:
Stay curious by keeping up with emerging technologies
Practice brainstorming with the team
Collaborate with others
Try new approaches to things
Embrace failure when trying new things
Focus on the needs of the user
The last one is my favorite. The critical thing in software development is focusing on the user. What do they need, and how do we solve their problems. It isn’t about writing code. It’s all about the user.
One of the best ways for software developers to develop more creativity is through their hobbies outside of work. Some of the best developers I have ever worked with were musicians, bloggers, photographers, video editors, lego robotics, and other hobbies.
Activities that require a lot of creativity would be good mental practice for them since they spend most of their days being very logical. This blog is excellent creative therapy for me!
Creativity is an essential skill for software developers to advance in their careers. It is essential for driving innovation, problem-solving, creating user-friendly products, collaborating effectively, and demonstrating value to employers. Developers who can think creatively and apply their skills in innovative ways are more likely to succeed in the field of software development.
My career started by working very closely with users. From the beginning, I had to understand their requirements, and I alone decided how to build the product. That has naturally made me very creative and good at creating products over 20+ years. I owe much of my career's success to that early experience.
The Visionary CTO's role is to use their creativity to look to the future and drive innovation at their companies.