If I have seen further it is by standing on the shoulders of giants.
— Isaac Newton
Software engineers are always optimizing. We tinker, try new tools, and transform our development processes. Every computer is a veritable playground of fun experiments and plugins.
Out of curiosity, I spoke with a few of CircleCI’s engineers about the tools they use to boost productivity. The result was a treasure trove of software gems. It was difficult whittling this list down to only ten, but these ten tools give the most bang for the buck. I’m hoping this post can help other engineers - both within CircleCI and beyond - make their day-to-day work snappier and more fun.
Special thanks to Alex Engelberg, Devin Brown, Glen Mailer, and Jacqueline Garcia for meeting with me about their setups. Additional thanks to others at CircleCI for miscellaneous tool suggestions in our (many) Slack channels.
General productivity tools
OneTab for browsers
OneTab is a handy plugin for Chrome and Firefox browsers that aggregates and stores your tabs. More specifically, it stores the links you had open in them, which allows you to close the tabs and free up RAM.
Tabs are easily grouped and named: you can save an entire group of tabs as well as restore groups of tabs. I have a grouping of pages required for customer demos which I can immediately open. When I’m finished, I can just store those same tabs for the next demo.
This is, in my opinion, what bookmarks should have been. Saving new bookmarks and opening them is a hassle, whereas in OneTab, they’re easy, one-click experiences. Try out OneTab and see what it can do for your browser tab management!
Momentum is a browser extension for Chrome, Firefox, and Edge that helps users find focus.
It replaces the new tab on the browser with beautiful background images, a motivational quote, and other items configurable by the user. There are tons of convenient widgets - countdowns, world clocks, local weather, quick notes you can take in the browser…
The Links dropdown can entirely replace the Bookmarks Bar because it’s faster and far more readable. There are even keyboard shortcuts!
On a paid plan, you can setup integrations with apps like Todoist, Asana, Trello, Bitbucket, GitHub, and others. Combined with its “Autofocus” feature, which centers one item on the screen, you can focus on the task at hand and retain clarity for the day.
Momentum has quickly become the dashboard of choice for some of us.
Clockwise for Google Calendar
Clockwise is a calendar assistant for GSuite and Chrome that intelligently manages your calendar.
It can reschedule your meetings (called “Autopiloting”) to create the largest blocks of Focus Time, or uninterrupted blocks of time for high-quality work.
In addition, there are some handy integrations, such as with Slack, to automatically turn on Do Not Disturb and sync status according to your calendar. The plugin can even color-code your meetings.
Clockwise has been great for creating chunks of uninterrupted time. As engineers, it’s important for us to avoid context-switching too often and disrupting our flow. By Autopiloting certain meetings, we can effortlessly move meetings around to create those blocks.
Rectangle is window manager that allows users to move and tile their windows with keyboard shortcuts.
A common problem with modern tech work is the management of many apps and windows. Rectangle makes managing them easy; you can use intuitive keyboard shortcuts to move things around (for example, Ctrl+Alt+→ tiles a window right).
Originally, Devin recommended Spectacle. However, Spectacle is no longer maintained, and its users pointed to Rectangle, an open-source alternative with essentially the same features.
See how much easier it is to move your windows with Rectangle!
Clipy is a Mac clipboard extension that preserves a longer history of items copied.
It supports a variety of formats including images and text, and its history is long - you can go and find that one little thing you copied several actions ago.
In addition, it even supports snippets. Have something long you might type often? You can store it and have it callable with just a keyboard shortcut.
GitHub inline suggestions
Developers know that tired game - open PR, receive suggestions, flip back to IDE, make changes, push changes, flip back to PR… All of this is eliminated with the ability to commit a suggestion inline. This is especially useful for tiny changes.
Overall, this feature has helped many of us streamline fixes to PRs for faster merges.
Dash for macOS
Dash for macOS is an API documentation manager and code snippet manager.
With 200+ offline documentation sets available, you can find documentation for the most popular languages without going online.
Whether it’s browsing Go’s
strconv package or looking up PSQL commands, you can do it all using a single, fast, and unified app. It even has a snippets feature, which allows you to type an alias and expand to some larger text - highly useful for larger pieces of repeatedly typed text.
Dash is extremely useful for looking up docs across many languages and projects, and offline.
Pull reminders for Slack
Pull Reminders is a Slack app that notifies users of pending tasks on PRs.
It’s great for notifying a user via Slack of all PR events and action items, effectively replacing GitHub’s notifications. Users can see everything they need to just in Slack, and they can turn off the email notifications to declutter their inbox.
GitLens for VS Code
GitLens is a plugin that expands Git capabilities within VS Code.
Often when collaborating on projects, it can be easy to lose context about a particular piece of code. With GitLens, this information can be accessed at-a-glance: anything from inline blames, to diffs, and even history of particular files and lines of code.
In addition, GitLens can show side-by-side diffs while “rewinding” through the commit history, allowing users to see line-by-line, commit-by-commit changes.
Live Share for VS Code
VS Code Live Share is a plugin that allows users to remotely collaborate and edit in real time in VS Code.
Back in the day, remote collab was popularly done through
tmux, which ran in the Terminal and shared text-based sessions.
But since then, capabilities and technologies have expanded to cover full IDE and workspace sharing, such as seen in the Live Share plugin.
Many of CircleCI’s engineers use VS Code because of its great plugins and expandable features. The Live Code plugin is used often for pairing on work.
There are so many great tools out there, it’d be impossible to list them all in this post. However, the above is a small sample of the many tools CircleCI’s engineers use.
They’re people who’ve done incredible work in the time I’ve known them, and we’re hoping these tools can help you do your own incredible work more effectively.