Things I use
People occasionally ask what tools I use, so here's the list. Some of these are carefully considered choices. Others are just "I started using this in 2015 and never bothered changing." I'll let you guess which is which.
If you're setting up a new dev environment or just curious what a principal engineer's toolkit looks like, maybe you'll find something useful here.
Development Environment
Editors & IDE
- IntelliJ IDEA Ultimate — My main IDE for JavaScript/TypeScript/Python work. Heavy but worth it for the refactoring tools and debugger.
- Sublime Text — For quick edits and when I need something that opens instantly. Still the fastest text editor I've used.
Terminal
- iTerm2 with ohmyz — The standard Mac terminal setup. I've customized it just enough to be useful without getting weird.
Fonts & Appearance
- FiraCode — Monospaced font with ligatures. Makes code slightly more pleasant to read.
- Material Oceanic
Productivity & Organization
Notes & Documentation
- Obsidian — My rough and ready note taking repository.
- Notion — Keeping track of side project ideas and draft posts.
Hardware
- Work: 2023 MacBook Pro (M3 Pro, 32 GB RAM) — More power than I should need but enterprise security software makes it feel like a 2013 Macbook Air.
- Personal: Self built PC — Windows machine for gaming.
Web Tools & Services
Infrastructure
- Railway.app — For deploying side projects. Easy to use, reasonably priced, just works.
Development Tools
- https://untools.co/ — A collection of tools and frameworks to help you solve problems.
- https://explainshell.com/ — Interactive Shell Command explained
- https://perf.link/ — A web app that lets you compare the performance of different javascript snippets in the browser
- https://whocanuse.com/ — Is a tool that brings attention and understanding to how color contrast can affect different people with visual impairments.
- https://gchq.github.io/CyberChef/ — The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis.
- https://transform.tools/ — A polyglot web converter