Skip to main content

Command Palette

Search for a command to run...

My favorite Mac apps for programming (July 2022)

Great tooling is essential in software development. Here are some of my favorite apps that I use for programming.

Published
4 min read
My favorite Mac apps for programming (July 2022)
B

I'm a full-stack developer from the Chicago suburbs. I primarily build applications using React, Typescript, and C#. I'm a big fan of Next.js and taking advantage of serverless technologies.

Outside of development, I spend a lot of time reading and playing video games. I also happen to be a Sith Lord, so I spend a decent amount of time shooting lightning from my hands and spinning. It's a good trick.

I've been programming on a Mac for almost two years now. Coming from the world of Windows, there were a few things that surprised me and some things that took some getting used to. Soon, however, I realized just how extensive the developer tooling on MacOS was. I was able to set up a workflow for myself that makes me more productive.

I attribute a large part of my productivity to the apps I use on a daily basis. I use a variety of different applications when I'm coding and each plays a crucial role in my workflow. And while some of these apps are cross-platform, I either didn't discover them until I started using a Mac or they first launched on Mac only. Today, I'm going to share with you some of my favorite Mac apps that I use for programming.

Text editors

This should come as no surprise to anybody, but my text editor of choice is Visual Studio Code. VS Code has been my go-to editor for a long time now. I primarily work with TypeScript, React, and Next.js and VS Code has amazing support for those. I have a variety of plugins and extensions set up to make my workflow more efficient. Some of my favorites are

  • Better Comments
  • Error Lens
  • ESLint
  • GitLens
  • Import Cost
  • Tailwind CSS IntelliSense
  • Material Icons

As for my color scheme, I have a few that I go back and forth between. I'm currently trying out Subliminal by Dan Abramov and I like it thus far. Some of my other favorites are morgan.codes and poimandres dark theme.

Sometimes, however, I do use Sublime Text for some things. I mainly use it for quick edits to JSON or configuration files. Sublime is really fast, so sometimes it's just more convenient to do an edit in there.

Terminal

For my terminal, I'm currently using Warp. Warp is a new Rust-based terminal that has some amazing features. One of my favorite things about it is its cursor position features and autocomplete. It also has a really cool AI command builder that turns natural language input into commands. Warp is one of the best terminal experiences I've had.

I also have a variety of CLI apps installed that make my terminal experience even better, including

  • git
  • exa (ls alternative)
  • bat (cat alternative)
  • Vercel
  • pscale (Planetscale CLI)
  • Homebrew
  • oh-my-zsh
  • tmux

I do have iTerm2 installed as well. And while I do primarily use Warp, I will sometimes use iTerm2, depending on what mood I'm in. One app I can't live without in iTerm is Fig. Fig takes autocompletion to a whole new level. If you're using iTerm and don't have Fig installed, you should give it a try!

SQL editor

I've had a pretty rocky road with SQL editors. I've used SSMS, PG Admin, MySQL Workbench, Azure SQL Data Studio, and a few others. I primarily use Postgres and MySQL for anything outside of work, and I've always felt the available editors were lacking when compared to things like VS Code.

That all changed when I tried Arctype. Arctype is a modern SQL editor that supports Postgres and MySQL. It's fast, modern, and super easy to use. You can quickly view table data, write queries, build dashboards, and so much more.

One of my favorite features is the ability to manage workspaces. This is really handy when I have a few databases for different projects. I also adore their Planetscale integration. I can quickly change between branches and create deploy requests right from the UI! It's an amazing experience and I can't recommend Arctype enough.

Other apps

Outside of more traditional programming apps, there are a few others that I can't live without. These are apps that I use for various other things that just make my workflow just that much better.

  • Notion (Larger drafts, documentation, project planning)
  • Apple Notes (Quick notes, early drafts)
  • Alfred (File searching)
  • Clipy (Better clipboard experience)
  • Scroll Reverser
  • Rectangle (Window management)
  • Discord
  • Spotify
  • Google Chrome/Brave (Web browser)
  • DevToys for Mac

Wrap up

The push within the last few years for better developer experiences have to lead to some amazing apps coming out. The applications I use in my development workflow have improved my productivity and made the programming experience more enjoyable. They've transformed my Macbook from a laptop into a place where I can build and create with no limits.

Got an app that you like that isn't on my list? Let me know on Twitter @brockherion! I would love to connect with you and learn more about the apps you use.

K

Great article and list. I’ve been wanting to try out Warp, but you know….procrastination lol. Just started using Fig today and it’s sooo nice.

Regarding apps not on your list, I’ve got a few for you to check out:

  • Lunar (display management) - https://lunar.fyi/
  • Hidden Bar (hides menu bar icons) - https://superbits.co/hidden
  • Shotrr (screenshots) - https://shottr.cc/
  • Raycast (Alfred alternative) - https://www.raycast.com/
  • SF Symbols (native Apple icon library) - https://developer.apple.com/sf-symbols/
  • Dropzone (move/files and whole lot more) - https://aptonic.com/

I could go on and on 😂

SetApp is another option. According to their website they’re a “ One-stop subscription to solving every task on Mac and iPhone.”. Basically pay a monthly subscription and get access to a boat load of applications. I’m pretty tempted to try it out. https://setapp.com/

2
B

Thank you Kurt! These are some awesome suggestions. I'm particularly interested in Shotrr and Raycast. I've been using the built-in screenshot tool and so far it's been okay.

Raycast looks insane. Can't wait to start using that!

1
I

I have a very similar setup, although I use Jetbrains, which I also use as my database editor. Love Warp, although miss my old powerlevel10k prompt.

Hadn't heard of devtoys. Will check it out.

Do you use Dot files? They can be very powerful and save you hours of setup when changing or adding laptops. This is a fantastic template: https://github.com/freekmurze/dotfiles

1
B

Hey Velasco! Glad you enjoyed it!

I used to use DataGrid from Jetbrains for my database stuff, but I found Arctype to work much better for me. I also love Warp, but I really do miss the customizability of iTerm2.

I have heard of Dotfiles, but haven't used it. I'll take a look!

I

Hi! Re: dot files, they are just all the files that hold your configuration and preferences, from your aliases and your customised prompt, your zsh plugins, your themes, etc., to your MacOS system behaviour.

The idea of versioning them allows you to "feel at home" in any new system, whether it's a new computer or a virtual machine.

The link I shared has some awesome customisations and a very nice automated script.

Others us tools like Chef. But if you like to customise and personalise and shortcut the life our of your work tools, investing the time in this approach once will save you tens and possibly hundreds of hours over a lifetime of multi machine use!

Re: databases, I might prefer alternatives if I used lots of separate apps for my day to day workflows... but I've turned my Jetbrains IDE into a spaceship that I never have to leave, which saves on context switching. Instead of opening and moving between apps, inside my IDE I:

  • Manage all my databases (mongodb and neo4j included) with all the considerable power and versatility of Datagrip
  • View and control ALL my AWS services
  • manage, view and interact with all my Docker containers
  • execute all my complex git actions and visualise my branches
  • play Spotify and configure my playlists by work mode and mood
  • log in to remote servers and interact with the code remotely with all the IDE functionality
  • conference call with video and pair program in each other's machines.
  • Make and test http requests and responses, like a micro Postman
  • run all my tests, front and back end
  • and so, so much more.

Just the above would have involved switching again and again between 5-7 apps to work one one full stack feature.

And unlike with VS code, the experience doesn't feel like a collection of extensions, but one seamlessly interconnected system.

So this is why I don't choose separate database software! I find that having it all in one place reduces cognitive load and context switching and enables a more integrated and direct development experience.

My favorite Mac apps for programming (July 2022)