Tag Archives: work

My GenAI Toolkit: Lessons from 2024

This past week, OpenAI announced o3; all reports suggest they’ve achieved some form of AGI. I’m struggling to wrap my head around this because AGI always seemed like a distant future concept, not something that’s here now. But let’s set that aside for a moment and examine how AI has shaped my 2024.

My primary use for Generative AI (GenAI) this year has been in communications. Despite considering myself a good communicator, having English as my second language sometimes leaves me fumbling for the right words. Grammarly helps, but GenAI takes it to another level. Here’s how I use it:

I start by crafting my messages as I always have, aiming for clarity and audience appropriateness. Then, I turn to ChatGPT, which is fine-tuned with my custom instructions and memories of prior interactions, to enhance my prose. The result? My words, but amplified – like my brain on steroids. Sometimes, I need to tweak the output, but it’s usually spot-on.

For work, ChatGPT is also my go-to for creating user stories for my agile backlog. With a prompt I’ve perfected and a keyboard shortcut, I can turn a few bullet points into a nearly complete user story in seconds. I might remove some overly ambitious acceptance criteria, but it’s mostly ready to go.

When I need to craft a precise prompt for a unique task, I turn to Claude Sonnet through Perplexity. Sonnet excels at understanding my goals and generating detailed prompts that I can then use with other AI tools. For one-off tasks outside my daily routine, I compare outputs from various AIs, picking the best elements from each after generating the prompt.

Shifting gears to another aspect of my work, coding has not been a major part of my job this year, accounting for less than 10% of my activities. However, I’ve relied on Sonnet for both personal projects and quick Proofs of Concept (PoCs). I also used Sonnet for code review to ensure quality before sending pull requests.

Now, let’s talk about Perplexity. It has become my go-to search engine, especially for troubleshooting. It combines the base-model AI knowledge with real-time search results, providing insights far beyond what Google can offer. As a pro subscriber, I can access multiple models but stick with Sonnet. Perplexity gives me access to the model since I don’t have a Claude subscription.

Lastly, there’s Grok. As a premium subscriber on X, I use Grok-2 for its superior image generation capabilities – four high-quality images at once, and fast. The recent integration of Grok into X’s interface is a game-changer for context understanding on social media. Plus, Grok’s ability to pull from X’s vast data pool makes it an excellent tool for quick updates on trending topics. And, for those times when I need an unfiltered, straightforward answer, Grok delivers without the annoying woke agenda that sometimes colours other AI outputs.

At the end of the year, the cost of all these AI tools isn’t trivial, but the productivity and work quality boost justifies it. If I had to choose just one for budget reasons, I’d pick Grok. It’s cost-effective, and given its rapid development pace, I believe it will soon close the gap with other models.

To drive home my point about Grok’s versatility, I’ve used it to refine this very post you’re reading now. Grok’s assistance in restructuring, enhancing readability, and generating this closing paragraph demonstrates its capability as a comprehensive tool for content creation and editing. It took more manual updates than ChatGPT usually does, but it’s still good. I hope this insight helps if you’re still figuring out how best to leverage GenAI in the coming year.

Building a Cohesive and Recognized Team

Our team of about seventy people is a relatively small part of our company, which has over three thousand employees. While many of our engineers are well-known among peers in software engineering or customer support, there are simply too many of us—and them—to remember who belongs to which group and what everyone does.

To address this, we asked all our engineers to add a common tag to the end of their profile names on Zoom—e.g., (TEAM). This small change had an outsized impact.

A Common Identity

We are a global team spanning multiple time zones and countries. While our software engineering peers in Poland might not personally know our Australian engineers, the (TEAM) tag immediately signals our presence. It establishes our identity and reminds others that we are part of a cohesive group.

In large all-hands meetings with hundreds of participants, the (TEAM) tag makes us stand out. Even if other teams have greater numbers, their lack of alignment in presenting themselves visually means we often appear more united. The effect is even more striking in smaller meetings. When eight or ten of us join a call with two dozen attendees, our presence is unmistakable. This has led project managers and account executives to comment on—and thank us for—our “massive” presence.

Building a Reputation

Our team is relatively new, created after a reorganization to enhance operational efficiency and reliability. Establishing credibility is crucial, and I firmly believe that consistently showing up is the first step in building a strong reputation.

The (TEAM) tag helps cement this image. Over time, colleagues begin to associate our engineers with reliability and support, creating a lasting impression that extends to the entire team. This subliminal connection—that (TEAM) members are dependable and always ready to help—lays the foundation for trust.

Of course, reputation requires more than just showing up. Our engineers strive to embody a helpful, collegial attitude, always willing to go the extra mile. Without this, the effect could backfire.

Attention to Detail Matters

Details are important. Just as uniforms in the military or sports convey identity and professionalism, our (TEAM) tag serves as a quick visual identifier. However, maintaining consistency in the tag format was a challenge. Despite clear instructions, we initially saw a variety of implementations: (TEAM), (Team), ( TEAM ), and even plain TEAM.

As an SRE team, this inconsistency reminded me of code reviews. Just as we enforce standards for variable names, code formatting, and organization, we should hold our visible identifiers to the same level of rigor. Allowing incorrect formatting, especially in something as visible as a Zoom tag, sends the wrong message. It undermines the professionalism and credibility we aim to project.

Attention to detail is about more than aesthetics; it communicates that we care about doing things right. As the adage goes, “How you do anything is how you do everything.”

Conclusion

What started as a simple effort to ensure visibility during meetings evolved into something far more impactful. The (TEAM) tag not only fosters a sense of unity but also helps build our reputation as a reliable, professional, and detail-oriented group. It’s a small detail with a big message: we show up, we care, and we deliver.

The One-Hour Communication Triage: How I Stay on Top of Slack and Email

Before I describe my approach to Slack and Email (the two main communication systems that I use), let me tell you about a general approach to taking action, which I learned from the “Getting Things Done” methodology:

I complete every action item that takes less than five minutes right away—replies, action items, approving stuff. Whatever can be done quickly is done on the spot. However, if it will take more effort, I will add it to my to-do list—or mark it as unread—and come back to it later.

Slack


I use the mobile Slack feature “Catch-up.” I quickly review the dozens of activities that happened since I logged out the previous day and mark only the ones I have no intention of interacting with as “read.” Everything else is kept as unread. I do that before I officially start my day, so everything is already triaged by the time I get to my computer.

When I fire up my laptop, I start with the DMs and prioritize by timezone. If the people on the DM are currently in their working hours, I reply to that thread first. It usually means I reply to people from Europe first, then people on the East Coast, Central, and Pacific, and finally Asia/Pacific. This is important because it can help unblock people immediately if they are still working. There’s no point replying to my boss right away since he won’t be online for the next three hours.

As I go about checking those DMs, I assess how much effort it will take to act on them. Then, I check all the mentions (more details about mentions later). The next step is to look at the “Threads” section and run the same process as above. Finally, I go through the starred channels, which contain my team’s channels, upper management channels, and other things that I like to monitor closely.

Email


At this point, I switch to my email. I have only one simple filter that keeps all emails in which I am in the “To” section in the Inbox. Everything else gets moved either to a “CC” folder or the multiple automated emails folders.

A similar process follows for the inbox only:

  • Reply and act on everything that will take less than five minutes
  • Instead of keeping emails that require longer engagement unread, I add whatever needs to be done to my task list

For clarity, email is also how I get notifications from Jira, Confluence, Google Docs, and other internal systems. So, while dozens of different tools send notifications, they all end up as emails, which makes things easy to process.

Now that everything I could quickly resolve has been addressed, I go back to the Slack messages I kept unread and either capture the work in my to-do list or start working on it according to their priority (which I define based on an educated guess).

This initial triage and quick actions phase takes me about one hour on a good day. Since I start earlier than most of my team, I have plenty of time to get a lot done before the day gets hectic.

Only after I feel that I have a handle on my tasks for the day do I go back to all the unread—and less relevant—Slack channels and emails. They are mostly things I receive as FYI and do not require any action.

How to Keep Your Sanity

One important thing is to maintain good hygiene habits for the Slack channels you belong to. My company has thousands of channels, and people often join them to ask one single question, check a thread someone pointed to them, or help troubleshoot one problem at a certain point in time. And then they never leave those channels.

This habit of accumulating channels leads to a significant cognitive burden. Having hundreds of unread channels and messages constantly vying for your attention is a huge brain drain. It creates a persistent sense of being overwhelmed and behind, even when you’re not actively using Slack. Your mind subconsciously tracks these unread items, diverting mental energy from more important tasks.

Moreover, the fear of missing out (FOMO) on potentially crucial information can lead to frequent, disruptive check-ins, breaking your focus and productivity. This digital clutter not only affects your work efficiency but can also contribute to stress and mental fatigue, making it harder to disconnect from work during your personal time.

Don’t be afraid to leave channels that are not relevant to your daily work. You can come back anytime to the public channels. You may want to consider an extra second for the private ones, but be realistic and don’t stay there “just because.”

Something else to consider is properly configuring your Slack notifications. You don’t want to see a mention notification when people ping @here or @channel in non-critical channels. Of course, you want your team’s channel, the channel with stakeholders, or your starred channels, but not others. You should only see the mention if it is relevant to you.

Conclusion

Managing your communication channels effectively is crucial for maintaining productivity and reducing stress. By implementing these strategies for Slack and email, and being mindful of your digital hygiene, you can take control of your communications and focus on what truly matters in your work day.

Bring Solutions

There’s a good chance that problems exist in your company. No team, process, or tool is perfect. Identifying these problems is relatively easy. But have you ever wondered why so few venture beyond simple identification? My years of experience in the industry show me that 99% of people stop there, adopting one of two attitudes:

  1. They incessantly complain, becoming bitter.
  2. They adopt a defeatist attitude where nothing changes, leading to depression.

It’s rare for someone to choose the third option: suggesting solutions.

Depending on your career stage, this can be simpler or more complicated. Paradoxically, it’s easier to suggest solutions early in your career. Here’s why:

When you’re a junior, your work scope and sphere of influence are smaller. The problems you identify and the suggested solutions usually have limited impact, and the implementation risk is relatively low. Often, your idea improves your day-to-day life but has little or no effect on the company. Moreover, you usually only need to convince your immediate superior. And even that is questionable. Early in my career, I often just changed how things were done.

On the other hand, as you advance in your career, the stakes rise. You may identify a problem whose solution requires money, time, and even subtle or drastic changes in the company’s organization.

The challenges are complex and often involve multiple departments. It can be challenging to perceive these problems immediately. Some may have cascading effects, not being immediately evident. Before proposing solutions, it’s crucial to identify the problem. This involves convincing others of its existence and presenting concrete data and examples. Often, this requires taking the issue to the highest levels of the organization. Convincing high-level executives usually demands considerable effort.

The Reality of Managers

As a manager, my day-to-day life is a whirlwind of meetings, decisions, and, of course, problems – both mine and the team’s. Solving these issues is part of my job, but let me tell you: when a team member comes to me not only with a problem but also with ideas to solve it, it makes all the difference. This initiative shows that the person is not just passing the problem forward but is genuinely engaged in finding a solution. This helps me untangle things faster and adds value to our team. It shows that the employee understands the business and cares about the company’s progress, a crucial point for those seeking professional growth.

This ‘roll up your sleeves’ attitude and seeking solutions, thinking beyond the basics, makes someone stand out. When I see a team member demonstrating this proactivity, I already think of them for future leadership opportunities. That’s because these actions don’t just solve the immediate problem; they create a more collaborative and innovative environment. And that’s the kind of mindset I seek to develop. If you have a suggestion, don’t hesitate to bring it forward. You might be solving a problem and opening doors for your growth in the company.

The Art of Presenting Solutions

When you encounter a problem at work, focusing only on the issue is tempting. However, to stand out, it’s crucial to think about solutions. First, deeply understand the problem. This might involve researching, observing how the problem affects different company areas, and asking for colleague feedback. Remember, an accurate diagnosis is half the solution. The solution is not always obvious.

With a clear understanding of the problem, start developing solutions. Here, creativity is your ally. Think of innovative but realistic solutions. You don’t need to reinvent the wheel; sometimes, a slight improvement in an existing process can make a big difference. Also, consider the available resources and possible resistances. A viable solution is one that can be implemented with current resources and has a chance of being accepted by the team and management.

When you have a solid solution, prepare to present it. Create a clear and concise argument, supporting your idea with data and examples demonstrating its benefit to the team and the company. Prepare a presentation or a document summarizing your proposal. This shows professionalism and facilitates understanding of your idea.

Finally, be flexible and open to feedback. Be prepared for discussions and questions when presenting your solution. Listen to concerns carefully and be willing to adjust your proposal as necessary. The ability to adapt your ideas and collaborate with others is as important as identifying problems and suggesting solutions. By following these steps, you will solve problems and demonstrate initiative and leadership ability, valuable qualities at any stage of your career.

How About You?

Now, I’d like to hear from you: how do you deal with challenges in your work environment? Is there a situation where you identified a problem and proposed an innovative solution? Share your experiences in the comments.

Discipline in Disguise: The Unseen Journey Behind Extraordinary Achievements

The year 2023 has unfolded in an extraordinary way for me. In January’s first week, my wife and I embarked on a marathon at Disney, our first since 2015. This time, our Florida vacation was exceptionally splendid. Breaking away from our norm of choosing the most economical accommodations, we indulged in staying at Disney’s Contemporary Resort.

On this trip, I deviated from our usual practice of renting basic cars and chose a Mustang instead. Although we were fortunate to have my friend Silvio host us for a part of our stay, I generally prefer to economize. However, this occasion was an exception.

Further into the year, I participated in a Spartan race. My performance exceeded my expectations, particularly considering my age and historical challenges with many of the race’s obstacles. I was immensely proud of this achievement.

A highlight of the year was our trip to Spain, where we celebrated our twentieth wedding anniversary. The two weeks we spent there have etched into my memory as a treasured experience.

Professionally, the year was marked by significant achievements as well. Following a reorganization at my company, I took on the responsibility of managing a new team in the Cloud Engineering division. This team plays a critical role in our company’s product development and daily operations.

In the realm of personal development, I managed to read 66 books. While this number falls short of the 125 I read last year, it remains a commendable accomplishment.

Some might perceive my recounting of these events as boastful. Perhaps it is, to some extent. However, what I truly intend to convey is that all these remarkable experiences and accomplishments are the fruits of countless hours dedicated to mundane routines, disciplined repetition, and consistent effort.

A monotonous life.

Behind these achievements lies a life of routine, often perceived as monotonous.

As Alex Hormozi aptly puts it, ‘Extraordinary accomplishments come from doing ordinary things for extraordinary periods of time.’ My life since early 2022, and even before that in preparation for our trip to Spain, epitomizes this sentiment. It may seem unexciting to an onlooker.

The journey began in 2021 when I initiated the planning for our twentieth-anniversary trip. Crafting a budget and diligently saving money meant making sacrifices and foregoing certain luxuries. Our lifestyle became more restrained; restaurant visits became rare, travel was minimal, and cinema trips ceased altogether.

Deciding to run the marathon required even greater financial discipline, as we were saving for not one, but two significant trips. Consequently, our social engagements were further reduced, aligning seamlessly with the demands of marathon training.

Training for a marathon is a commitment few are willing to make. It involves countless hours of running, often indoors on a treadmill due to the harsh Canadian winters. But it’s more than just running; it encompasses a rigorous diet, ample rest, and a strict avoidance of unhealthy foods like sweets and alcohol, sustained over several months.

In parallel, I was focused on professional growth. Aiming to enhance my leadership and managerial skills meant investing time in reading, studying, and introspection.

My daily routine for the past two years has been a testament to discipline: waking up at 4:15 AM for a regimen of reading, studying, meditating, training, and working, followed by more reading before retiring around 7:30 PM. This routine, which includes maintaining a single meal a day, is repeated six days a week.

Had I started this post detailing these aspects of my life, it might have deterred many readers. A life of such structured routine and discipline isn’t commonly sought after. However, it’s this very foundation that underpins the desirable outcomes of enjoyable vacations, physical fitness, and career advancements.

A recent tweet resonated with me: ‘There is no easy way. Only hard work, late nights, early mornings, practice, rehearsal, repetition, study, sweat, blood, toil, frustration, and discipline.’ This encapsulates the essence of my journey.

Start practicing today.

Don’t wait for the new year or Monday to begin. Identify an important goal for yourself and devise an action plan.

Set your goals, establish a consistent routine, and focus on the process. Accept that there will be hard days, but don’t give up. The reward will come in time.

Remember, extraordinary comes from the ordinary sustained day after day. Your future achievements will be determined by the choices you make now.

Career: Internal Mobility

Throughout my career in IT, I’ve done a bit of everything. In small and medium-sized companies where I started, it was common for me to fix a network one day and deal with a rebellious mouse the next. It wasn’t exactly what you’d call “internal mobility,” but I certainly wasn’t standing still.

However, when we talk about large corporations, the story changes. My first leap to a large company was with IBM around 2004. I’ll save the explanation for another day, but I thought I was being interviewed for a position in the Unix team. Imagine my surprise on my first work day when I discovered I had been hired in the network team!

While I began to learn as much as I could about networks, whenever possible, I tried to get involved with something related to Unix or Linux. It was challenging, as the company was rigid, and each team had well-defined roles and access.

I ended up helping here and there, chipping in, volunteering for jobs where the network and Unix teams would work together, and occasionally getting access to Linux servers used as firewalls, making them “network equipment.”

When we moved to Canada, I worked for Morgan Stanley. There, things were even more rigid. Not only because it was an even more restricted environment in terms of separating what each person or team does, but also being a third-party employee, I didn’t even have visibility or access to other people or groups. Combining this with a low salary and the fact that I automated my job, I didn’t last long there before resigning.

When I went to work for Google in 2015, many things caught my attention and showed why the company is a leader in so many aspects and – at least at the time – was an excellent place to work.

But one thing immediately attracted me: An “Engineering Exchange” program where employees from one department could apply to work for a completely different department for a few weeks to a few months. That’s how I ended up working in one of the data centers there, but that’s a story for another day.

Fast forwarding to the present, I’m again in a large company, and this time in a leadership position. I was thrilled to discover that there are official and grassroots internal mobility programs where groups exchange employees for three months or more.

This discovery led me to reflect on the multiple facets and benefits of internal mobility, not only as a manager but also from my experiences. Over the years, I realized that, regardless of the company’s size, internal mobility has always played a crucial role in my development and those around me.

Let’s dive a little deeper into this topic. First, let’s consider the advantages from the professional’s point of view. Why is internal mobility so valuable for individual growth? How can it shape a career and open new horizons? Let’s explore this together.

Benefits of Internal Mobility for Professional Development

Internal mobility allows employees to acquire new skills and experiences, expanding their professional competencies. Professionals can learn new functions, technologies, and processes by changing positions or areas. This contributes to their growth and makes their profile more complete and attractive in the job market.

Furthermore, internal mobility encourages employees to step out of their comfort zone and seek new challenges. By taking on new responsibilities and projects, professionals must apply their knowledge in new ways and develop problem-solving and adaptation skills.

Another benefit is that internal mobility acts as career planning within the company itself. Employees can plot a growth trajectory, going through different areas and positions according to their professional interests. This increases their employability.

Internal mobility also allows professionals to discover new areas of interest and vocations. For example, an employee may start in the sales area and then find more affinity with marketing. This flexibility helps people find their talents.

Lastly, internal mobility sends a positive message to employees, showing that the company cares about their development and is willing to invest in them. This improves engagement and commitment to organizational goals.

From the company’s point of view, there are also many advantages:

Benefits of Internal Mobility for Companies

Internal mobility allows companies to fill vacancies with talents already familiar with the culture and organizational processes. This reduces the costs and time spent on recruiting and integrating new employees.

Moreover, internal mobility helps retain talent, reducing turnover. Professionals who see possibilities for growth within the company tend to stay longer on the job.

Another benefit is the development of a more diverse and flexible workforce. By providing experiences in different areas, internal mobility makes professionals more complete and prepared to assume various functions as needed.

Internal mobility also promotes innovation, allowing for exchanging knowledge and experiences between areas. Professionals familiar with different processes can bring new perspectives and ideas.

Finally, internal mobility improves employee engagement, as they feel valued by the company. This increases productivity and the quality of work delivered.

Conclusion: Embracing Internal Mobility for Growth and Innovation

After navigating the diverse landscapes of the IT industry for years, one truth stands out unmistakably: internal mobility isn’t just beneficial; it’s essential. It’s a dynamic two-way street that benefits everyone—professionals gain new skills and perspectives while organizations nurture a more versatile, engaged workforce.

In smaller companies, internal mobility is often an organic process, a part of the daily workflow. In larger corporations, however, it requires strategic planning and active encouragement. But regardless of the company’s size, the value remains the same.

For my fellow IT professionals, I encourage you to view internal mobility as an opportunity for discovery and growth. Don’t hesitate to step out of your comfort zone. You might uncover hidden talents or passions that could redefine your career path.

For the leaders and managers out there, fostering a culture that supports internal mobility is investing in your organization’s future. It’s not just about filling positions internally; it’s about cultivating a workforce that is adaptable, innovative, and deeply invested in the company’s success.

So, whether you are charting your career path in IT or guiding a team, remember internal mobility is more than just a concept—it’s a practice. A practice that brings about tangible, rewarding changes: it’s an investment in people and, ultimately, an investment in the company’s future. Embrace it, encourage it, and watch as new doors of opportunity swing open for both individuals and the organization.

Continuous Improvement: The Path to Excellence

The quest for operational excellence is unending in Cloud Engineering and Operations. We want to do more, better, faster, with fewer errors and with the same number of people. Amidst this quest, the philosophy of Continuous Improvement, a concept well-articulated by James Clear, finds a resounding echo. The essence of this philosophy lies in embracing a culture of making small, consistent improvements daily, which, over time, aggregate to substantial advancements.

The Myths Holding Us Back

Often, there’s a misconception in the operational realm that a massive overhaul of processes, done once and for all, will lead to a toil-free, highly automated environment.

We long for this mythical event where a major transformation will take place overnight, and our lives and jobs will be near-perfect and forever joyful.

However, this notion of an overnight transformation is more of a myth. It portrays a misleading picture of reality that can lead to an endless cycle of stress and disappointment if we chase it relentlessly.

Taking a goal-oriented approach that concentrates on setting up a perfect environment as the objective is likely to lead us down a path of frustration. It can mask the inherent value of incremental progress and the compound benefits it brings over time.

Another common myth is that there’s this one engineer who comes up with an amazing solution and implementation all by himself. My experience has shown that this is far from the truth. Exceptional tools come from great teams that work together, slowly building more resources on top of previous work—the well-known idea of standing on the shoulders of giants.

The Power of Small, Daily Wins

Drawing parallels from James Clear’s elucidation, the real power lies in accumulating small wins daily. It’s about identifying a manual task that can be automated, a process that can be optimized, or a workflow that can be streamlined. Each small win reduces toil, improves efficiency, and enhances system reliability. This is the process-oriented approach.

My take is to use the Pareto principle, also known as the 80/20 rule: Find the 20% of the tasks that cause 80% of your pain – or toil – and be relentless in eliminating, automating or delegating them. Keep doing it for as many iterations as you need to reach your operational workload goals.

The 1% Rule: Compounding Operational Efficiency

Adopting the spirit of the 1% rule – improving by a mere 1% every day, can have a transformative effect in the cloud operational landscape. Over time, these daily increments compound, significantly enhancing operational efficiency, system reliability, and team satisfaction. The beauty of this approach is that it’s sustainable and less overwhelming for the teams involved.

The Journey Towards Operational Excellence

Operational excellence in Cloud Environments is not a destination but a journey. A journey marked by daily efforts to eliminate toil, automate repetitive tasks, and enhance system resilience. By adhering to the philosophy of Continuous Improvement, you will position yourself on a trajectory of sustained growth and excellence.

Boost Resilience with Upstream Thinking

In the high-speed realm of Information Technology, professionals often engage in a continuous cycle of troubleshooting, colloquially known as “firefighting.” Imagine an IT team constantly dealing with server crashes or software bugs only as they occur, causing operational disruptions and mounting frustration. That’s the firefighting approach. But there’s a game-changing alternative: upstream thinking. Inspired by Dan Heath’s book, “Upstream,” this concept encourages a proactive approach to IT, prioritizing the prevention of issues over firefighting. Think of it as building resilient systems that mitigate the risk of server crashes and designing software with robust error handling and prevention strategies.

Upstream thinking can transform the reactive chaos of firefighting into a structured, proactive environment focused on sustainable solutions.

The Power of Blameless Postmortems:

Blameless postmortems are an essential part of the upstream thinking process. They encourage an open, honest dialogue about incidents, focusing on learning and improvement rather than finding fault.

Blameless postmortems promote a culture of growth and resilience by providing a safe space for teams to discuss and learn from their mistakes.

Identifying Root Causes:

Embracing upstream thinking requires identifying and addressing the root causes of problems. Many techniques and frameworks, such as the “5 Whys” method and fishbone diagrams, can help IT professionals get to the heart of issues. By using these tools, organizations can uncover and resolve the underlying causes of problems rather than only addressing the symptoms.

Building Resilient Systems and Processes:

Resilience is the cornerstone of upstream thinking, and there are multiple strategies for building systems and processes that can stand the test of time and adversity. One such method is conducting a “premortem,” a unique practice where IT teams envision a hypothetical system failure and then brainstorm potential causes. This proactive method allows teams to identify and address issues before they occur, fortifying systems against potential failures.

Beyond premortems, other crucial practices include automation, proactive maintenance, and regular system updates. These strategies reduce manual effort, enhance system performance, and prevent possible errors and failures. Automation, for instance, can help eliminate human error and free up valuable time. Proactive maintenance and regular updates ensure that systems are always in their best health, reducing the chance of unexpected failures.

By combining these approaches, you’re not just responding to issues – you’re anticipating them, thus crafting systems and processes that are far more robust, reliable, and resilient.

Cultivating a Culture of Continuous Improvement:

Creating a culture of continuous improvement within IT organizations is essential for making upstream thinking a reality. This means establishing an environment where team members are encouraged to openly share insights, experiment with new approaches, and implement changes based on what they learn from blameless postmortems. This culture values collaboration, knowledge sharing, and small successes.

Conclusion:


Incorporating upstream thinking into IT operations can transform how your organization handles problems. Shifting from firefighting to proactive problem-solving conserves resources and reduces stress, resulting in a more reliable and resilient IT environment.

Blameless postmortems and a culture of continuous improvement empower teams to tackle issues at their root, preventing recurrence in the future. Transform your IT operations by embracing upstream thinking.

Taking Ownership of Your Career: Invest in Yourself and Achieve Professional Growth

Imagine you are visiting a lawyer to get assistance with your legal questions. He looks at your request and says: “You know what, I don’t know much about that. But if you can buy me a few books and reimburse me for training, I can help you.”

This is a paraphrase of something Sandro Mancuso wrote in his excellent book “The Software Craftsman,” and it really resonated with me.

As a manager, I try my best to give my team opportunities for self-development and constantly lobby upper management for a training budget. However, in this post, I emphasize the importance of taking ownership of your career and personal growth.

You may be one of the fortunate individuals whose employer invests in their employees, providing training, books, and time to learn. Alternatively, you might belong to the majority who never get that lucky. Investing in yourself is crucial for career development and self-improvement, regardless of circumstances. It enables you to become more capable and effective in various aspects of your life, leading to greater career opportunities, promotions, and higher earning potential.

To take charge of your professional growth, consider these practical tips for investing in yourself:

  • Set clear goals: Identify your long-term career objectives and short-term goals to focus your efforts and prioritize learning initiatives.
  • Create a learning plan: Develop a plan to achieve your goals, allocate time in your schedule for learning, and commit to it. Be intentional about what you want to learn and track your progress.
  • Read regularly: Reading helps expand your knowledge and gain insights into different perspectives. Make a habit of reading books, articles, or blogs to stay current in your field and broaden your horizons.
  • Leverage online resources: Utilize free or low-cost online courses, webinars, and tutorials to deepen your knowledge and skills.
  • Learn from your peers: Collaborate with colleagues to share knowledge, discuss ideas, and enhance professional development.
  • Embrace failure: Use failure as a learning opportunity. Take risks, make mistakes, and reflect on what went wrong to grow from the experience.
  • Practice continuous improvement: Strive for excellence, look for ways to improve, and embrace feedback and criticism as opportunities for growth.
  • Network: Build a strong network of contacts to open doors to new opportunities and expose yourself to fresh ideas.
  • Stay curious: Cultivate a mindset of curiosity and wonder, and remain open to new ideas, experiences, and perspectives.

Remember, investing in yourself is not a luxury; it’s a necessity. By taking ownership of your career and actively pursuing professional development, you’ll become more valuable to your current employer and better equipped to navigate the ever-changing job market. So, embrace the challenge and embark on the exciting personal and professional growth journey.

Letting Go of the Chainsaw: Lessons from Firefighters for Software Engineers

I am reading this excellent book called Range, and I just went through an interesting chapter where the author reports some studies that were looking at why some firefighters die trying to outrun a fire while carrying heavy chainsaws, axes and other equipment. Should they have dropped those, they would have survived.

Emotional Attachment to Tools

One possible explanation is that their tools are so intrinsically linked to their identity as firefighters that they become almost like an extra limb on a subconscious level. People don’t realize those tools are not part of their being and can be dropped.

The book mentions one firefighter who noticed what was happening and knew he had to throw away his saw but felt compelled to carefully put it down – while trying to escape a ravaging fire. Still, he pushed the feeling aside, dropped his saw and survived.

The Sunk Cost Fallacy

When reflecting on this, the sunk cost fallacy also came to mind, which is “the phenomenon whereby a person is reluctant to abandon a strategy or course of action because they have invested heavily in it, even when it is clear that abandonment would be more beneficial.”

Letting Go of Past Investments

We can draw some valuable lessons from those examples in software engineering and operations. For instance, many people may feel emotionally attached to the tools, frameworks, and programming languages they have used throughout their careers. This attachment can be so strong that they become resistant to change, even when it’s evident that adopting new and more efficient technologies would yield better results.

Engineers may also hesitate to switch to a new technology or platform, fearing that the time and effort spent learning and working with their current tools would go to waste. However, it’s essential to recognize that technology is constantly evolving, and what was once cutting-edge may now be outdated. In these cases, it’s crucial to let go of past investments and focus on adopting new solutions to deliver better outcomes.

To succeed and keep improving, we need to be adaptable. Just as the firefighter who survived realized he had to drop his chainsaw, software engineers should be open to discarding tools or practices that may be hindering their progress or efficiency. It might be challenging to let go of something integral to your work, but doing so can open up new opportunities for growth and success.

Fostering Improvement

In team management and collaboration, fostering a culture that values continuous learning and improvement is essential. Encourage team members to explore new tools, frameworks, and methodologies to help the team become more efficient and deliver higher-quality software. By creating an environment where individuals feel supported in their pursuit of growth, you’ll be better equipped to handle the ever-changing landscape of software development.

Lastly, communication is vital when applying these lessons to your teams. Make it a point to regularly discuss new technologies, trends, and best practices with your team. 

Conclusion

Encourage open conversations about the tools and processes currently in place, and be willing to make adjustments if they no longer serve the team’s best interests. By fostering a culture of transparency and adaptability, you can help your team thrive in an ever-changing industry and drive continued success.