Senior Developer Skills: The ziiiiiiiig and the ZAG

Simon Lutterbie
3 min readFeb 27, 2022
Photo by Marco Bianchetti on Unsplash

The best senior developers understand what their primary contribution is — the single thing they can do that will have the greatest positive impact on both their product and their team. Drawing inspiration from books like Essentialism by Greg McKeown, or The One Thing by Gary Keller, know the disciplined pursuit of creating value is what makes you a “force-multiplier” and true 10x developer.

However, you can’t always be working on our top priority at the exclusion of all else. Eventually, smaller feature requests, administrative tasks, codebase housekeeping, etc. require (and deserve!) the top spot on our to-do lists, and thus warrant out full attention.

Enter the art of the ziiiiiiiig and the ZAG.

This article is part of the paid-member collection on Medium. If you find what I say valuable, please consider becoming a member to support writers who create content to educate, engage, and entertain. Thank you for your support!

The core idea of the ziiiiiiiig and the ZAG is discussed at length in The One Thing, one of my must-read books for senior developers (or anyone who wants to create something truly valuable). Essentially, the ziiiiiiiig is pursuing your top priority for as long as possible — heading as directly towards your goal as you can. But eventually, you’ll end up too far in one direction, and you’ll risk losing equilibrium. This may manifest itself as mental exhaustion, lack of insipiration, or simply an increase of urgent but not-as-important issues that can no longer be put on the back-burner.

When you start to feel yourself teetering, it’s time to ZAG — change direction to move back to center as quickly as possible. Fulfill that minor feature request, squash some bugs, finish all the small tasks that have been accumulating on your to-do list… get back to equilibrium, so you start another ziiiiiiiig in your primary direction.

In a way, all the tasks in your ZAG becomes your “One thing” for a short period of time, because it will make everything else easier, or unecessary.

Here are three techniques you, as a developer, can use to quickly and effectively restore equilibrium when it’s time to ZAG:

  1. Minimize context-switching within the ZAG. Batch similar types of tasks, such as bug fixes, admin work, styling changes, and package upgrades. Conquering similar, even repetitive, tasks can help create a sense of flow, improving effectiveness, efficiency, and enjoyment.
  2. Make use of “low momentum time”. Find those blocks of time where it’d be difficult to make meaningful progress on your top priority, anyway. This could be as small an hour between meetings, or the few days of a shortened workweek. These times are perfect for clearing the decks of side-work, while simultaneously giving yourself a mental break from your primary focus.
  3. Flip the script. The standard script is “large blocks of priority work with small chunks of side-work to keep things flowing”, you can set aside chunk of time (try a week), for “large blocks of side-work with small chunks of priority work (e.g., housekeeping tasks related to your primary project) to keep you moving forward”. The advantages of this approach include allowing you to tackle larger side-projects that couldn’t be completed within the above, and including smaller pieces of priority work help you maintain forward progress on, and connectedness to, your priority.

Note: Each of the above can be applied on the individual or team level. For example, a “bug squashing week” can help clear your team’s backlog, build up some breathing room, and give you all a mental break from feature work.

So go forth and ziiiiiiiig… and when you’ve hit your limit, ZAG!

I’m a senior frontend engineer and developer mentor at Obsidian Security. I aim to be a force-multiplier for my team by sharing knowledge, implementing best practices, strengthening code quality, and improving the developer experience. Oh, and I deliver quality features, too!

My goal in writing is to help junior (and senior!) developers become the kind of engineers I’d love to hire and work alongside.

To get in touch, I welcome new connections on LinkedIn. No soliciting please, except to let me know you’re looking for a new software engineering position, or have a vacancy you are trying to fill.

--

--

Simon Lutterbie

Senior Frontend Engineer committed to creating value and being a force-multiplier. Typescript, React, GraphQL, Cypress, and more. Also: PhD in Social Psychology