Developer Avocado 🥑 Manager @fidelhq by day, @mozillareps & @moztechspeakers by night. I do things for T-Shirts. Made http://puns.dev. 1/2 @DevRelAvocados
Image for post
Image for post

Exactly 10 years ago today, I was starting my first job in the software industry. I’ve spent my career being a Software Developer in Test, Performance Engineer, Lead & part-time CTO, JavaScript Developer, Contractor, Entrepreneur, Developer Advocate & Manager. I’ve also worked for companies on 4 continents, on products that were used by hundreds of millions of people. You could say I did a bit of everything. But I would say my career was anything but boring.

I’m prone to reminiscing, especially while being stuck in the house in the middle of a global pandemic, so I sat down and revisited my greatest hits. I’ll always be grateful my very first job was working with Mozilla, that shaped the way I approached software development in so many ways. I’ve got my love of open-source from there, and my drive to always learn from the people around me. It did help that everyone I worked with was amazing! I’ve also thought about my 3-month stint as a CTO, after which I rage-quit on the spot because money isn’t everything. …


Image for post
Image for post

2020 was kind of shit. Go on, it’s OK to admit it. But when I look in the mirror, 2020 was a lot healthier for me than usual. I’ve seen quite a few 2020 reviews this past week. It’s the fashionable thing to do. Hence this is my first yearly review. I’m going to try to use this as a sort of guide for next year. …


Image for post
Image for post

You’ve probably noticed the new and shiny Fidel Dashboard we released recently. There were a few reasons we came up with a whole new dashboard experience, and Katherine goes over all those reasons in her blog post. One of those reasons was that new users had trouble quickly unlocking the power of Fidel. When using our API, the “Aha!” moment comes when you see your first test transaction. But getting there wasn’t the easiest of journeys for everyone.

We pride ourselves on how easy the Fidel API is to work with and often get feedback on the ease of the integration. That being said, before someone even starts integrating with the API, they tend to explore our dashboard to help them understand how Fidel works. …


Image for post
Image for post

How big is your Developer Relations team? I’m betting it’s small, same as mine. Unless you work for Microsoft, Google, Amazon, Twillio or Vonage(The Artists Formerlly Known as Nexmo), it’s pretty hard to justify a double-digits DevRel team. And that’s OK; not everyone needs 70 people to do Developer Relations. It wouldn’t hurt though. Probably that’s why everyone is scrambling to justify their program right about now and to increase their budget for next year.

What happens if you work for a company that can’t afford 10 Developer Advocates? I happen to work for a startup with 60 people; it’s been tough to sell a big team to my CEO. …


Image for post
Image for post

Congratulations, you’ve just got a job as the first Developer Relations person in a company. It’s your job to build a Developer Program. Where do you start? When you try googling that, you’ll discover Google isn’t always your friend.

Fear not though, I’m here to help. I’ve been in the same boat this year, and I’ve had to figure it all out. I’ve joined the team behind the Fidel API in the middle of a pandemic, and I’ve started building a Developer Relations program. I’ll share my process, and I’ll tell you how I chose my blueprint. So bare with me. …


Image for post
Image for post

OK, before I get thrown to the wolves, let’s get something clear here. As a mildly engaged open-source maintainer that dealt with spam and borderline spam PRs for the past few Hacktoberfests, I don’t mind when one of my repositories gets spam pull requests or my favourite “I ran a linter” PRs. That’s why bulk actions were invented.

I do understand why most maintainers are not that happy with the idea. But I also get the T-Shirt obsession. Hell, the only reason I got into Open Source was for a T-Shirt. …


Image for post
Image for post

If you’re building event-driven applications, you’ve probably considered building them in a Serverless platform. It’s really well suited for having small functions, running when there’s an incoming event, processing the data, and then going dormant. Instead of building your own event loop that sits idle in between events, you’re offloading all that logic to a serverless provider. Being a lazy developer, I’m a fan of writing as little code as possible 😅.

It won’t come as a shock that most of my webhooks are running on serverless instead of on my local machine, or on a VM I have to maintain somewhere. We’ve recently been using Netlify here at Fidel for our documentation previews, so I thought I’d give Netlify Functions a try. …


Image for post
Image for post

I’ve recently moved my personal website to Hugo, and it’s been mostly a pleasant experience switching over from Jekyll. I got tons of improvements in build time. But what didn’t work so well for me was the Hugo documentation. It all relies on the idea that you’ll install Hugo, create a new site, and then add a theme. Here is where the problem starts. I didn’t want a stock theme, it’s my personal website after all, so it should be an expression of myself, right? Well, I was lucky enough to catch Hui Jing in a benevolently, slightly bored, mood. …


Image for post
Image for post

Nexmo has a CLI, which we use as an alternative to the Dashboard. It allows you to manage your Nexmo account and use Nexmo products from the command line. We’ve had this tool for about 4 years, and it is written in Node.js.

Last week I wrote about why we’re taking the time to re-write it, and I shared a bit about the process we’re using to re-write the Nexmo CLI.

Today, I’m going to go into more detail, share the frameworks we analyzed, and the criteria we used to do so. …


Image for post
Image for post

If you’re not familiar with CLIs, let’s have a short refresher. CLI stands for Command-Line Interface and is a tool that uses a text-based interface, usually accessible inside a Terminal-like application or a shell-like environment.

Regular readers will know that Nexmo already has a CLI, which we use as an alternative to the Dashboard. It allows you to manage your Vonage account and use Vonage products from the command line. We’ve had this tool for about 4 years, and is written in Node.js. It uses the commander.js framework and has grown quite a bit as we added functionality over time.

Because the tool has become quite large, we’ve hit the limitations of the framework we are using. Commander has a specific way to handle alias commands and a hard limit on the number of aliases a command can have. For example, nexmo app:list, nexmo apps:list, nexmo apps and nexmo al, all list your Vonage applications. But to achieve that with Commander, we had to duplicate some code. We created two commands, each with an alias, that both need to be maintained. It has increased the barrier for people to contribute. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store