Author: Ayşenur AYDIN EROĞLU, Expert Software Engineer – Defense Application SW Group
What is a Problem?
Problem is a barrier which blocks access to means to reach a goal. Something harassing, disturbing, or intercepting. It is a headache…
As humans, we have goals at any moment in life, and we had been developing techniques to achieve the same goals since prehistoric ages. For instance, for the goal of finding food, our technique has evolved from hunting / gathering to old style plantation and finally to modern and technological farming.
So, let’s try to define the problem again: Finding motivation, starting and gingering up development. Changing the vantage point is the starting point to solve problems effectively.
Problem solving can be defined as, finding a way to reach your goal. If you are an IT professional, you can be a natural problem solver by the favor of your algorithmic mind since you don’t block your mind with virtual barriers.
Stress is like a signal jammer in your mind that blocks your thinking.
Learn the techniques for overcoming stress. Sleeping well as well as adequate and balanced nutrition can decrease your stress level.
Proactive or Reactive
Everybody has difficulties in their lives, any software can be buggy, customer relations can be difficult, etc. Remember that you are not the only one who has to deal with difficulties.
Claiming and waiting for a solution wouldn’t work. Looking for someone to blame is only wasting time. You can only erode your potential and your energy with that kind of reactive thinking.
Change your mind. Accept the challenge and assume control of the situation. Take initiative and use your whole potential to improve your conditions.
Avoid Learned Helplessness
There will be people around you to degrade your mood and motivation and sell their own learned helplessness to you. Don’t listen to them and focus on your aim.
Have a “Plan B”
In each step of your life, have a “Plan B” for worst cases so that if something goes wrong, it won’t be the end of the world, such as preparing your rollback scenarios even if your mission is not complex or backing up your storage routinely.
Not to be overwhelmed with to-dos, manage your tasks and assign a priority label to each task.
Urgent: Emergency case, like disasters. In IT World it means, blowing up your systems or production bugs which cause losing money or prestige.
Important: Significant things that can derive a profit.
Problem Solving Steps
1.Identify the Problem and the Goal
Clarify the problem and the goal and collect useful data to find a solution.
Remember that, reaching the information and understanding the requirement is very difficult. Ask plenty of questions logically. For example, follow a path from general to specific while asking questions. Draw your understanding and have a confirmation for it.
Improving your listening skills will be helpful.
In IT world, collecting data is possible by understandable and searchable event records. Learn the principles of logging.
2. Finding a Solution
There are lots of techniques to find an effective solution. Use the following best practices and list the possible solutions:
If you are trying to find a solution as a group, discuss the problem together. Write your whole assumptions and try to confute and eliminate them.
2.2 Mind Map
A mind map is a hierarchical diagram used to visually organize information. Graphical view of information about the problem may be useful to find an effective solution.
2.3 Keep in Touch with Inspiring Communities
Well known communities like Stack Overflow, are very helpful to find problems similar to yours (or even the same problem) and mostly its solution.
3. Pick and Apply a Solution
Take your solution list and compare your options. Write their benefits and costs and pick one of the solutions and apply.
4. Analyze the Result
After applying the solution, watch out for the results. It may not be the best solution on the first run. If so, collect new data and think about the gaps you couldn’t close and turn to step 1.