Supercharge Your Developer Productivity

Essential tools and shortcuts for my development workflow

Boosting Productivity with Powerful Tools

Boost Your Macbook’s Productivity with These Power Tools

Maximize your efficiency as a developer on macOS with a few savvy tools and shortcuts designed to speed up your workflow. Here’s a rundown of the tools I’ve integrated into my routine to navigate and manage projects more efficiently.

Oh My Zsh: The Powerhouse Shell

Oh My Zsh is a collection of extensions for the normal ZSH. It comes packed with handy features and plugins to help enhance your terminal experience. It also allows using custom prompts like the Spaceship prompt, which provides a wealth of information at a glance, including the current directory, git status, and Python virtual environment.

Venv Display plugin

For developers who work with Python, keeping track of virtual environments is crucial. Spaceship allows you to display your current environment directly in the prompt, ensuring you’re always aware of the context you’re working in.

K8s Display

If you’re juggling multiple Kubernetes contexts, Spaceship can display the current context and namespace, saving you from the confusion of command-line checks.

Git Branch Display

Avoid the git status commands with the branch name on display, helping you keep tabs on your current work branch without additional commands.

Integrating these features into your terminal can greatly improve your navigation and productivity within complex development workflows.

Jump to any directory based on substring

zoxide replaced cd command for me. It allows you to jump to any directory based on a substring of its name. It learns your habits and uses a ranking algorithm to prioritize the most likely directory you want to jump to.

z foo

will jump to the directory containing foo in its name, sorted by frequency of use. I basically never have to use z a second time because it is nearly 100% accurate in guessing the directory I want to jump to.

Jump to any command based on substring

Similar for my shell command history, I use fzf. With Ctrl-R I can search through my command history and jump to any command based on a substring of its name.

Here is an example of searching for docker in my command history:

Example of using docker command in shell history. It showjs multiple commands which contain the word docker, like docker-compose logs

Raycast: Your Search, Supercharged

Raycast replaces the need for multiple apps and tools by consolidating all your search and command needs into one sleek, unified application. It can be accessed with a simple keyboard shortcut, allowing you to search for files, open applications, and execute commands without ever leaving your keyboard.

GitHub Repositories

With Raycast’s powerful plugin capabilities you can add the Github extension. It gives you the ability to swiftly navigate through all the repositories in your organization—a real time-saver for developers handling multiple projects.

VS Code Project Switching

Forget about sifting through your project directories. Raycast lets you switch between your Visual Studio Code projects without breaking your flow.

Instant Zoom Access

Raycast also provides a direct line to your scheduled Zoom meetings, allowing you to join with just one command—no more digging through emails or calendars.

Wrapping Up

Incorporating Oh My Zsh, Fuzzy Finder, fasd, and Raycast into your daily routine is like adding superpowers to your development workflow. These tools help minimize friction and maximize productivity, letting you focus on what you do best: creating incredible software. Try them out and see the difference for yourself.

This curated selection of tools is by no means exhaustive, but it represents a personal toolbox that has significantly improved my efficiency on macOS. Hopefully, they’ll do the same for you.

Lukas Pfannschmidt
Lukas Pfannschmidt
Sr. Machine Learning Engineer

My expertise now encompasses advanced areas in machine learning and backend system optimization. My work in backend optimization, particularly in managing large-scale data efficiently, aligns with key optimization metrics like cost, quality, and speed. I also contribute to improving overall system reliability and observability, significantly reducing error rates and establishing critical technical metrics. These endeavors complement my previous research interests in high-performance computing.