After looking at carbs and motivation in the first article and protein and continuous improvement in the second article, we will dive into the parallel between fats and strategic thinking in this third part of our series on the “macros” for engineering teams. Fat is the macronutrient that allows us to store energy in our body for future needs; similarly, strategic thinking helps teams sustain themselves long-term. Strategic, long-term thinking helps keep the ‘technical debt’ (you can learn more about it here) under control and guarantees longevity and productivity in a software team.
Good Fats & Bad Fats vs. Strategic Thinking & Tech Debt
As mentioned, fats are critical components for storing energy, but they also cover other critical roles in our body: maintaining the right body temperature, producing essential hormones like testosterone, and absorbing fat-soluble vitamins, such as Vitamins A, D, E, and K.
There are actually two types of fats.
Monounsaturated and polyunsaturated fats, commonly called “good fats” play an essential role in overall health. These fats are found in various foods, such as avocados, olive oil, nuts, and seeds. Monounsaturated fats are particularly beneficial for heart health as they help to reduce harmful LDL (Low-Density Lipoprotein) cholesterol levels and maintain good HDL (High-Density Lipoprotein) cholesterol. Polyunsaturated fats, such as Omega-3 and Omega-6, are found in fatty fish like salmon, mackerel, and sardines, as well as in flaxseeds, chai seeds, and walnuts, and are well-known for their anti-inflammatory properties. They are vital for brain health and cognitive functions and have cardiovascular benefits, including lowering triglyceride levels in the blood.
Instead, saturated and trans fats are often labeled as “bad fats” due to their negative health effects when consumed in excess. Saturated fats, found in foods like red meat, butter, and cheese, can raise levels of LDL cholesterol in the blood, increasing the risk of heart disease and stroke. Trans fats are primarily created through industrial processes and can be found in fried foods, baked goods, and processed snack foods. They raise LDL cholesterol levels and lower beneficial HDL cholesterol, doubling the risk of developing heart disease and type 2 diabetes.
In software engineering, strategic thinking can be seen as the “good fat”. Teams should use this thinking to prepare for future demands and innovations, preventing future problems. Engineering leaders must cultivate strategic thinking in their teams to evolve and maintain long-term health.
Teams must avoid accumulating “technical debt”, which we can compare with “bad fats”. Bad fats can cause arterial blockages, and in the same way, technical debt can cause inefficiency, ineffectiveness, lack of motivation, and bad results in a team.
With strategic thinking, we can decrease the level of technical debt.
Strategic Thinking: The “Good” Fats of Engineering Teams
Strategic, long-term thinking is a forward-looking approach to problem-solving that focuses on developing a clear vision with objectives and goals to solve challenges, anticipate challenges, and benefit from opportunities. It requires analyzing the current problems, defining the optimal future state, and planning how to achieve the vision while navigating the current challenges. Strategic thinking allows teams to keep functioning well, similar to “good fats” in our bodies.
Engineering leaders need to incentivize their teams to think with those lenses, especially regarding engineering quality. I’ll draw from one of my experiences to look at how we can foster engineering long-term thinking.
A few years ago, I managed iOS, Android, Web, and API teams within Wallet & Crypto features at Paypal. The teams complained about not using the latest tech, and developing new features wasn’t happening with good velocity. The teams were focused on building features without having the time to improve the engineering side of things. As the engineering leader on the teams, to inject strategic thinking, I requested each team to build a tech strategy doc going over items we will need to work on to upgrade and excel each tech stack — e.g., the Android team worked together to create an Android tech strategy doc, the iOS team an iOS tech doc, etc.
For example, for Android, the doc had a set of items to improve our current state, such as utilizing Jetpack Compose, to improve productivity and code quality. The team also prioritized building Espresso Tests, UI tests which were not existing at the time. The impact of writing those tests was to reduce the workload from manual QA and improve quality overall through automation.
This exercise was beneficial in assessing our current state and planning how we wanted to evolve our tech stack. The impact was immediate since we incrementally started working on the highest priority items, of course, in parallel to feature development. The team also felt more energized and motivated since we were making progress on the engineering quality.
Technical Debt: The “Bad” Fats of Engineering Teams
Technical Debt can prevent teams from efficiently developing new features and building high-quality software. As “bad fat” can build up, technical debt can have very bad consequences. When overlooked, this debt can deteriorate not just the speed of delivery but also the team’s motivation. For example, while I was leading the Messaging team at Snap, we had incidents on the chat gateways happening every week and required the backend person on-call to spend a day restoring the system. This happened every single week, the team was getting tired and unmotivated. Clearly, we were getting to a point where the “bad fat” was getting a critical point.
So, we decided to prioritize our system's health and started thinking about changing our current architecture to avoid recurrent incidents. This led to the re-architecture of the clients for Messaging at Snapchat (see more in this article) I mentioned in the post around proteins. We decided to apply some strategic thinking (“good fat”) to decrease the team's tech debt (“bad fat”).
In conclusion, fat (specifically “good fat”) is an essential macro for the long-term health of our body. In the same way, strategic thinking is critical for the longevity and effectiveness of a team. Limiting the “bad fat” in our body is vital, similarly to limiting tech debt in teams.