My Developer Hardware

As a developer, the choice of hardware to develop on is important and very personal. Some work very stationary, others are very mobile. Some work on lightweight websites, others work on heavy data engineering projects. Me personally, I work on a wide range of projects, starting from lightweight Jekyll-based websites such as this one to heavyweight data engineering projects. with Kubernetes, Kafka, Docker and JVM-based projects. Therefore, my development tools range from lightweight tools such as VIM or Sublime Text to more heavyweight IDEs, such as Intellij IDEA. So I need a powerful machine that can handle some load without slowing down and able to achieve relatively fast compile times. In terms of mobility, I mostly work from home, but I need a laptop so that I can also work outside my home.

The full setup

My primary machine is my laptop, but regularly I also use my desktop PC (e.g. to run a development cluster). When sitting at my desk with my laptop, I want to use the same keyboard, mouse and monitor that I use with my desktop. That’s where my USB-3 switch comes in, which is plugged into both my laptop and desktop, and allows with a simple press of a button to switch its output to either device. It’s not a complete KVM (Keyboard-Video-Mouse) switch, since my monitor can also switch between HDMI and DisplayPort with a press of the button, which was sufficient for me. It has four slots, so I use one other slot for my Yubikey.

I also use an usb-c Dell docking station, so that I only have to plugin one usb-c cable in my laptop. Charging also happens through this docking station.

Home developer hardware setup

The Laptop

For development, I love my Macbook Pro. It provides the perfect balance between quality hardware, quality software and a good terminal experience. And while I’ve had my short outing with a Windows-based Dell XPS system because Macbooks do have shortcomings (repairability, upgrades), I quickly switched back. So right now I’m running a Macbook Pro with an M4 chip, 48GB of memory and 16 inch screen.

The Peripherals

Keyboard

I’m using a Ducky One 2 Tuxedo mechanical keyboard with Cherry MX Brown keys. It’s my first mechanical keyboard and I wouldn’t want anything else anymore. Also, I like how the design not only looks nice, but is also functional, by using various colors to divide the keyboard into segments.

Ducky One 2 Tuxedo keyboard

Mouse

My primary mouse is a corded Logitech G502. Great for both development and gaming.

Logitech G502

Alternatively, when I’m on the couch, in the garden or a remote location with my laptop, I use a wireless Logitech MX Ergo. It’s a trackball mouse, which takes some getting used to but is excellent when you don’t have a lot of space to move your mouse around.

Logitech MX Ergo

Webcam

Because I want a good quality webcam that is front-facing when I’m in front of my ultra-wide monitor, I bought an Elgato Facecam Full HD streaming camera. Contrary to other webcam vendors, Elgato’s webcam software is outstanding. After having used it now for a while, I can only confirm this. However, the stability isn’t perfect, especially when connected through a docking station. So I’m looking for a new one.

Docking Station

The Dell WD19 docking station overall works great but isn’t perfect. Sometimes (once every 2–3 weeks), it requires a restart when the monitor doesn’t come through or the webcam is acting up. With 130W power delivery, it can certainly charge my laptop while having two external monitors connected.

Actionable career advice,
in your inbox

Advance your career as a software engineer by regularly receiving my 15+ years of experience in your email inbox.

new advice & strategies to advance your career 🎓

exclusive content, not available on the site 🚀

updates on existing articles, with new insights! 💫

product updates and special offers 💥

    Unsubscribe at any time.