Reader Response to "Can you work from an airplane?"

If your application relies on serverless functions, often there's limited opportunity for "from an airplane" work.

My recent message Can you work from an airplane? earned a fair amount of attention, both in email, and on LinkedIn. But I wanted to respond to one particular response I got from fellow reader Paul Swail, because he brings up a very interesting case where “from an airplane” work is almost completely impractical (quoted with permission):

Hi Jonathan,

This is a very interesting topic and I do note that you caveated that “full of technical nuances that depend on your tech stack.”

My dev work is almost exclusively building backend APIs using cloud services on AWS. The workloads are often integration-heavy. Many of these cloud services can’t run at all on a local developer workstation or if there are emulators, they’re suboptimal and can introduce other issues. For that reason, I almost always advocate developing directly in the cloud against real resources, with each developer having their own dedicated cloud stack so they can work in isolation. In my experience for serverless/cloud services solutions, focusing on building a fully local developer environment is actually detrimental and just introduces too many “works on my machine” bugs due to the large environment differential.

For the 1% of time where lack of internet connection or cloud downtime is an issue, there will still be something meaningful that devs can do (e.g. writing local unit tests for Lambda functions or writing docs).

Anyway, on a more general note, I want to say that I love your daily emails — so much value in there and your consistency is amazing!

—Paul

Paul is absoultely right. And serverless is an area I’ve done embarassingly little work, even despite having done a podcast episode on the topic.

My reply:

Hi Paul,

Thanks for writing!

You’re absolutely correct that there are times when connectivity is an absolute must for development. If your job is solely focused on that level of integration, then it may well be possible that you cannot be productive “from an airplane.”

Most products that rely on this level of integration tend to do so only at the boundaries of the application, which leaves open the possibility of working on internal components without a network connection. In some cases emulators or other mocks/stubs can be used to allow productive work when touching those boundaries, but as you say, they’re all imperfect.

If your application relies on Lambda functions, though, then it sounds like a majority of your application lives really close to the API layer, so I’d guess that you’re right that there’s limited opportunity for “from an airplane” work.

Jonathan

Paul also referred me to some of his own writing on the topic, which I share here for your benefit as well: A fully local development workflow is impossible for most serverless applications.

Thanks again, Paul, for the response!

Share this