The Importance of Understanding the Problem
What’s more important? Understanding the problem or finding the solution? Both parts are of utmost importance for solving a problem, many would say that understanding the problem is even more important, however, most of the time we do not give the correct importance to the first phase. We are so focused on solving the problem that we leave out the main part of understanding it. But how can we start working without understanding what we are doing?
Given one hour to save the world, I would spend 55 minutes defining the problem and 5 minutes finding the solution. — Albert Einstein
How many times you heard, or have spoken the phrase “this project is a mess” yourself? I have countless times. That said, the word “mess” means many things to many people so it means not much at all without context. To have the whole context of the project, you must fully understand what the teams is trying to achieve and the problem that is being solved.
The only real means to achieve a shared understanding of a problem is through dialogue. Unfortunately, in this day and age where hours are equated to money, time spend on understanding problems is viewed as a waste of time. Especially the kind of meetings that involves debate and discussion are seen as “just talk”. This is understandable considering the number of meaningless meetings most people experience, but I believe debate and discussion are necessary to create a shared understanding of a problem.
So, what happens when the problem is not understood fully? When this happens, the solutions that we proposed tend to create more problems. There’s no guarantee that the solution will address the problem because the root wasn’t understood at all. The more we talk and discuss about a problem, the more likely we will acknowledge the root cause and can create better countermeasures. The next time you are at a project kick-off meeting, try to have an in-depth discussion about the issue until you understand the source. You will see that designing a solution will be much easier and there will be no need to make so many modifications during the development phase.
Tech Knowledge of the Week: ReactJS
What is React?
React is the most popular Front-End JavaScript library as of now. It was developed by tech-giant Facebook, and is used by large and well established companies like Netflix, Instagram, Airbnb, etc… React was many advantages that make it a more attractive choice than well known frameworks like AngularJS or VueJS. React divides the UI into multiple components, which makes the code easier to debug. This way, each component has its property and function.
Why React?
- Easy Creation of Dynamic Applications.
- Improved Performance.
- Reusable Components.
- Unidirectional Data Flow.
- Small Learning Curve.
- Tools for Debugging.
Components
Components are the building blocks of any React application, and a single app usually consists of multiple components. A component is essentially a piece of the user interface. React splits the UI into independent, reusable parts that can be processed separately.
JSX
JSX is a syntax extension to JavaScript. It is used with React to describe what the user interface should look like. By using JSX, we can write HTML structures in the same file that contains JavaScript code. This makes the code easier to understand and debug, as it avoids the usage of complex JavaScript DOM structures. A single HTML file is contained inside a React project, but multiple components could be called to render multiple pages when the users access the webpage inside the browser.