When you’re at the beginning of your programming journey, you should primarily focus on developing your ability to solve problems rather than concentrating on learning the syntax.
We’ll show you 10 actionable tips on how to improve this invaluable meta-skill. Bonus? You can use it in your day-to-day life, basically, in any situation that calls for a creative & strategic way of thinking!
1. Become a Puzzle Fanatic
Whenever you’re stuck in traffic, wondering how to use your time productively, grab a crossword, puzzle, Rubik’s cube, Sudoku or alternatively get a brain-boosting session with some of the coolest brain training apps like Lumosity, CogniFit, Elevate or Peak.
Try to solve puzzles on a regular basis, like the ones taken straight from Google, ‘You have 5 jars of pills. Each pill weighs 10 grams, except for contaminated pills contained in one jar, where each pill weighs 9 grams. Given a scale, how could you tell which jar had the contaminated pills in just one measurement?’
Can you work out the answer :)?
The best approach would be to find an activity that you find fun & entertaining so that you can easily create a habit. No matter if you’re into playing chess, Monopoly or video-games, each of these pastimes will force you to learn how to solve micro problems, one at a time.
2. Get Your Body Moving to Music!
Music has proven to be an amazing resource for training our brainpower. Moving your body to the invigorating sounds of music can boost your mental performance and verbal fluency according to Charles Emery from The Ohio State University. Listening to music helps create new neural connections in the brain. It improves our memory, sharpens our focus and boosts overall cognitive performance. Create your favourite playlist and listen to music regularly especially when exercising!
3. Mind Maps are the Way to Go
We live in the ‘pictionary’ world where visuals are more powerful than words. Visualising the problem can help to ease stress, unveiling new possibilities. Mind Mapping can show you more clarity turning the problem into a positive challenge rather than a terrifying task that you don’t know how to handle. By using Mind Maps you’re able to look at the problem holistically, fishing out all the major details your brain needs to focus on. By the use of colours and images you simply stimulate your brain cells, you’re more engaged and more motivated to come up with the right solution. Mind Maps help keep you calm as you’re in charge of the problem and not restraint by it!
Test yourself for free
Take a 15-minute long aptitude test and see if programming is for you.
4. What would happen if…!
In order to develop your analytical and creative thinking skills, you should keep asking yourself the same question over and over again...what would happen if…? This simple phrase will help you envisage different paths that haven’t been explored yet, giving way to an array of possible solutions. When you start creating different scenarios you simply let go of all the constraints and limitations you might feel when faced up with the problem in the first place.
5. Spin it Around!
Sometimes when you’re completely stuck and it feels like you’ve tried every solution available on the planet, the best way is to spin it around and focus on something completely opposite! It might seem outright ridiculous and counter-intuitive, however, this tactic will actually help you look at the problem from a completely different angle, freeing you from the notion that you have no room to move forward. You can break free from a rigidly fixed mindset.
When dealing with a problem, you need to relax your brain to boost the creative thinking process. Spinning it around will give you more room to grow as the solution might be just around the corner but not something you have thought of yet. It’ll refresh your mind and help you get there without the feeling of being permanently stuck in one spot.
6. Negatives Are the No-Nos
When dealing with problems it’s imperative you use positive language. Positive connotations will inspire motivation, determination and confidence to find the right solution. On the other hand, negative language can do the exact opposite. It can destabilise, limit your creativity, damper your mood and make the whole problem-solving process a tad longer than desired. Next time you’re faced with a problem, use words like ‘it’ll work’, ‘this is right’ instead of the negatives like ‘this will not work’, ‘this is wrong’ etc… Positive thinking will have an incredible impact on your behaviour and attitude. Avoid negative language and power through the next problem without any bad feelings and negative connotations attached.
7. Create Connections
Making Connections between unrelated items can surprisingly present you with a new pathway that wouldn’t be there if the connection hadn’t been made initially. Our brain thrives on connecting different dots and pieces, therefore, work on stimulating your neurons by simply finding links between seemingly unrelated areas. Avoid one dimensional way of thinking and at the same time embark on a little scavenger hunt, finding small unrelated items that finally fit in the bigger picture. Force yourself to see links between those items and you’ll get that much closer to solving an actual problem.
8. Grab a Crime Novel!
Love reading books? Who doesn’t? Apparently programmers are not avid bookworms, however, if you’re one of those that love to grab a good read in the time of boredom or basically just to have a bit of ‘me time’, next time you’re wondering what to read, grab a crime novel! Why? Crime novels are sometimes simple, other times more convoluted riddles. They will stimulate your brain, activate those precious neuron connections, and train your analytical thinking process. Give yourself some well-deserved brain boosting pick-me-up and start reading Sherlock Holmes, Conan Doyle or Agatha Christie. In case you’re looking for something more recent, check out this article about 8 murder mystery books that will keep you up all night.
If you're looking for books that will help you develop your programming mindset, check out our article below!
9. Share Your Thinking Process
There is nothing more encouraging and enlightening than sharing your thought process with another person and hearing their insights. It’s especially useful in programming as every one of us is unique and we do tend to think in a different manner. In programming, this tactic already exists and it’s called ‘pair programming’. One person is writing the code and the other one monitors the code to catch and prevent all possible bugs. By sharing your thought process with the other person you can hear immediate feedback, boosting your confidence. You can easily overcome the notion of being stuck when dealing with a particular problem when listening to someone else’s solution. It’ll show you different ways of dealing with the same issue, something that you probably haven’t thought of in the first place. This approach will take a longer time to arrive at the destination but reportedly it’ll also minimise bugs and eventual errors by 15%. It’s especially useful for newer programmers with less experience that have a lot to learn from their more advanced, senior colleagues.
10. Don’t Be Afraid to Ask Questions
Last but not least, don’t be afraid to ask others for help. When you’re out of ideas not sure which way is the way out, ask questions! In programming, the most effective way of solving seemingly an unsolvable problem is picking your mentor’s brain! If you’ve just started playing with colourful algorithms, a dedicated online mentor is an invaluable resource for finding your way and reaching the desired solution. An online mentor will guide you through the problem-solving journey, not necessarily providing you with complete solutions, but rather teaching you how to approach particular problems and how to think like a programmer. Kodilla’s online coding bootcamps will give you access to dedicated mentors as well as a live chat where you can always reach someone that offers a helping hand. Check out the list of our dedicated mentors here and don’t be afraid to ask questions, you’ll solve that bugging programming problem in a flash!
What are you waiting for? Brush up on your problem-solving skills now and join the exciting community of programming whiz kids :). Want to know if you have what it takes? Fill in our free aptitude test by clicking on the link below!