DEV Community

Cover image for Calendar Heroes: Ben Hutton, JSON Schema Specification Lead at Postman
b.j.
b.j.

Posted on

Calendar Heroes: Ben Hutton, JSON Schema Specification Lead at Postman

In this edition of Calendar Heroes, we talk to Ben Hutton, JSON Schema Specification Lead at Postman, to learn about his style, tools, and methodologies for balancing priorities while developing the JSON Schema strategy, its tooling, and supporting the open source community for the API development collaboration platform. Follow Ben on Twitter at @relequestual and on LinkedIn.

Calendar Heroes are real stories from very busy professionals across all types of roles and industries to learn more about how they manage to make time where there is none. We're highlighting these stories to help share tips and ideas for working effectively, improving your time management skills, and boosting your productivity.

If you know a Calendar Hero who has awesome productivity hacks that you'd like to recommend we interview or want to be interviewed yourself, let us know! You don't have to be a Reclaim user to be featured as a Calendar Hero: these stories are about anyone with an interesting approach to managing a complex schedule. 

Tell us a bit about yourself and what you do

I'm Ben, the JSON Schema Specification Lead at Postman. Prior to starting at Postman, I racked up roughly a decade's worth of developer experience.

I enjoyed designing and working with large complex systems, and spent around seven years working on a system to help clinicians and researchers find rare and undiagnosed genetic conditions at the Wellcome Sanger Institute. Throughout the course of this work, I also co-developed a patient case discovery API, which is how I ended up working with JSON Schema.

An Application Programming Interface (API) allows for the programmatic access to another system or systems in the case of the federated Matchmaker Exchange API (MME API). When the exchange of data in the correct format becomes really important, having an unambiguous definition of expectations goes a long way, and even speeds up development.

When we were just starting out with the MME API, there were a few competing API and payload standards. JSON Schema looked like the closest to what I felt was needed, but it still needed a lot of work. I became more and more involved. I was working on JSON Schema during lunchtimes, evenings and weekends, but progress and delivery was still way below where I wanted to see it.

Fast forward to early 2021, and I'm now employed by Postman full-time where I'm working to further develop and elevate JSON Schema -- recognising the specification as a fundamental standard, and a foundational specification used by many other well established standards.

While it was rewarding to contribute to such a project that has a direct impact on people's lives, my ability to further develop standards in the collaborative space was limited in a number of ways.

Today, I'm focused less on writing code (at least immediately) and more on building up the JSON Schema community and organisation. A wearer of many hats, and also now setting my own agenda and workload.

Having previously worked with Pivotal Tracker, Jira, Trello, and even old timer Task Coach, time management is not new to me. For developers, the goal is sustainability, reliability, and predictability. As I now work, in effect, in multiple roles and capacities, having the freedom to impact such a widely used standard is amazing, but I'm having to re-learn how to best manage my time. I'm still very much feeling my way, but I'm certain I'm heading in the right direction.

Writing technical specifications can sound incredibly dry, but I have a disposition towards it. The work often involves nitpicking over tiny details, but also has to always consider the wider picture. It requires equal parts technical skill and knowledge, as it does communication skills and empathy. I think those who haven't worked in the standards space underestimate how important people skills are to making things happen.

What does a typical workweek look like for you?

Despite having been at Postman for a few months now, I'm still not convinced I have a "typical" workweek yet. While that's partly due to the nature of the job, it's also due to needing to become more organised, and I have no doubt that Reclaim has massively moved me in the right direction on that path.

While I'm employed by Postman, I don't directly work on their product, but occasionally provide advice. My primary focus is working on JSON Schema.

My regular activities involve checking in on our Slack server, answering questions on Stack Overflow, reviewing and triaging Github Issues, Pull Requests, and Discussions. In addition, I attend an OpenAPI Specification call, and I'll soon be starting regular "office hours" and working calls for JSON Schema. The "office hours" will provide the community with space to chat in real-time with experts and the immediate community.

In addition to the regular activities, I'm continually looking to elevate the JSON Schema organisation and community. My main directions for now are to establish processes that help us operate more efficiently. The majority of people who contribute do so on their own time, myself included until only recently, so anything that reduces friction or provides automation is beneficial.

For the past few weeks, I've spent a lot of time working on the JSON Schema Blog and the initial article. (It's now live. If you develop with APIs or use the OpenAPI Specification, you should have a read.)

What techniques do you use to manage your time?

I'm heavily relying on Reclaim.ai to schedule my work right now. I've been using it for maybe a month or two, and I can't imagine working without it.

When you have a project manager, you can move some decisions to them. Becoming my own project manager presents two problems for me personally:

  1. Fear of prioritisation: "How do I know what the priority should be? What should I work on right now? I know I want to get these tasks done by the end of next week, but where to start?"

  2. Anxiety of the work not yet done: "If I'm working on important Task A, what about the other important tasks B and C? And I need to check on emails, and reply to some questions from yesterday. Will I get to Task D and E this week?"

Reclaim is the only solution I've seen which really combats these issues for me:

  • Auto-plan my schedule based on my due dates and estimated work.

  • Allow tasks to be prioritised, if required.

  • Offers habits, which will find time for the regular things I need to do, but have a hard time fitting into my schedule.

Being able to SEE tasks scheduled for later in the week alleviates some of the anxiety and fears, allowing me to focus on the current task right now.

What tools do you use to make you more productive?

Apart from Reclaim, I make good use of Slack reminders. Being able to create reminders based on a message is usually an action point for me for tomorrow or next week. Working on an open source project means our communication is very asynchronous. It's not uncommon to see discussions on our Slack happening late at night or early morning my time. Capturing actions from these is key.

Github Issues, Pull Requests, and now Discussions, really help break down work, enabling me to jump into different modes easier, almost like compartmentalising approaches.

A lot of my work product is on GitHub, in the open. Automation via GitHub Actions is proving super valuable in saving me time.

What I'm most excited for is a Reclaim API so I can easily add tasks to my list. Reminders in Slack are great for pushing focus until later, but not great when you have too many.

What's the best piece of advice you've ever received?

Don't ask, don't get.\
Back when I was just getting into web development, I was impressed by someone who joined Mozilla. Their advice was "don't ask, don't get". It's turned out to be true and valuable.

Top comments (0)