HHKB Spotlight: Featuring Design Engineer, John Pham

PFU America, Inc. had the privilege to talk with Design Engineer and HHKB fan John Pham to learn more about him and why he loves Happy Hacking. His journey is not only inspiring to those wanting to enter the programming field, but also shows that programming can be a thriving community of shared knowledge and progress.

HHKB: Hi John, tell us a little about yourself.

John: Hi, I’m John Pham and I’m a 26-year-old Lead Design Engineer in Seattle.


HHKB: What got you interested in programming?

John: I’m a first-generation Vietnamese born and raised in California. I went to the University of California Riverside for my undergraduate. I started off studying mechanical engineering but switched to computer science after going to a hackathon. I went to the hackathon because I was promised free food and swag. As a broke college freshman, you go where there’s free food and swag. I joined a team to build a game and fell in love with programming. There was something about problem-solving with code that was just way more fun than I'd ever imagined.

HHKB: Where do you currently work and what interested you in that company?

John: I work at Vercel. We're all about creating tools that make it easier for other companies to build stuff on the web. One of our most popular tools is an opensource framework to build websites called Next.js. The way Vercel makes money is by being your devops and infrastructure team. Your team can focus on solving your business problems while Vercel will make sure your application is available around the world, is fast, and is secured.

Building developer tools is very interesting for me. The amount of impact is huge. Say I spend 40 hours building a new tool that saves someone 2 hours every day. Your team of 10 engineers now saves 20 hours every day, 140 hours every week, 7,280 hours every year. My initial 40 hours saved 7,280 hours. That time saved allows people to solve even harder problems.

HHKB: What type of role do you currently occupy at your job?

John: I started at Vercel as a Software Engineer. After a while, I transitioned to the Design Engineer role. Design Engineering is different from Software Engineering in that it focuses very intently on the user experience. We make a good experience into a great one.

This is a role where we code for the majority of the time. The code we write is usually frontend code. We write in Typescript and CSS. The time we are not coding is split between project management and designing.

I switched to Design Engineering because I find a lot of joy in creating exceptional user experiences. Being able to exceed a user’s expectations is pure joy for me.

HHKB: We noticed you also maintain a blog page on programming? Tell us a little about that.

John: I started my programming blog as a way to deepen my own learning. Writing posts forces me to thoroughly understand topics and creates a reference to return to later.

I also use my blog as a way to answer questions that I’m asked about often. A blog post is great for questions that require lengthy responses. I wrote a blog post on how to create animated product updates after being asked how I made one at the startup I worked at. I’ve shared this page dozens of times now and it has hundreds of thousands of views!

Another use for my blog is to help others. There have been problems (like sending Slack images in Go) where there were no existing answers. I spend countless hours banging my head trying to figure it out. The least I can do is spend a few extra minutes writing it up to save time for the next person. (That blog post in particular got me connected with a CEO that I looked up to because his company ran into the same problem!)

HHKB: How valuable has the programming community been in helping you learn more about what you are interested in?

John: Sharing something, be it a blog post or tweet might seem like I’m trying to teach something. That’s not always to case. Every time I share something, I actually end up learning something. Others who see my content bring up better alternatives and share their experiences.

HHKB: That is a great way to learn! Speaking of sharing, can you share with us about your experience with HHKB?

John: My daily driver keyboard is the HHKB Professional 2. I’ve had this keyboard since 2017. After trying out different types of mechanical keyboards, I chose the HHKB because:

  • Layout: Control replacing caps lock is great as a programmer.
  • Size: The board being 60% makes it super easy to travel with. I haven’t found a small enough cafe table that doesn’t fit my laptop and HHKB.
  • Layers: After years, the layers just make sense to me. The lack of arrow keys isn’t a big deal because I navigate with hjkl.
  • USB ports: Having a USB port allows me to plug my mouse’s receiver into the keyboard. This means that when I switch computers, I only have the single cable that connects the computer to the keyboard.

Despite 6 years of near-daily use, the keyboard is holding up great. Every key still works, the keycaps feel great, and typing on it still feels like day 1.

HHKB: Does your HHKB have any customizations?

John: I’ve replaced the Escape key with an artisanal key that a former coworker made for me. He had a resin 3D printer and made me a Darth Vader helmet keycap.

Another modification I’ve made is that I’ve flipped the stock space keycap. Flipping it allows my thumbs to rest on the spacebar at a better angle.


HHKB: Are there additional features you would like to see on our keyboard?

John: My top feature request would probably be to have MX-compatible stems. A big draw to mechanical keyboards is all the keycap sets you can choose from. Most of the 3rd party keycap sets and artisanal keycaps are usually made for MX-compatible stems.

HHKB: Can you let us know what your workstation consists of?


  • Macbook Pro 16”
  • Apple Studio Display
  • Apple Trackpad & Logitech MX Master 3
  • Seinnheiser HD598SE
  • Canon 60D + Sigma 35mm 1.4 as my webcam
  • Blue Yeti
  • Schitt Stack for DAC + Amp

HHKB: What does your daily schedule look like?

John: Morning

  • Reading + Mandarin Practice
  • Catch up on Slack, create plan for the day
  • Start working on top priority item
  • Break for Lunch with Partner (we both work from home)


  • Keep working on top priority item, if finished then other items on plan
  • Take a break to the gym for strength training
  • Back to work, video calls with coworkers to pair on work if needed


  • Hang out with partner
  • Dinner
  • Rest

HHKB: You’re a busy man! What do you like to do in your free time?

John: Weight lifting, traveling, reading, pottery and sailing.

Thank you so much for talking with us today John! We appreciate your time and really enjoyed learning more about you and your professional journey, as well as your journey with HHKB.

Be sure to check out John’s links below:

  • Website: https://pham.codes/
  • Blog: https://pham.codes/blog
  • Twitter: https://twitter.com/JohnPhamou