The people who use our boards.
333 interviews since 2018
The people who use our boards.
Sam Rose
Backend LeadWho are you, and what do you do? What do you like to do outside of work?
My name is Sam, and I’m the Lead Engineer for the API Team at Nebula. I lead a small team of four people, and together we build all of the backend systems that power Nebula. I’ve worked on backend systems my entire software engineering career, taking a particular interest in the interfaces between backend and frontend systems (websites, apps, command-line tools, etc). Getting the opportunity to lead that practice at Nebula is a real dream.
Outside of work, I am first and foremost a dad. My wife and I have two little boys, a three-year-old and a two-year-old. Over the last twelve months we’ve been on a learning journey, having found out our eldest is autistic. Lots of time spent filling out required forms, talking to medical professionals, visiting schools, figuring out his behaviours, and weathering meltdowns when we get it wrong. It’s challenging, but we’re optimistic about his future and grateful to be surrounded by supportive people.
When I’m not working or being a parent, I’m usually found playing video games or tinkering with side projects. My current side project is a web-based visualisation of the data the UK government publishes about special needs. It’s a surprising amount of data, and I’m hoping that a tool to navigate it will help other people on the same journey as me.
What hardware do you use?
My primary computer is a MacBook Pro with an M1 Max, powering a Studio Display, an ASUS ROG PG279Q, and an LG 27UK850. I also have a PC that runs Windows for my gaming needs, and uses a Samsung S34E790C ultrawide display. The PC has an Intel i9-10900K CPU, an AMD 6800XT graphics card, and 32GB of RAM.
For audio and video, I use a Shure SM7B and a Canon EOS 80D, respectively. The SM7B connects to a Scarlett Solo, and the lens on the camera is a Sigma 20mm F1.4. An Elgato key light provides lighting to make the video quality the best it can be. I’ve justified these purchases to myself by saying I work remotely, and work for a company that focuses on content creators. I could just as easily get by with my MacBook’s built-in webcam and speakers, but I do think there’s value in a good AV setup when you work from home. The closer you can get to feeling like you’re there in person, the better. Having high quality video and audio gets you at least some of the way.
All of the above sits on a custom-made, 15-foot-long, Canadian black walnut desk. This desk is my pride and joy; it will likely outlast me by several hundred years. I wanted a desk that would make people gasp when they see it. I wanted it to be the centrepiece of my working area. I never wanted to be short of desk space ever again. I think I’ve achieved all of these things.
I sit on a Herman Miller Aeron chair. I have two of these, one for each of my workstations. This chair was a game-changer for me; ever since I sat on one at my first ever job,I’ve considered them to be the most comfortable office chair ever made. I’ve had my oldest Aeron for 7–8 years, and other than having to replace one of the arm rests, it is like new. I’ve had the other for about 2 years and I can barely tell them apart.
I’m currently writing this on an iPad Pro 10th generation with the Smart Keyboard Folio case. This is my go-to device for whenever I’m not in my home office. I like to do my writing in our dining room, next to a set of French doors that let in tonnes of natural light. Being downstairs separates work and non-work, and when I’m not working I like to be available to my kids. While writing this, they’ve come to see what I’m doing several times and will often drag me away to play with them.
For gaming on my Windows PC, I use a Razer Tartarus V2 and a Razer Naga. While I’m not a big fan of Razer’s customisation software, I do really like their hardware. The Tartarus especially is super comfortable for long gaming sessions, and I feel like my hand very naturally wraps around it. The Naga is their mouse that has swappable side-button panels, but I tend to use the simplest 2 button one. One of the panels offers you 12 buttons, I have no idea how people accurately hit the right one with their thumb!
For audio I have a pair of AirPods Max headphones, and a set of Audioengine A5+ speakers. I adore the AirPods Max headphones. They sound great, they look great, they’re comfortable over long periods of time, the transparency mode is uncanny, and they pair to multiple devices really easily. I don’t think I’ll ever be able to go back to wired headphones, or headphones less well integrated with the Apple ecosystem. My Audioengine speakers have been with me for a very long time, and they’ve been sounding great since day one. I will admit, though, they’re fairly high up on the list of things to upgrade.
And what software?
I do almost everything programming-related in Visual Studio Code. What a phenomenal piece of software. I was a Vim holdout for many years, but eventually gave in sometime around 2017-2018. The Vim plugin in VSCode works extremely well, so I feel like I’ve sacrificed nothing. I get all of the power of Vim’s modal editing, as well as access to the thriving ecosystem of VSCode plugins. Not to mention the monthly updates VSCode itself receives, frequently improving the editor in tangible ways.
My next biggest piece of software in terms of use is Obsidian. It’s where I journal, save articles to read later, manage my to-do list, and write blog posts. It’s where I’m writing right now. It’s a connected, searchable database of every day of my life, every article I’ve read, and every post I’ve written. It’s the centrepiece in the organisation of my digital life, and I love it.
I like to support small, privacy-focused businesses. Two of these that are indispensable to me are Fastmail and Kagi. Fastmail is an email provider that lives up to its name: the web app is wickedly fast. Kagi is a search engine, akin to Google, that doesn’t have ads or investors. It has no external pressure to show you anything other than the highest quality results for your search. Both of these businesses promise to respect you and your data, in return for a monetary subscription. There’s an honesty to businesses like this that I find comforting. I don’t have to spend any time wondering how they exist or what they might be doing behind closed doors.
I’ve enjoyed adopting the new wave of command line tools that seek to replace ubiquitous but hard-to-use tools. Often replacing them with tools that have much nicer defaults, and much more readable output.
Some examples:
- https://github.com/ogham/exa — a modern “ls” replacement, includes nice colours, lots of formatting options, and support for not showing anything in your .gitignore file
- https://github.com/BurntSushi/ripgrep — a modern “grep” replacement that allows you to use regular expressions by default, defaults to a recursive search of the current directory, and is incomprehensibly fast
- https://github.com/sharkdp/fd — a modern “find” replacement, defaults to a recursive search of the current directory to find files matching a given regular expression
- https://github.com/mr-karan/doggo — a modern “dig” replacement that outputs DNS records in a far more human-friendly way
- https://github.com/httpie/httpie — a modern “curl” replacement that makes it much easier to construct HTTP requests, and has nice output formatting when the output is some known format (e.g. JSON)
What’s your keyboard setup like? Do you use a custom layout or custom keycaps?
I use an ErgoDox with SA Vilebloom keycaps and a smattering of artisans from Jelly Key.
The artisans don’t fit well with the SA Vilebloom colours, but I don’t care. They’re little works of art, and I love the craftsmanship that goes into them.
As the name of my layout suggests, it has been through a lot of revisions. I have tried several times over the years to make use of layers, but I’ve never been able to work them into my workflow. The only layer I have these days is to give me access to function keys, and I don’t use that often either. One of the main things I do with this keyboard is write software, so you’ll notice some coding-specific choices here. The curly and square brackets, for example. Along the bottom left I also have a bunch of very specific mappings. The Opt+Y and Command+\ are keybinds from DaVinci Resolve, when I used to do a lot of video editing. Being able to map these to single button presses was a lifesaver.
Another thing you’ll notice is a toggle for “auto shift.” Auto shift is the feature that makes it such that holding a key down for a given period of time (140ms for me) will instead send that key as if shift were held down. This feature has changed my life. I still have a mapping for shift, for if I’m sending multiple consecutive characters with shift held, but most of the capital letters and symbols I type are done with auto shift. I wish all keyboards had this option.
One of the motivations for getting a split keyboard in the first place was that I suffered from intense hand pain. In 2018 I started to notice I’d have days where my wrists and thumbs felt like they were burning, and any attempt to grab something (a cup of tea, a door handle) would result in sharp pain from my thumb up the inside of my arm. These flare-ups got progressively worse, until I had to take a several month break from my career to give my hands a chance to recover.
Rest, however, only helped temporarily. Going back to typing would cause the pain to recur. After speaking to several medical professionals, trying a variety of physiotherapies, stretches, and attempts to deal with it through medication, I turned my eyes to my setup. I hadn’t given this much thought before because so many other people were using a setup just like mine. At the time I was using a tada68 with 1976 SA keycaps (my all-time favourite set) connected up to a MacBook Pro mounted on a stand next to an external monitor.
What I hadn’t noticed about my setup was the position I held my hands in while I typed. I angled my hands outwards, putting stress on my thumbs and inner wrists, while bringing them together to reach the keyboard. This resulted in my hands hovering over the keyboard perpendicular to the left and right side, but was causing me a lot of pain when sustained for long periods of time.
Split keyboards solve this problem very naturally, and after just a few days of using the ErgoDox, my problems disappeared entirely. It was magical, and at first I thought this might be a coincidence. It was too good to be true. Years later, I haven’t had a recurrence of hand pain since (touch wood).
What would be your dream setup?
Quite recently I bought a pair of Nreal Airs. They’re marketed as augmented reality glasses, but I’ve seen a lot of reviews and videos from people who say they work really well as head-mounted displays. They have a mode where three screens are projected into virtual space in front of you, and you can see them by turning your head left and right. The glasses come with a blackout lens that you can attach to the front of them to stop light getting in.
They work great, but unfortunately I can’t use them for long without my eyes feeling very strained. However, this technology is where I see my dream setup lying. Unconstrained by physical space, I could have infinitely large or infinitely many screens. I wouldn’t have to be sitting at my desk to have access to my work, I could be reclined on my sofa or sat on a balcony somewhere warm. “But you can do that with a laptop,” I hear you saying. After prolonged use, laptops make my hand pain come back as well as give me neck pain.
The ErgoDox is my dream keyboard. It’s comfortable, it has plenty of keys, it’s incredibly configurable, it’s durable, and it has a beautifully unique look. I love it so much that I actually bought two, in case my first one breaks and I can’t get hold of another straight away.