Thursday, April 2, 2020

How We've Adapted Ubuntu's Time-based Release Cycles to Fintech and Software-as-a-Service


The Spring launch of the Apex 20a platform on March 26, 2020, marks the beginning of an exciting, new era of product development at Apex Clearing.  We have adopted a number of product management best practices from the software industry and adapted them to address some of the unique challenges within financial services and software-as-a-service.  In the interest of transparency, I’m pleased to share our new processes, what we’ve learned along the way, and where we’re headed next. 


Elsewhere in the Software Industry 

I joined Apex Clearing last year, having spent the previous 20 years as a software engineer, product manager, and executive, mostly around open source software, including UbuntuOpenStack, and Kubernetes.  Albeit IBM, Canonical and Google differ from fintech on many levels, these operating systems and cloud infrastructure technology platforms share a number of similarities with Apex's software-as-a-service platform.  Moreover, there also exists some literal overlap: we’re heavy users of both Ubuntu and Kubernetes here at Apex. 

Ubuntu, OpenStack, and Kubernetes all share similar, predictable, time-based release cycles.  Ubuntu has released every April and October, since October of 2004 – that's 32 major software platform releases, on time, every time, over 16 years.  Ubuntu has set the bar for velocity, quality, and predictability in the open source world.  OpenStack’s development processes have largely mirrored Ubuntu’s, with many of the early project leaders having been ex-Ubuntu engineers and managers.  OpenStack, too, has utilized a 6-month development cycle, since 2010, now on its 20th release.  Kubernetes came along in 2014, and sought to increase the pace a bit, with quarterly release cycles.  Kubernetes is a little bit looser with dates than Ubuntu or OpenStack, but has generally cranked out 4 quality releases per year, over the last 6 years.  I’ve been involved in each of these projects at some level, and I’ve thoroughly enjoyed coaching a number of early stage start-ups on how to apply these principles to their product development methodologies. 

Across the board, users, and especially enterprise customers, appreciate the predictability of these release cycles.  Corporate IT managers are better able to plan, test, and roll out technology changes to their environments, with less risk and disruption.  From a commercial perspective, these methodologies drove many wins against legacy, less predictable platforms.  


The Key Principles of Coordinated Cycles 

As a product development team, you have: 
  1. Time 
  2. Work to complete 
  3. Resources to perform work 
To succeed, you must ensure that two of these three are fixed; and only one may vary.  In the Ubuntu methodology – time and resources are assumed to be fixed.  Time is fixed, in that the product will release, on time.  Resources are fixed, in that it takes many months to recruit and hire and on-board new resources.  We hire new people, of course, but we’ll assume those resources will be productive in a subsequent cycle.  Hence, it’s the amount of work that we will complete, which varies.  We will drop or defer commitments, but we won’t change the release dates, and we won't assume additional resources will have meaningful impact within a cycle. 

Within Ubuntu, OpenStack, and Kubernetes, each cycle would “kick-off” with a summit or conference, that brought together hundreds of developers and leaders from around the industry, to discuss and debate designs for the release.  Anyone who’s participated in an Ubuntu Developer Summit, an OpenStack Design Summit, or a KubeCon Design Summit can tell you how essential these gatherings are, to the success of the project.  Within Canonical, we also held a “Mid-Cycle Summit”, exactly at the half-way point of the cycle.  We used this checkpoint, as product and engineering teams, to right-size the scope, and ensure that we hit our release dates, and with the highest quality standards.  Inevitably, new requirements and priorities would emerge, or some committed work proved more complicated than anticipated.  This checkpoint was critical to the success of each launch, as we adjusted the targeted scope for the remainder of the release.

Adapting these Processes to Apex 

When I arrived at Apex in September 2019 to lead the product organization, I inherited an excellent team of product and project managers, peered with high-quality engineering teams.  Products and projects, however, were managed pretty asynchronously, hence release timelines and new feature commitments were unpredictable.  Of course, I had seen this before at a number of the start-ups that I’ve advised, so the model was quite familiar. 

Launch Cycles 

When adapting the coordinated, time-based release cycle to a given organization, the first thing to consider is the time frame.  After talking to all of our stakeholders, 6-month releases, like Ubuntu or OpenStack felt a little too long, a little too slow, for Apex and our customers.  Most of the engineering teams were already quite agile and utilizing 2-week sprints, so getting product requirements for 26-weeks (13 sprints) seemed a little unwieldy.  Quarterly cycles, however, can be pretty tough to see through, for anything but the smallest individual projects (frankly, Kubernetes struggles with the pace at times).  Moreover, all of the projects I’ve been involved in, have struggled with the end of year holidays, in November, December, and January.  Thus, we actually settled on a 16-week cycle, which amounts to roughly 4-month cycles.  That translates to 3 full cycles per year, with 48 weeks of development, while still allowing for 4 weeks of holidays. 

Our cycles are named for the year in which it will complete (launch), and with a letter as an iterator.  In 2020, we launch Apex 20a (March), Apex 20b (July), and Apex 20c (November), and looking forward to 2021, we should see Apex 21a (March), Apex 21b (July), and Apex 21c (November).  The “c” cycles are a few extra weeks, to account for the holidays near the end of the year.  These aren’t really “versions”, as Apex is more like “software as a service”, rather than “delivered software”, like Ubuntu, OpenStack, and Kubernetes.  Also, conversationally, we're referring to the cycles with the season -- so Apex 20a is our "Spring" launch, 20b will be our "Summer" launch, and 20c will be our "Autumn" launch.


Summits 

Each cycle involves 3 key summits.  As much as possible, these summits are in-person meetings (at least until our travel paused along with the rest of the world).  At this point, we’re proceeding quite seamlessly with virtual summits, instead.  Our summits are recorded in Zoom, and we always take extraordinarily detailed notes in internally shared documents. 
  1. Prioritization Summit 
  2. Planning Summit 
  3. Mid-cycle Summit 


Prioritization 

The Prioritization Summit brings together our product managers with all of our key stakeholders – sales executives working with new business prospects, our client relationship managers working with existing customers, as well as our own IT, operations, and site reliability engineers tasked with keeping Apex running on a day to day basis.  Each product manager works with their stakeholders to gather CUJs (critical user journeys) and map those into patterns of similar, weighted product requests. Product Managers generally spend about 2 weeks on that work, which culminates in a session where the Product Manager presents the consensus priorities for their product area for review by the broader product team.  Based on this work, each product manager then starts working on their PRDs (product requirements documents), for the next 3-4 weeks.  Our Prioritization Summit is about a dozen, hour-long sessions, spread over three days in the same week.  We exit the Prioritization Summit with clear stakeholder consensus on stack-ranked priorities for each product family. 


Planning  

The Planning Summit signals the end of the PRD-writing period, during which product managers worked closely with their engineering counterparts, digesting all of those product requests and priorities, and turn those into product requirements written in RFC2119-style language (must, should, may, etc.).  At the end of that process, each Product Manager and their technical counterpart lead an hour-long session with their plan for the next cycle, including fairly detailed commitments as to the major changes we should expect to be delivered.  Our Planning Summit is about a dozen, hour long sessions, spread over three days in the same week.  We exit the Planning Summit with clear product and engineering consensus on work commitments across the product portfolio, for the upcoming cycle.  This marks the beginning of the development portion of the cycle. 

For the next few weeks, product managers spend the majority of their time with Apex customers and prospects.  Each of us on the product team carry specific OKRs (objectives and key results), to spend meaningful time with our existing correspondents and prospects, communicating our product roadmaps and gathering feedback on their experiences.  We take detailed notes, and all of this data filters directly into our future Prioritization Summits. 


Mid-cycle 

At the middle of our release cycle (week 8 of 16), we bring together the same Product Managers and technical leads to report on status of the first 8 weeks (4 sprints), and recalibrate the remaining work for the cycle.  Without exception, there are always new, late-breaking product requests or requirements that emerge, after the prioritization and planning summits.  Some of these are urgent, and we must accommodate, which usually means something else gets deferred to the next cycle.  Sometimes, we were a little too optimistic with our work estimates, and again we need to adjust.  Occasionally, we’re ahead of schedule and we can cherry-pick some other bite-sized items to bring into scope.  In any case, we will exit the Mid-cycle Summit with a very clear line-of-sight on our deliverables by the end of the cycle. 

With any scope adjustments well understood, the product team shifts into “go-to-market" mode.  Over these next 3 weeks, Product Managers are working with our Marketing counterparts, writing release notes, creating marketing content, educating our sales teams, and working through signoffs on our launch checklists. 

At this point, the cycle repeats itself.  Once our go-to-market activities are complete, Product Managers shift back into prioritization mode, working with our stakeholders, while the engineering team completes their work and the marketing team publishes the launch. 

Speaking of...let’s talk about the Apex 20a Release. 


The Apex 20a and 20b Releases 

Apex 20a launched on March 31, 2020, as our first release using the methodologies described above.  Apex clients can find detailed release notes in the Apex Developer Portal.  This cycle began with a Prioritization Summit in October 2019, a Planning Summit in November 2019, and a Mid-cycle Summit in January 2020.   This cycle involved 17-weeks of development. 

Our work on Apex 20b is already well underway, having held our Prioritization Summit in February 2020, and we’re holding our Planning Summit this week (March 2020).  Our Mid-cycle Summit will be held in May 2020, and we will launch Apex 20b in July 2020. 

It’s important to note that although we do have a very specific “launch date”, which signals the end of the development cycle, each of our engineering teams have developed, tested, and deployed to production hundreds of changesets during the cycle.  Thus, we maintain our agile CI/CD (continuous integration / continuous deployment) systems within every product and engineering team.  To be clear, we don’t “hold” anything specifically until launch date.  This is a very specific differentiation from Ubuntu, OpenStack, and Kubernetes, which are “shipped software”, as opposed to Apex technologies, which amount to “software as a service”.  For these reasons, we try to use the term “launch”, rather than “release”, when we talk about the “launch date” at the end of the cycle.  All, that said, we have found the processes described here very useful in our planning and communications about Apex technology to our customers. 


In Conclusion 

Apex 20a is the first of many coordinated product launch cycles our customers will experience.  We’ve adapted many of the best practices utilized by the open source software industry as well as Silicon Valley, and those practices are helping us work more effectively with our tech-savvy client base.  Apex will have 3 launches in 2020 (20a, 20b, 20c), and at least 3 launches in 2021.  By openly sharing our product stages and delivering a consistent, predictable, and reliable schedule, there are now ample opportunities for both customer input and detailed review and oversight by our leaders, which culminates in secure and stable products for our industry.  We’re delighted at the engagement thus far, and really look forward to more collaboration in the future. 

On behalf of the Apex product team,
:-Dustin

Saturday, March 21, 2020

Time to Cook!


It looks like we're spending a lot more time around the house, cooking for ourselves.

Kim and I truly love eating out -- in fact we have reservations at The French Laundry in May, though we're fairly certain that's not going to work out :-(

But, as much as I love eating out, I love cooking, too.  Here's a few of my favorite books, on my shelf right now:

  1. The Joy of Cooking -- Irma Rombauer
    • In my humble opinion, this is the one single cooking tome you need more than any other.  It's my bible of cooking.  If it's not in here, it's nowhere!
  2. Modernist Cuisine at Home -- Nathan Myhrvold
    • It's a science textbook, but for cooking.  And cooking gadgets and gizmos.  Absolutely phenomenal.  Gorgeous pictures.  Thorough explanations of every corner of cooking science.  Every time I open it, I'm sucked into hours of reading.
  3. Franklin Barbeque - A Meat-smoking Manifesto -- Aaron Franklin
    • I've smoked meat for a long time, longer, in fact, than Aaron Franklin himself, as detailed in his origin story at the beginning of his book.  But my approaches changed, for the better, after reading his manifesto.  So, so, so good.
  4. The Keto Paleo Kitchen -- Vivica Menegaz
    • A few years ago, as I started approaching 40, carbs somehow became my nemesis.  They just don't come off like they used to.  Fortunately, there's a cure...  And it involves replacing those carbs with protein, delicious meats, and vegetables.  This is a awesome set of delicious recipes, each one better than the last.  Highly recommend!
  5. The Noma Guide to Fermentation -- Rene Redzepi
    • Kim and I had the privilege of eating at Noma last year.  It was almost a religious experience.  Now, on a separate note, I love beer.  Especially that weird corner of beer, called sour, funky beer.  This book is actually the remarkable cross section of those two passions of mine.  In this book, Rene Redzepi meticulously documents hundreds of different foods, vegetables, meats, herbs, practically anything you can imagine -- fermented and pickled.  What.  A.  Book.
  6. The Oxford Companion to Beer -- Garret Oliver
    • Believe it or not, I've read this encyclopedia cover to cover!  As a narrative, it's pretty dry -- I don't recommend reading it cover to cover.  But as an encyclopedia, it's second to none.  Everything you could ever possibly want to know about every corner of the beer world, from styles, to countries, to techniques, to history, and everything in between.
  7. Wine -- From Grapes to Glass -- Jens Priewe
    • We really enjoy our wine, in the Kirkland household.  This book is a decent "coffee table" book, with beautiful pictures and good information about wine styles, grapes, and regions.  If you want a more authoritative text book, I recommend The Oxford Companion to Wine, by Jancis Robinson.
  8. Charred and Scruffed -- Adam Perry Lang
    • Before Aaron Franklin's book, this was my only barbeque cookbook.  It's pretty good, especially if your equipment matches the super simple, Charbroil grill with charcoal briquets, in which case, this book will teach you everything you need to know to produce the best barbeque you're going to get out of that equipment.  Seeing as I'm cooking on different hardware these days, though, this book doesn't hold much information that applies to my grills anymore.
And a few from Kim's collection:
  1. Martha Stewart's Baking Handbook -- Martha Stewart
  2. Salad for Dinner -- Jeanne Kelley
  3. One Sheet Eats -- Oxmoor House
  4. The New Orleans Cookbook -- Rima and Richard Collin
  5. Modern Art Desserts -- Caitlin Freeman
  6. From Emeril's Kitchen -- Emeril Lagasse
What are some of your favorites?  I could use some new material!

Cheers,
:-Dustin

Disclosure: As an Amazon Associate I earn from qualifying purchases.

Monday, March 9, 2020

Working from Home: Lessons Learned Over 20 Years & a Shopping List


I've been a full-time, work-from-home employee for the vast majority of the last 20 years, and 100% since 2008.

In this post, I'm going to share a few of the benefits and best practices that I've discovered over the years, and I'll share with you a shopping list of hardware and products that I have come to love or depend on, over the years.

I worked in a variety of different roles -- software engineer, engineering manager, product manager, and executive (CTO, VP Product, Chief Product Officer) -- and with a couple of differet companies, big and small (IBM, Google, Canonical, Gazzang, and Apex).  In fact, I was one of IBM's early work-from-home interns, as a college student in 2000, when my summer internship manager allowed me to continue working when I went back to campus, and I used the ATT Global Network dial-up VPN client to "upload" my code to IBM's servers.

If there's anything positive to be gained out of our recent life changes, I hope that working from home will become much more widely accepted and broadly practiced around the world, in jobs and industries where it's possible.  Moreover, I hope that other jobs and industries will get even more creative and flexible with remote work arrangements, while maintaining work-life-balance, corporate security, and employee productivity.

In many cases, we would all have a healthier workplace, if anyone generally stayed home when they were feeling even just a bit unwell.  Over these next few weeks, I hope that many other people discover the joy, freedom, and productivity working from home provides.  Here are a few things that I've learned over the years, and some of the tools that I've acquired...


Benefits, Costs, and Mitigations

Benefits

  • Commute -- If you're like me, you hate sitting in traffic.  Or waiting on a train.  Erase your commute entirely when you work from home.  I love having an extra hour in the morning, to set out my day, and extra time in the evenings with my family.
  • Family -- Speaking of family, I'm adding this as a benefit all on its own.  I love being able to put my kids on the bus in the morning, and be home when they get home, and have quality time in the evenings with my spouse and daughters and dogs.  When I have worked in an office, I've often found that I've left for work before anyone else was awake, and I often got home after everyone was in bed.
  • Location -- Work-from-home, in most cases, usually means, work-from-anywhere.  While I spend the vast majority of my time actually working from my home office, I've found that I can be nearly as effective working from a hotel, coffee shop, airplane, my in-laws' house, etc.  It takes some of the same skills and disciplines, but once you break free of the corporate desk, you'll find you can get great work done anywhere.
  • Productivity -- Your mileage may vary, but I find I'm personally more productive in the comfort of my own home office, which has evolved to meet my needs.  Yes, I love my colleagues and my teams, and yes, I spend plenty of time traveling, on the road meeting them.

Costs and Mitigations

  • Work-life-balance -- This one is important, but it's not hard to fix.  Some people find it hard to separate work and home life, when working from home.  Indeed, you could find yourself "always on", and burn out.  Definitely don't do that.  See the best practices below for some suggestions on mitigating this one.
  • Space and Equipment -- There's quite literally a dollar cost, in some cases, to having the necessary space and equipment necessary to work from home.  To mitigate this, you should look into any benefits your employer offers on computer equipment, and potentially speak to an accountant about tax deductions for dedicated space and hardware.  My office is a pretty modest 10'x12' (120 sqft), but it helps that I have big windows and a nice view.
  • Relationships -- It can seem a little lonely at home, sometimes, where you might miss out on some of the water cooler chatter and social lunches and happy hours.  You do have to work a little harder to forge and maintain some of those remote relationships.  I insist on seeing my team in person a couple of times a year (once a quarter at least, in most cases), and when I do, I try to ensure that we also hang out socially (breakfast, coffee, lunch, dinner, etc.) beyond just work.  It's amazing how far that will carry, into your next few dozen phone calls and teleconferences.
  • Kids -- (UPDATED: 2020-03-10) I'm adding this paragraph post publication, based on questions/comments I've received about how to make this work with kids.  I have two daughters (6 and 7 years old now), that were 18 months apart, so there was a while in there where I had two-under-two.  I'm not going to lie -- it was hard.  I'm blessed with a few advantages -- my wife is a stay-at-home-mom, and I have a dedicated room in my house which is my office.  It has a door that locks.  I actually replaced the cheap, contractor-grade hollow door, with a solid wood door, which greatly reduces noise.  When there is a lot of background noise, I switch from speakers-and-computer-mic, to my noise cancelling headset (more details below).  Sometimes, I even move all the way to the master bedroom (behind yet another set of doors).  I make ample use of the mute button (audio and/or video) while in conference meetings.  I also switch from the computer to the phone, and go outside sometimes.  In a couple of the extreme cases, where I really need silence and focus (e.g. job interviews), I'll sit in my car (in my own garage or at a nearby park), and tether my computer through my phone.  I've worked with colleagues who lived in small spaces, turn a corner of their own master bedroom into a office, with a hideaway desk, with a folding bracket and a butcher block.  My kids are now a little older, and sometimes they're just curious about what I'm doing.  If I'm not in a meeting, I try to make 5 minutes for them, and show them what I'm working on.  If I am in a meeting, and it's a 1:1 or time with a friendly colleague, I'll very briefly introduce them, let them say hi, and them move them along.  Part of the changes happening around the work-from-home shift, is that we're all becoming more understanding of stuff like this.

 Best Practices

  • Dedicated space -- I find it essential to have just a bit of dedicated space for an office, that you and the family respect as your working space.  My office is about 8' x 12', with lots of natural light (two huge windows, but also shades that I can draw).  It hangs off of the master bedroom, and it has a door that locks.  Not that I have to lock it often, but sometimes, for important meetings, I do, and my family knows that I need a little extra quiet when my office door is locked.
  • Set your hours -- It's really easy to get swept away, into unreasonably long working days, when working from home, especially when you enjoy your job, or when things are extra busy, or when you have a boss or colleagues who are depending on you, or a 1000 other reasons.  It's essential to set your working hours, and do you best to get into a consistent rhythm.  I usually put the kids on the bus around 7am, and then either go for a run or play the piano for a bit, and then start my day pretty consistently at 7:30am, and generally try to wrap up by 5:30pm most days.  Of course there are always exceptions, but that's the expectations I usually set for myself and the people around me.
  • Get up and move around -- I do try to get up and move around a few times per day.  If I'm on a call that doesn't require a screen, I'll try to take at least one or two of those from my phone and go move around a bit.  Take a walk down the street or in the garden or even just around the house.  I also try to unplug my laptop and work for at least an hour a day somewhere else around the house (as long as no one else is around) -- perhaps the kitchen table or back porch or couch for a bit.  In the time that I spent at Google, I really came to appreciate all of the lovely bonus spaces where anyone can curl up and work from a laptop for a few hours.  I've tried to reproduce that around my house.
  • Greenery -- I think I worked from home for probably 4 years before I added the first house plant in my office.  It's so subtle, but wow, what a difference.  In my older age, I'm now a bit of gardner (indoors and outside), and I try to keep at least a dozen or so bonsai trees, succulents, air plants, and other bits of greenery growing in my office.  If you need a little more Feng Shui in your life, check out this book.

Shopping List

  • Technology / Equipment
    • Computers
      • Macbook Pro 13 -- I use a 13" Apple Macbook Pro, assigned by my employer for work.  I never use it for personal purposes like Gmail, etc. at all, which I keep on a separate machine.
      • Thinkpad X250 -- I have an older a Thinkpad running Ubuntu on my desk, almost always streaming CNBC on YouTube TV in full screen (muted).  Sometimes I'll flip it over to CNN or a similar news channel.
      • Dell T5600 -- I keep a pretty beefy desktop / server workstation running Ubuntu, with a separate keyboard and monitor, for personal mail and browsing.
    • Keyboard / Mouse
      • Thinkpad USB Keyboard -- I love the Thinkpad keyboard, and this the USB version is a must have, for me.
      • Apple Wireless Keyboard and Trackpad and Tray -- I use the wireless Bluetooth keyboard and mouse pad for my work computer.  I find the tray essential, to keep the keyboard and mouse closely associated.
    • Monitors
      • Samsung 32" 4K UHD -- I use two monitors, one in portrait, one in landscape.  I really like Samsung, and these are the exact models I use: Gaming Monitor (LU32J590UQNXZA) – 60Hz Refresh, Widescreen Computer Monitor, 3840 x 2160p Resolution, 4ms Response, FreeSync, HDMI, Wall Mount.
      • Monitor Desk Mount -- And for those monitors, I use this desk mount, which is full motion, rotates, and attaches to my standing desk.
    • USB Hub
      • I use this dongle to connect my Macbook to the external 4K monitor, wired gigabit ethernet, and power supply.  This simple, single plug certainly helps me quickly and easily grab my laptop and move around the house easily during the day.
    • Laptop Stand
      • Nulaxy Ergonomic Riser -- I find this laptop stand helps get the camera angle on the top of my Macbook in a much place, and also frees up some space on my desk.  I sometimes take both the laptop and the stand outside with me, if I need to relocate somewhere and take a couple of conference calls.
    • Network
    • Storage
      • Synology -- I generally keep copies of our family photo archive in Google Photos, as well as a backup here at home, as well.  I'm a fan of the Synology DS218, and the Western Digital Caviar Green 3TB hard drives.  Really nice, simple interface, and yet feature-rich.
    • Printer / Scanner
      • HP Officejet -- While I avoid printing as much as possible, sometimes it's just inevitable.  But, also, working-from-home, you'll find that you often need to scan documents.  You'll definitely need something with an automatic document feeder and can scan directly to PDF.  I like the HP Officejet Pro 9015, but you're looking for a less expensive option, the HP Officejet 5255 is a fine printer/scanner too.
    • Speakers
      • Google Home Max -- I can't stress this enough: I find it extremely important to have high quality, full range speaker, that faithfully reproduces highs and lows.  I really need something much better than laptop speakers or cheap PC speakers.  Personally, I use a Google Home Max, with the Google Assistant microphone muted, and connected over Bluetooth.  I actually like it positioned behind me, believe it or not.  You could just as easily use an Amazon Echo or any other high quality Bluetooth speaker.
      • Bang and Olufsen Beoplay A9 -- This speaker is an absolute dream!  I used it in my office for a while, but eventually moved it to the family room where it's used much more for music and entertainment.  Besides sounding absolutely incredible, it's basically a work of art, beautiful to look at, in any room.
    • Headphones
      • Apple AirPods -- I use AirPods as my traveling headphones, mostly on planes.  I like that they're compact.  The short battery life leaves a lot to be desired, so I actually travel with two sets, and switch back and forth, recharging them in the case when I switch.
      • Bang and Olufsen Beoplay H9 -- Overwhelmingly, I use the Bluetooth speaker for my daily slate of teleconferences, meetings, and phone calls.  However, occasionally I need noise cancelling headphones.  The Beoplay H9i are my favorite -- outstanding comfort, excellent noise cancelling, and unbeatable audio quality.
      • Bose QuietComfort 35 ii -- These Bose headphones were my standards for years, until I gave them to my wife, and she fell in love with them.  They're hers now.  Having used both, I prefer the B&O, while she prefers the Bose.  
      • Wired headset with mic -- If you prefer a wired headset with a microphone, this gaming headset is a fantastic, inexpensive option.  Note that there's no noise cancellation, but they're quite comfortable and the audio quality is fine.
    • Webcam
      • Truth be told, at this point, I just use the web cam built into my Macbook.  The quality is much higher than that of my Thinkpad.  I like where it's mounted (top of the laptop screen).  While I connect the laptop to one of the external 4K monitors, I always use the 13" laptop screen as my dedicated screen for Zoom meetings.  I like that the built-in one just works.
      • Logitech -- All that said, I have used Logitech C920 webcams for years, and they're great, if you really want or need an external camera connected over USB.
    • Microphone
      • Like the Webcam, these days I'm just using the built-in mic on the Macbook.  I've tested a couple of different mics with recordings, and while the external ones do sound a little better, the difference is pretty subtle, and not worth the extra pain to connect 
      • Blue Snowball -- Again, all that said, I do have, and occasionally use, a Blue Snowball condenser mic.  While subtle, it is definitely an upgrade over the laptop built-in microphone.
    • Phone
      • For many years working from home, I did have a wired home phone system.  I use Ooma and a Polycom Voicestation.  But about two years ago, I got rid of it all and deliberately moved to using Google Hangouts and Zoom for pretty much everything, and just using my cell phone (Pixel 3) for the rest.
  • Furniture / Appliances
    • Standing desk
      • Uplift (72"x30") -- While I don't always stand, I have become a believer in the standing desk!  I change my position a couple of times per day, going from standing to sitting, and vice versa.  I'm extremely happy with my Uplift Desk, which is based here in Austin, Texas.
      • Apex -- I don't have direct experience with this desk, but this was the one I was looking at, and seems quite similar to the Uplift desk that I ended up getting.
    • Desk mat
      • Aothia Cork and Leather -- I really love desk mats.  They're so nice to write on.  These add a splash of color, and protect the desk from the inevitable coffee spill.  I have a couple of these, and they're great!
    • Coffee machine
      • Nespresso -- Yes, I have a coffee machine in my office.  It's essential on those days when you're back-to-back packed with meetings.  While I love making a nice pot of coffee down in the kitchen, sometimes I just need to push a button and have a good-enough shot of espresso.  And that's what I get with this machine and these pods (I recently switched from the more expensive authentic Nespresso pods, and can't really tell the difference).
    • Coffee Mug
      • Ember -- I received an Ember coffee mug as a gift, and I've really come to appreciate this thing.  I don't think I would have bought it for myself on my own, but as a gift, it's great.  Sleek looking and rechargeable, it'll keep your coffee hot down to your last sip.
    • Water cooler
      • Primo -- And yes, I have a water cooler in my office.  This has really helped me drink more water during the day.  It's nice to have both chilled water, as well as hot water for tea, on demand.
    • White board
    • Chair
    • Light / Fan
      • Haiku L -- My office is extremely well lit, with two huge windows.  Overhead, I used to have a single, nasty canned light, which I replaced with this Haiku L ceiling fan and light, and it's just brilliant, with a dimmer, and voice controls.
    • Air purifier
      • HEPA Filter -- Some years ago, I added an air purifier to my office, mainly to handle the pet dander (two big dogs and a cat) that used to room my office.  It's subtle, but generally something I'm glad to have pulling dust and germs out of the air.



Now I'm curious...  What did I miss?  What does your home office look like?  What are you favorite gadgets and appliances?

Disclosure: As an Amazon Associate I earn from qualifying purchases.

Cheers,
:-Dustin