Originally Posted on LinkedIn June 14, 2016
In the past week or so I have been involved in a number of tasks that required a little bit more involving problem solving skills. Not involving because the problems were particularly difficult to solve but because there were a number of approaches to solving these problems and the issue became finding the most effective way. Have you ever come across one of those exam questions where you are asked to choose the best answer or the most appropriate answer or the answer that required the least administrative effort. That is the kind of thing I am writing about.
The first case I will share is the case where we were trying to map the columns of a set of tables from one database to those of a single table in a another separate but related database. We had managed to combine a set of about thirty structurally uniform tables into one data set using the WITH and UNION ALL clauses then we ran into the challenge that all columns at source were not present at destination. The columns we were seeing at the destination were derived for the most part. We had one or two options: simply offload the problem to the vendor or re-write the application code which needed the table (involving a different vendor). Both approaches involved a third party who did not share our enthusiasm to make this work for obvious reasons. However we at least got the first vendor to give us the mappings that existed; the rest we had to get by painstakingly extracting sample rows and comparing source and destination then writing simple SQL to create derived columns. It took some time and effort and the tenacity of Joshua Adom.
The second example I will share is that of a situation we observed after performing an upgrade over the weekend on an Oracle installation sitting on AIX. It so happened that the upgraded databases shared a certain server with another set of databases in the reporting environment which were yet to be upgraded. The first thought was to move the data to another reporting serve which still had the old Oracle version during the next restore cycle. Good idea but might overload the other server. The Christopher Atayero and Ugonna Udunwa nailed it simplistically – install two Oracle homes on the same server!
Such “simple breakthroughs” happen in our work environments when we are able to apply simple principles to our approach to problem solving:
1. Agility. Be open to a variety of approaches. They say there are many ways to kill a cat. Some ways end up being more efficient and less expensive. Expense here refers to effort not necessarily money.
2. Skill. Expose yourself to much product knowledge. You may not be using a particular skill set just yet but one day the knowledge you have been accumulating will be demanded by a new problem.
3. Depth. Take a moment to think through an issue. The first thought is not always the best. Subject your ideas to scrutiny and keep asking whether there is a better way.
4. Collaboration. Brainstorm, review and brainstorm again. The solution to a problem should create as few new problems as possible and very low probability of re-occurrence. Having a colleague analyse the solution achieves this goal.
5. Openness. Be humble enough to accept other solutions and contribute to them even when yours simply was not good enough. Develop a Team Mentality and let your motive be to solve the problem not to show off your smartness. You are not the world’s smartest and even if you are, sometimes those you consider below you do have ideas that are above you.
Thanks for reading.