As a programmer, one of your greatest assets is going to be your ability to think critically. No matter how well you know a specific language, or how many lines of code you’ve written in the past, if you can’t employ creative or lateral thinking to your job, you won’t be able to solve problems efficiently, or come up with ingenious new ways to create features.

The problem is, you can’t “learn” critical thinking the way you can learn the basics of a programming language. Instead, critical thinking is a soft skill that has to be cultivated over time, often through subtler strategies than simply taking a lesson.

How to Improve Critical Thinking

The average programmer can benefit greatly by employing these strategies to improve critical thinking skills:

Create mind maps with technical tools. First, you can start using tech tools to visualize your thought processes, gain access to new information, and think more abstractly about the problems you face. For example, you can create interactive mind maps that let you organize different categories of thoughts and related subjects, so you can visualize a high-level rundown of the problem at a glance. From there, it will be easier to spot flaws and brainstorm solutions.

See problems through others' eyes. Thinking laterally, or “outside the box,” is the simplest way to think critically. We’re often limited by our own perceptions, experiences, and cognitive biases, and the best way to remove those filters is to see the problem through someone else’s eyes. There are many ways to do this, but the simplest is simply picking someone’s brain about the problem you’re facing—they may bring to light ideas or avenues of thought you hadn’t previously considered.

Consider motives. Next, take a step back and consider the motives of the people involved in a given dilemma. For example, if the client has requested a feature in their software that’s nearly impossible to program as intended, consider why they’re looking for this feature; understanding their motive, you may be able to suggest a feature that accomplishes the same goal, but is much more feasible to create.

Get used to asking lots of questions. Even if you feel you thoroughly understand a topic, it pays to ask questions to further that understanding. Even the most basic questions, when answered, can illuminate facets of the problem you hadn’t recognized or considered. For example, when asking about the delivery date for a project, you may hear about secondary time constraints that change how you approach the project. Asking questions also gives you more details, which you can use to innovate more unique solutions.

Write lists. Fleshing out lists of ideas can also be helpful. For example, if you’re weighing a handful of possible approaches, consider writing out the pros and cons for each option. The process of writing forces you to think through each set of outcomes, and gives you a visual guide you can reference later. You could also write out step-by-step processes for each possible approach, or detail sub-challenges within each challenge you face; the real goal is to get your thoughts on paper and think more thoroughly about each problem.

Assume you’re wrong. You can also think more critically on a regular basis if you assume you’re wrong. When most of us form an opinion or make a decision, we assume we’re right, and start cherry-picking evidence that supports that assumption (confirmation bias). Instead, start with the assumption that there’s a flaw in your thinking; this will force you to gather contradictory evidence. At worst, this will expose the flaws in your plan so you can work on them. At best, you’ll build more confidence that you’re making the right decision.

Surround yourself with abstract materials. Critical thinking also demands creative thinking, and abstract information. The best solutions often come to you out of nowhere, connecting two ideas you hadn’t considered connecting in the past. And while you can’t force creativity, you can create an environment that inspires more of it. Surround yourself with more works of abstract art, more music, and other sources of creative inspiration. It also helps to work by a window, where you can stare outside and let your mind decompress.

Practice Makes Perfect

You can’t max out your critical thinking skills, nor can you assume your critical thinking skills will remain at all-time highs after you develop them. Instead, you have to commit to improving your critical thinking on an ongoing basis. Keep pushing yourself to think in new, creative ways, and put yourself in situations that demand different mental skillsets. The more time you spend developing your cognitive flexibility and diversifying your perspectives, the easier your job will become.