RSSAmplifier

Blog

Tom Butterwith

Thoughts on software engineering, management, and life.

butterwith.spaceRSS feed ↗15 posts

Latest posts

The Death of Arc

Reflections on switching from the Arc browser back to Firefox: speed improvements, vertical tabs, and the trade-offs in features and workflow.

All Knowing AI

The hidden costs of AI tools: privacy concerns, trust issues, and the potential for data breaches in an era of hasty software development.

Becoming a Highly Effective Engineer

Beyond coding: key traits of highly effective engineers, including finishing over starting, fostering team growth, and mastering communication.

The Multi-Level Todo List

A multi-level approach to task management for leaders: implementing weekly goals, an inbox for triage, and a prioritized backlog to stay organized.

Building Systems at Scale: how Skyscanner approaches engineering design reviews

How Skyscanner manages engineering design reviews at scale to align stakeholders, share context, and build better distributed systems.

To Do More, Do Less

Strategies for productivity in a new role: prioritizing tasks, taking breaks, limiting work in progress, and embracing asynchronous communication.

The Rituals of Deep Work

Techniques for achieving deep work in a distracted world: finding your peak hours, establishing rituals, and minimizing interruptions.

I Got Promoted, Now What?

Navigating the post-promotion landscape: finding a new purpose, mentoring others, and considering the long-term career marathon.

Nailing Your First Technical Interview

Information and research topics to help you smash your first technical interview and land your first job.

Your Voice Matters

How best to use your voice to influence a team.

Thoughts on Boring Software

Boring software is often the most stable, reliable, and innovative software. Here's a few reasons why.

Refactor your if statements for improved readability

Refactor complex if-statements into named functions to improve code readability, maintainability, and intent.

Avoid Magic Numbers to Increase Code Readability

Improve code readability by replacing 'magic numbers' with named constants. A simple refactoring technique for self-documenting code.

Dependency Injection in Java with Guice

A comprehensive guide to Dependency Injection in Java using Guice, covering constructor injection, providers, and testing strategies.

Jupyter Notebooks for Software Developers

Why software developers should use Jupyter Notebooks for rapid prototyping, data visualization, and repeatable ad hoc analysis.