
I have been a software engineer for about 10 years now. Even after all these years, I still feel somewhat apprehensive whenever I start on a new project. I can’t exactly put my finger on it, and it doesn’t matter how many times I’ve done it before, there’s always some unknown element associated with every project.
Whenever I’m in a situation that seem daunting like starting a new project, I always apply a set of problem solving techniques. Some of you may think these are obvious, but personally, I’ve found them immensely useful especially when faced with complex problems and I’m stressed out.
I hope you can benefit from my listing them here. If nothing else, bookmark this article for future reference. Here are 13 problem solving nuggets I apply constantly:
1. Start with a positive outlook. The first thing you should do when faced with a difficult problem is to start with a positive outlook. Sometimes our first reaction is to fear the unknown. That’s pretty natural. However, I’ve realised over the years that it is the unknown that has given us, as individuals and as the human race, the curiosity to try new things and aim for the stars. Don’t fear the problem itself. Look at it as an opportunity.
2. Understand the problem well by asking questions. I distinctly remember my days in University where an entire classroom of would-be engineers have sat there having not understood an important point the lecturer had made two months ago. Yet nobody had asked a single question. Why is that? A lot of it has to do with the fear of looking stupid. Most of the time, I find people do have the same questions as I do, but for some reason are too afraid to ask them. Regardless, before you can solve a problem, you must first understand it. If there’s something you don’t understand, ask as many questions as you need to. There are no stupid questions, only those you do not yet have an answer for.
3. Approach the problem with an open mind. An old saying goes, “If the only tool you have is a hammer, everything becomes a nail”. What this means: The way you have done things in the past may not always work for all situations. In life, I find there are often many solutions to a given problem. Some are more effective than others. Some are more appropriate than others. When faced with a difficult problem, do not assume you know the answer at the start. Stop for a second and take the time to understand what the problem is truly about before applying a solution. Be open to all possibilities. Do not presume everything is a nail.
4. Look at the problem from the helicopter view. Sometimes the problem we are trying to solve isn’t the real problem at all. In order to solve a problem, we may need to take a helicopter view of the situation. From a different vantage point, we may discover that the problem we have focused on is in fact part of a bigger problem – one which would require a completely different solution. So, before attempting to put a solution in place, first seek out the “real” problem. Once you have understood the problem in its entirety and context, only then can you determine the best course of action.
5. Define the problem thoroughly. Take a minute or two to actually define the problem. In doing so, identify what the problem is about and what it isn’t about. When you understand the problem thoroughly, you may already know what tools you need to apply or what solutions to avoid because they are not appropriate. Sometimes, when given a problem, we can naturally assume it is something it is not and so can implement the wrong solution. It is often more effective to ensure you understand the problem, its symptoms and causes before proceeding. Ask what, where, why, how and whom. Write the problem down, draw diagrams, create plans etc.
6. Dissect the problem into bite sized chunks. Would you eat a whole apple in one mouthful? Probably not. In a similar fashion, some problems are simply too big to chew all at once. A useful technique for solving complex problems is drilling-down into the detail and continuing until each puzzle piece becomes manageable. Once you have a set of manageable pieces, solve each individually. When a given problem is broken into bite sized chunks, sometimes it is easier to see the patterns, tools to apply and the actions that need to take place.
7. Think through the issues logically. Simple problems don’t often require a plan of attack. However, given a complex problem or one which involves an extended time frame, having an actionable plan identifying what needs to be done is crucial. The plan is a good reminder for yourself of what and when things need happen as well as a communication tool for all the people involved. Creating a plan requires that you think through all the issues logically and identify all the relevant issues and constrains.
8. Look for similarities with other problems. Whenever you are faced with a problem, ask yourself whether this problem shares the same characteristics as something else you may have solved. Often, problems mask themselves within their context but the root issue is the same. If you find you have a problem which shares the same characteristics as something else, you may be able to leverage the solution you have applied to that other problem. I find this is most useful in conjunction with the previous tip. When a problem is broken down into its constituent parts, you’ll find some of these parts occur frequently in other places.
9. Don’t be discouraged by mistakes. Problem solving and making mistakes often go hand-in-hand. Sometimes in order to find the best solution to a given problem, we have to go through a hundred bad solutions first. The most important thing here is to remember that mistakes are ok. Don’t get discouraged. Don’t get frustrated. Use the mistakes as stepping stones to get to the desired solution. If you have gone through a hundred options to no avail, you have found a hundred ways not to do something rather than one hundred failures.
10. Don’t let your emotions get in the way. Emotions or stress can sometimes affect our thinking and judgement. Do not let these cloud your mind. In most cases, problems are best dealt with logically. Try adopting a rational mindset and let your mind govern your actions. Go through in your mind what the problem is, then identify the steps which are required to resolve the situation before taking action. If you find you are too emotionally charged, pause for a moment and let yourself calm down first.
11. Focus on the end state. Problem solving is about getting from one state to another state. This is known as traversing the solution path. Sometimes getting from the start state to the end state is not as immediately obvious as seeing how the end state can come from the start state. In many ways, this is like navigating using a map – we can either trace a path from where we are to where we want to go or we can start from the destination and work backwards. In many cases, I find it is useful to focus on the end state and then plan backwards until I get to familiar territory.
12. Take notes and record your progress. When a problem is open ended and you’re working in uncharted space, be vigilant with your note taking and record your progress. You may find months later an off handed note you made can be the breakthrough you are looking for. It may not be immediately obvious at the time, so record your progress and ensure you can trace back to the things you have tried and what the results were.
13. Check your answers and challenge your assumptions. As you progress, be mindful of the answers you have obtained and assumptions you have made. Ensure they are logically consistent and “makes sense”. Mistakes do happen, so check, recheck and then check again. You do not want to build your solution upon incorrect answers and assumptions. When you are satisfied with your solution, don’t forget to test it under various conditions, not just the most likely scenario, but also the edge cases. Only with rigorous testing can you be sure your solution meets the initial requirements.
Good luck! Remember these nuggets and apply any and all to the problems you are struggling with.
Related Posts
If someone walks into McDonald’s and asks for a curry, chances are McDonald’s will not make them curry. I’m not talking about adding curry spices to a burger, I’m talking about a full blown Vindaloo. My bet is even if you paid them and brought the ingredients yourself, the store manager is going to say, “Sorry, we can’t accept your money because we just don’t make curry“.
Why is that? McDonald’s probably could make the curry. They have all the cooking implements to do so. Let’s say you brought the ingredients yourself, is there a reason why they couldn’t make the curry? Maybe, maybe not. However, I believe there are several reasons why they won’t do it. This article discusses a few of them, in particular the importance for a business to stay focused on their objectives and send a consistent message to consumers about who they are and what they do.
Being focused
Recently, I wrote about the Top 14 stumbling blocks for new businesses. In that list, one of the things small businesses have to be mindful of is not chasing any and every sale. Why not? When you’re starting out or simply operating in the small business space, in the most likely scenario your resources are already stretched. If you diversify your energies and focus on too many initiatives, projects and clients at the same time, chances are you won’t be able to give any the attention it rightfully deserves.
Instead of doing a single job well, what you end up with is a number of mildly satisfied clients and a mediocre track record. For small businesses, especially those that operate on word of mouth advertising and testimonials, doing things in a mediocre fashion can be poisonous to their ongoing survival. Maybe this is a little extreme, but in many cases, the reality is one might as well not bother being in business at all.
Sending out a consistent message
One of the things that make McDonald’s successful is their branding. I’m not sure about you, but of all the burger joints out there, I would hardly classify McDonald’s as the best in terms of taste and overall quality. However, that doesn’t stop me from dropping in every now and then when I’m famished or after a boozy night out with some friends.
Now ask yourself, why is that? Given that McDonald’s isn’t the best tasting burger joint and certainly not the best thing for you healthwise, why do so many people all over the world flock to the Golden arches? I believe it has a lot to do with their branding, messaging and customer expectations. People go to McDonald’s because when they think of having satisfying fast food, they think of McDonald’s. They go there expecting a certain thing and they always get it.
How would all that change if McDonald’s started serving you, alongside their traditional Big Macs and Coke, a gourmet inspired Indian curry? The message just doesn’t gel, does it? It doesn’t matter how cheaply they can do it or how nice the curry would taste. The bottom line is, companies need to spread a consistent message about who they are, what they do and what customers can expect to get when they hand over their money.
Concentrate on the core business
So far I’ve used McDonald’s and curry in a useful metaphorical sense. From a literal sense, what if you did go up to the counter and offer $500 for a curry. Should McDonald’s take you up on that offer and make the curry for you just this once?
For McDonald’s, I think the answer is no. For small businesses, I think the answer is it depends. McDonald’s shouldn’t do it even though it’s tempting because they need to stick to their strategy. Making curry just once, earns them some money and kudos now but does nothing for the company in the long run. That move is not consistent with their overall strategy. It sends mix signals to the market place and within their own team. Doing adhoc requests just once, sets a precedence for more. What happens when someone else comes along and ask for curry? Or Mexican food? At what point do you say no, and how would you select who you say yes and no to?
I think many small businesses often face a similar problem. It’s often tempting to accept a piece of work even though it is not that company’s core business. If a piece of work gives your company another 6 months of income, then it’s worth considering. After all, that could mean you stay operating for another half year vs closing down for good. For smaller jobs, I think it is a definite no. The strain on the resources for the company would mean less time, money and brain cycles on the things that matter. In a competitive environment, taking your eye off the ball just for a split second could spell death for your fledgling business.
From a branding perspective, I think doing things that are not core to your business can take away the thing that make you special in the market place. In order to be special, small businesses have to focus on doing one or two things really well, instead of bits of lots of things. What you want to be known for is being special at one or two of those things.
Specialisation and streamlined processes
Being focused isn’t just important for small businesses. For big businesses, like McDonald’s, being focused allow them to specialise, refine what they do and how they do it. Instead of hiring 10 people and training half of them to be good at flipping burgers and the other half to be good at making curries, McDonald’s consolidate all its resources and create a single unified workforce, aligned to a common goal.
It’s been widely written that specialisation leads to a more effective workforce – employees only need to concentrate on doing one thing and do it well. In McDonald’s case, anyone can come off the streets and become an employee. If one person leaves, another can easily replace them. The point here is the effectiveness of a McDonald’s store isn’t tied to any single person. In every aspect, McDonald’s operations are turn key – that means what they do is repeatable and consistent, irrespective of the people involved in doing the actual work. As a result, you can be fairly certain a McDonald’s store in one neighbourhood produces burgers that taste the same and the overall quality is consistent with another store.
In that sense, if you walked up to the counter and asked for curry, chances are they won’t be able to do it. Their equipment and staff are trained to be efficient burger producers and only that.
Spreading overheads and economies of scale
Overheads are things that exist in a business which must be present in order for the business to operate. Different businesses have different overheads. For McDonald’s their overheads are things like electricity, real estate, fixtures and fittings, cash registers, cooking equipment and burger grills. Without any of these, a McDonald’s store cannot possibly continue producing.
However, McDonald’s also utilise specialised equipment to ensure overall quality and consistency. These equipment are essential ingredients in the burger production process. It allows McDonald’s to do what they do cheaply and efficiently.
Let’s imagine, McDonald’s started making curries for the curry lovers out there. What’s going to happen? In order for them to be able to make curries as cheaply and efficiently as they can make burgers, McDonald’s is going to have to invest in and then utilise specialised curry making equipment. In order to be commercially successful on a global scale at both, they’re going to need two sets of specialised equipments at every store. It doesn’t take much to see that this is going to cause all sorts of logistical problems including shop layout, equipment maintenance, staff training etc.
What does this mean to small business owners?
Why would you not be able to get curry at McDonald’s? You won’t because even though you pay them, it is not in their best interest to make and sell you curry. As metaphor, it is useful for remembering the importance of being focused on doing a few things right, sending consistent messages to the market place and employees as well as the efficiencies that you can get by concentrating on doing a few things effectively.
Related Posts
I used to work at a job that demanded 60+ hours a week from its employees. Maybe “demanded” is too strong a word – certainly the company seldom asked outright for us to continue working at 10pm on a Friday. However, when all your fellow team mates are still at work and have full intentions to be in the next morning, you feel pressured to doing the same yourself.
To be fair, I didn’t have to. No one was forcing me to do crazy hours. After all, my employment contract says I only needed to work 40 hours each week. However, as I learnt the hard way, these things often reared their ugly heads during annual performance reviews. If you were an employer, who would you reward? The guy who stayed till 10pm or the guy who left at 5:30pm sharp?
As it was my first job out of university, I wanted to impress and went along like everyone else. For three years I worked for this company content with the fact that every annual review I had was exemplary. I was performing well compared to my peers. I had this career thing worked out. I was on top of the world.
Wrong.
I’ve long since left that job, having burnt myself out completely. The thing that stuck with me most from my experience there was the fact that about three months after I left, people didn’t even remember my name or care about what I did or how I’d spent every weekend consistently at work for six months. I can’t blame management – after all the project has to survive the people involved in it.
Since then, I knew I would never be truly happy being an employee for another faceless company. I gave 150% for three years of my life. What did I get out of it? Recognition from my superiors? Respect from my peers? A mediocre bonus during Christmas for a job well done?
Perhaps that’s enough.
For some people, yeah, this is enough. For me, I’m just wired differently. I feel that God has given us the ultimate gift called Life. However, we only have this gift for a limited time. How long remains to be seen. He has left us with a choice to choose how we spend our time. This precious gift should not be squandered on doing things that don’t matter to us. Life is a collection of our experiences, thoughts and feelings. If our actions do not positively contribute to these things, are we not wasting our gift?
Why are we even bothering?
Do you want to spend 60+ hours a week working for someone who doesn’t know your name? Is it wise to sacrifice the best years of your young adult life enslaved to an organisation motivated solely by the bottom line and the share price?
No.
Every moment you spend at an unhappy workplace is another moment you don’t have to spend pursuing your dreams. Most people think pursuing dreams is a thing you do next year. The thing is, there is no next year. There is only now. You exist here and now. If you are unhappy with your current work situation, you owe it to yourself to do something about it.
Not next year. Not tomorrow. Right now.
There is never a better time to make a change. Ok, sure you might be better prepared next year or more financially secured. However, most of the time, the only thing holding us back, is our own fears. Nobody wants to fail. That’s true, but I’d rather not live my life knowing I didn’t try because I feared to fail. After all, our limitations are self imposed.
Ask yourself – Are you a happy employee? For some people the answer is yes. In which case, I’m truly happy for you. You are one of the relatively few people who are lucky enough to have found a vocation that is fulfilling. For the rest, if you are unhappy about your current work situation, you need to find out the reasons why and do something about it.
I’m not asking you to quit your job. I’m not asking you to throw away the four years you spent studying for it. What I’m asking is for you to look at yourself and your surroundings. Are you happy doing what you’re doing? Do you wake up each morning and look forward to doing your life’s work? Is it something you love and admire?
For me, what I want to do is transform “working for” to “working with”. As an independent software contractor, I think I’m somewhere in the middle. I’m responsible for my own career. I pick the projects to work on and the clients to work with. If I feel like it, I can take three months off between contracts.
However the reality is, I’m still committed to a 9 – 5:30pm work day, five days a week. My income is proportionately tied to how many billable hours I do. Ultimately, I’m building someone else’s dream.
What I aim to attain is to be a fully fledged Entrepreneur – building businesses that contribute real value to my customers in the industries I’m interested in and deeply passionate about. I’d like to wake up each morning, eager to check how things have gone on while I had been asleep. I’d like to spend the day, thinking about ways I can improve what I offer.
Being an Entrepreneur is not for everyone. I believe each of us has a calling, something we’re naturally pre-disposed towards. Steve Pavlina even goes so far as listing 10 reasons why you should never get a job. Life is a journey. It is about seeking this calling and fulfilling your life’s purpose. It won’t be easy. You will need to approach it one step at a time.
In conclusion, ask yourself – Are you a happy employee? If you’re not, why and what would you rather be doing? Seek your life’s purpose. Do what you have been put on the Earth to do. In the end, you will live a happier and more fulfilling life.
Related Posts
