Integrity: A Positive Model to Solve Problems

“ca. 2004, while most of our prospective clients are in the pre-sales stage, my brother was becoming impatient about the nature of our business. The sales conversion process was really long. A typical cycle takes 3-6 months. Because of that, our team was already shaking. I got frustrated, we all are.

One of our few and critical programmers, on the other hand, was changing career. He was destined to take over their family business in Lucena. A mom and pop but famous auto-supply retail shop. During his last days in the company, he enrolled at Don Bosco for a mechanical course. Then suddenly, his dad died from a sporadic disease. That forced him to resign early. Then he left.

Dann and I have decided to dissolve the company. We agreed to talk to our uncle Manny about our departure. The night before our mtg, for some reason, I took a book from the office shelf that had been sitting there for years, it was a book given to us by Manny. The title of the book was Built to Last by Jim Collins. I started reading when I got home. I read overnight for hours. I knew my purpose. I knew I have to be resilient. I knew that more than profits, the company has to do a mission.

Next morning, we sat down at Starbucks near the office. The awkwardness was galling, making me fidget. Dann had no idea that I won’t be leaving the company. I cleared my throat and said, “I am staying.” He was disappointed to know that I changed my mind. It was the first time I felt independence from under his wing. I took that courage to stand alone and try to turn things by myself.

I went to the office right after the meeting. It was gloomy. I knew I had to take over Dann’s engagements with the prospective clients, Unionbank and its clients, Summersault Outsourcing to name a few. I knew I had to do presentations with corporate executives. Just by the thought of it was so nerve-racking.

I sat down and gaze around the office thinking about the weight on my shoulders. But deep inside, it was fulfilling. I survived.”

Integrity, as defined, is the quality of being honest and having strong moral principles; moral uprightness. It presents as a positive model within morality and legality. When a person is faced by problems, integrity is a tool for solutions, increased performance and quality of life. Though commonly ignored, I firmly believe of its significant role in productivity and performance.

Here are practical ways to exercise integrity in solving problems:

  1. Determine your core values. We all see this in offices and corporations but do you know what’s this for? These core values guide organizations in decision making. When faced by circumstances where we have to choose between path A or path B, one of the criteria for the decision is, it is aligned with our core values?
  2. Keep your word. Many of us can relate to when friends or colleagues who commit to call back, reply back, promising this and that but always fail to deliver. It has become an acceptable norm for many of us. Please don’t say yes if you wanna say no because if you do, then expect that the solution to the problem you agreed upon will not happen.
  3. Keep an open mind. Listening to and respecting the opinions of others is one of the keys to problem-solving. A leader will never know everything. Don’t assume that you know everything especially when solving problems. It is essential to gather thoughts of the people around you and analyze what they have to say.
  4. Do the basics. Solving the problem by doing the unethical and illegal is a big NO.

In my story above, I came up with the decision of continuing the company because I kept my word to the stakeholders, partners, and customers. I solved the problem in sales by determining my mission, which is to help them solve their business process problems through software automation.

Three Steps in Solving Real-Life Problems Using Software Debugging Techniques

I was struggling to speak. No words were coming out from my mouth. It’s 8 am, and my desktop was still on after working overnight with my brother. It was interesting to experience my vocal cords collapsing after a 24-hour work to debug a complex problem.

The challenge at that time was how to convert the existing users of our accounting software from multi-database to single database/multi-tenant model. There were about 30 company subscribers we need to migrate in a software-as-a-service (SAAS) or application service provider (ASP) model that was the term at the time around the year 2004.

What is Debugging? According to Wikipedia, Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.

Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, log file analysis, monitoring at the application or system level, memory dumps, and profiling.

To me, the most effective way to debug is bug isolation. It is a technique where you break down the big problem into small chunks or small modules, then solving it one at a time. In the problem I mentioned above, we isolated the problem by identifying which part of the program can we modify with the least effort because we were also pressured in time.

So how do you apply debugging techniques in real life? Here’s my take:

Step 1 – Simulate the bug. When the bug is reported, you have to ask the reporter how did the bug occur. What was the user input, what was the process, function or the button pressed and what was the output vs. the expected result?

In real life, you have to define the problem first clearly. A money problem, for example, may not be the real problem. The real question is the person who doesn’t make efforts to find a job or business and make money.

Step 2 – Isolate the bug. Breakdown the functions or methods line-by-line and see where the problem occurred. Was it when the button was pressed? Was it the data type the user inputted, was it when the button press signals the function to proceed or was it when the function returned the value? In coding, we put breakpoints to see exact behaviors or return values each line.

In real life, we can break down the problem as well. Going back to the money problem, we can iterate the possible causes like, am I spending more than I earn? Why am I not motivated to find a job? Is it depression? Am I an impulsive buyer? Once you have identified the cause, then it is easier to find a solution.

Step 3 – Solve and test. Solutions mostly are theories at first. In coding, you have to test your work by simulating the problem again and see if it still happening. In real life, if the cause of your money problem is being an impulsive buyer or spending much, then the solution is to devote efforts to analyze the budget and follow it. There are a lot of free apps where you can set a budget monthly, track it and forecast what happens to your cash balance if I buy this piece of equipment using my credit card and pay it in installment. That’s where testing happens.

These are just very few examples. Other real-life problems like relationships, business, health can be solved using these techniques. The most important thing is you don’t tolerate your problem when you see it.