Showing items from Blog

Breathing New Life into a Motorola G7 with LineageOS 22.1 (Android 15)

My Pixel phone recently stopped working, getting stuck on the fastboot screen. It was not recoverable and the advice was to get a new device or replace the motherboard, which was not cost-effective. Fortunately, I had a backup phone: a Motorola G7 from a few years ago. The phone was still in good shape, but running Android 10 meant certain apps were no longer supported. Rather than give up on the device, I decided to modernize it.

Continue Reading

Introducing FinOps: A Practical Guide for Modern Engineering Leaders

As cloud adoption continues to accelerate, organizations are discovering that the real challenge isn’t simply using the cloud—it’s using it well. Over the past few years, one discipline has emerged as essential to doing that effectively: FinOps.

If you haven’t encountered the term before, FinOps—short for Cloud Financial Operations—is a cross-functional practice that brings together technology, finance, and business teams to manage cloud spending with clarity and accountability. As a Director of Engineering, I’ve seen firsthand how transformative it can be for organizations of all sizes.

Continue Reading

The Mentor’s Paradoxes: 7 Contradictions Every Great Coach Must Navigate

Mentorship looks simple from the outside. You share what you know, guide someone along, help them grow. But anyone who’s done it seriously knows that it’s full of contradictions.

You have to care deeply, but not control. You have to teach, but not dictate. You have to protect, but not shield.

Continue Reading

Building a Culture of Ownership and Collaboration in Distributed Engineering Teams

Over the past decade, engineering teams have become increasingly distributed across cities, countries, and time zones. What once was a single office filled with whiteboards and hallway conversations has evolved into a global network of talented engineers collaborating through screens.

Distributed work has unlocked enormous potential: access to global talent, better work-life balance, and round-the-clock productivity. But it’s also introduced a new leadership challenge: how do you maintain deep collaboration and a shared sense of ownership when your team rarely meets in person?

Continue Reading

Useful Commands When Working with Bicep in Azure

Here are some useful commands when working with Bicep in Azure. Here I mostly focus on commands for when things go wrong or you need to troubleshoot deployments.

Working with subscription deployments

# List all subscription deployments
az deployment sub list

# Show only the names of subscription deployments
az deployment sub list --query "[].name" -o tsv

# Show details of a specific subscription deployment
az deployment sub show --name <deployment-name>

# Delete a specific subscription deployment
az deployment sub delete --name <deployment-name>

# Delete all subscription deployments using PowerShell
az deployment sub list | ConvertFrom-Json | ForEach-Object {az deployment sub delete --name $_.name}

# Delete all subscription deployments using bash
az deployment sub list --query "[].name" -o tsv | xargs -I{} az deployment sub delete --name {}

That takes care of subscription deployments. Likely you will have resource group deployments as well. Next, let’s look at resource group deployments.

Continue Reading