In these times and in our line of business, things change quickly. New trends, new technologies, new methodologies, and new stakeholders make their way into companies around the world. Because of these changes, experience and knowledge take on a critical role in development. These concepts are often confused, however. It’s easy to access information and turn it into knowledge, but we can’t convert it to experience or "expertise" unless we act with knowledge we already have. It’s important to distinguish people who have knowledge from people who have experience.
Let’s talk about our field. Every day we face problems that are similar to situations we’ve faced in previous projects, so we already have knowledge and experience to solve these situations partially or completely. However, there are also new processes or new bugs to solve where our knowledge and experience needs to be used to analyze and develop these new scenarios. Our experience betrays us frequently, though. Instead of helping us be more efficient, we usually mistakenly think (if we have a lot of experience) that our solutions need to be more complex. Brainstorming must always start with the simplest forms even if the solution sounds "foolish". It almost looks like the more experience we have; the less worthy simple answers are. As if they were not of a high enough standard, or as if they’ll decrease our credibility, when, honestly, it has the opposite effect.
How many times have we heard something like:
The report isn’t printing.
The query crashed with errors.
We lost some data.
I can’t open the application.
These are very common issues, and in most of these cases our current experience betrays us. Our mind begins to imagine solutions or scenarios such as:
Somebody changed the report, they restored the database, or they recreated the site.
The client deleted some tables, they changed the database schema, or somebody changed the script.
Somebody restored the database, or somebody deleted the data by mistake.
The application is corrupt, somebody recreated the site by mistake, or they deleted the database.
These ideas or possible causes are generated in our minds from issues and solutions we’ve faced in the past, but we stopped thinking “simple” and a task that should be easy turns into complicated and laborious work. We must remember the days in which we lacked the fear or shame to ask the “dumb” questions:
Is the task agent running?
Are you using the correct server and database?
Are you using the correct environment?
Do you have enough permissions?
Experience can be our ally, but we must start dealing with problems in a simple and direct way. We must keep in mind that if the simple way fails, we have the knowledge and experience to find a more complex solution. It’s also important to remember that the user is often the root of a problem, not necessarily a system or application. This may be the most fluctuating variable in our equation.
“Almost anyone can provide a solution, but resolving a problem in the best way with the simplest formula, only a genius can.”