How Donating Open Source Code Can Advance Your Career
What developer hasn’t heard the call to contribute to open source? For those who answer, the satisfaction of making a significant impact on open source projects and communities is rewarded enough. Developers also welcome the corresponding acceleration of careers, including promotions, speaking engagements, and lucrative job offers.
Ran Isenberg is a prime example of how much good can come from just one person contributing code. He frequently blogs and speaks to other developers about the many rewards he’s gained as a result of his own open source involvement.
“I’ve been in the industry for over 10 years, but I think the last two years in my career, since my first code contribution, have been really amazing. I’ve been promoted two times in those two years and I’m speaking at conferences. I’m truly enjoying what I do and the many new experiences,” said Isenberg, who is now a principal software architect at CyberArk, a global leader in identity security and privileged access management and an AWS Community Builder.
The job promotions, he says, do not automatically follow after a developer’s open source efforts.
“I was not promoted just based on my open source work, obviously I had to be good at what I do. But open source work pushed me to be a better developer and helped me learn new skills, which all added up to my promotion,” he said.
For developers who have difficulty finding time to respond to the call to contribute, Isenberg warns that you may also miss out on many new experiences, friends, and opportunities.
“It can only happen if you keep challenging yourself, get out of your comfort zone and most importantly have fun, since you are doing this on your free time, not part of your job,” he said.
The hesitation some developers have in taking on volunteer coding work is understandable at first glance. The demands on a developer at work often clang louder than the muffled calls to contribute in open source elsewhere.
In Isenberg’s case, as is the case for many developers, working a day job and contributing to an open source project overlap.
Many companies allow developers to contribute code on the clock and get fully paid. In other cases, developers can contribute code for issues they’ve already resolved or are struggling with on their day job. This means your development work can have dual purposes and two tracks of rewards: the glory and reputation for solving hard problems in the open source community and the ability to leapfrog up the career ladder.
How Isenberg Started in Open Source
Isenberg was a software architect at CyberArk in October 2020 when he first contributed code. That contributed to his promotion to system architect just a few short months later, in June 2021. He was promoted again in August 2022 to his current position as principal software architect Part of his job as a developer in the platform engineering group, then and now, focuses on enabling other teams to build services on Amazon Web Services (AWS) — often with open source software.
“I treat the internal SDKs that we create for CyberArk developers as internal open source, and we strive to maintain the same high standards that we’ve seen and learned from open source projects such as AWS Lambda powertools,” explained Isenberg.
Specifically, Isenberg’s first trek into contributing to open source began with a Google search for a solution to validate AWS Lambda function events. He didn’t find any, so he solved the problem internally at CyberArk.
Isenberg’s contribution became widely used code by developers on the AWS cloud platform.
“A couple of weeks later, I stumbled across AWS lambda powertools in GitHub and out of curiosity looked at the open issues section and found the parser RFC [request for comments] issue. That started the entire rollercoaster,” he said.
“They issued an RFC, like a call for action, there for the same problem that I had spent a lot of effort in solving internally,” Isenberg said. In response, he posted a message in the RFC explaining how he had already developed a parser utility to validate incoming events to the AWS Lambda function.
“The AWS engineers were very friendly and wanted to go ahead and develop a POC [proof of concept] so they could get a feel for my solution’s user experience,” he said. “After my kids had gone to bed, I went on to clone the project and started working on that pull request (PR). I spent about 1-2 hours per evening for a week until I finally got a green PR.”
Isenberg’s contribution is now in a repository maintained by AWS. It became widely used code by developers on the AWS cloud platform.
“I thought maybe I’d just try contributing code, as I’ve never done this before. I didn’t have anything to lose, and it might be a nice experience. But it turned out to be pretty cool, as it led me to a whole bunch of experiences and opportunities that I didn’t expect to happen. The AWS team was amazing. They are amazing! And we work together often now,” Isenberg said.
Now that he could see the path forward, and an inkling of the rewards it may lead to, he kept going.
Fast Track to Promotion
A bit of fame and glory and general community goodwill wasn’t the totality of the payoff for his efforts. Like many who came before him and many more who follow, contributing code often leads to career development opportunities. And so it was for Isenberg.
In the course of donating his code to the Lambda powertools project, he gained a lot of access and valuable insight from the AWS service team. He has used his experiences to further his technical understanding and build serverless applications for CyberArk.
“This PR started a butterfly effect. Merging the PR breached an internal wall in my mind. One opportunity led to another,” he said.
Isenberg began writing blogs about the donations and started to do conferences with the AWS lambda powertools teams, which led to more conferences, public speaking, and other opportunities for personal and career development.
“To donate the code to the repository maintained by AWS , I had to use their tools and understand how their pipeline works. I’ve encountered new tools and best practices I wasn’t familiar with until then. I decided to use them in our pipeline, which my managers viewed as an excellent initiative,” he added.
Another surprise benefit to contributing code is that everyone wins when you do.
In this case, Isenberg’s employer, CyberArk, is reaping the rewards of Isenberg’s new skills and new connections too. New resources in terms of tools and expert guidance also benefit the company.
“I started to learn how to use AWS tools and the best practices that they use in AWS. Some of them were new to me, and I eventually brought them over to CyberArk to use internally as part of our pipeline of service creation,” Isenberg explained.
While making a name for yourself in open source attracts new job opportunities, that works in reverse too. Any company with its own people heavily involved in contributing and maintaining open source projects attracts new talent. It’s one of many reasons employers encourage open source participation. When developers talk to developers, good things tend to happen.
“One thing led to another and AWS suggested sometime later that I join them on the AWS Twitch channel to talk with AWS Lambda powertools members on the code contributions, and I accepted the invitation,” said Isenberg. “It was the first time I did public speaking live and in English, which is not my mother’s tongue. I did, however, have some public speaking experience beforehand.”
Seeing Isenberg’s initiative, his employer decided to lend some additional support.
“CyberArk sent me to a blog workshop, and I learned the basics. Then I started to write more and more about my contributions and experiences. And before I knew it, I had another idea for another cool utility and another code merge,” he added.
His reputation and resume keep growing.
This continuous cycle of developer connections and code development leads to a win for everyone involved. In this case, Isenberg, AWS and CyberArk all reap tangible and intangible benefits from Isenberg’s code contributions. New opportunities soon opened for all three.
From Working on AWS to Working with AWS
In addition to focusing on enabling other developer teams to more easily work on and within the AWS environment in his day job, Isenberg also became an AWS Community Builder. Community Builders are a community of more than 2,300 builders in 111 countries who share what they’ve learned about AWS services through content creation and receive VIP benefits such as educational and networking opportunities. Developers must apply for membership to the Community Builders program and one requirement is a resume that includes developer advocacy.
Once accepted as an AWS Community Builder, the benefits come in two parts: the technical and business aspects. Isenberg says builders share ideas and discuss problems and issues on a dedicated Slack channel and on social media, too. It’s a strong network where collaboration, guidance and goodwill are the order of the day.
The most important thing is to not be intimidated about learning how to contribute code.
“I help them gain exposure for their blogs, we share ideas, and we discuss all sorts of problems that I or they might have at work. We really help each other. Another aspect is being able to talk to AWS service teams, the actual developers and product managers that handle the services. I can ask them for all sorts of things that I’d like to get billed or fixed or whatever, or hear about new features before everybody and give my feedback, which is really cool,” said Isenberg.
“I think one of the major aspects is speaking opportunities. It’s really the Builders program that has enabled me to enjoy and benefit from some really unique experiences. One of them is speaking at the AWS Summit,” he added.
Along with contributing a second utility and starting his own open source project, Isenberg is working on scheduling additional speaking engagements now. His blog, ranthebuilder.cloud, is still going strong too.
Steps to Getting Started with Donating Code
Isenberg says it’s common for developers to be unsure about where to start contributing code and accelerating their own careers. He offers six steps on his blog to get you on your way. You’ll find additional tips and explanations in this post.
The most important thing is not to be intimidated about learning how to contribute code.
“When I started almost three years ago, I knew nothing about the cloud. I had some Kubernetes knowledge, but I knew nothing about AWS and serverless. Just nothing. It’s been really quite a journey, to be honest,” Isenberg said.
It wasn’t long until he felt sure enough about the process to apply for a talk on the community track of AWS Summit in Tel Aviv.
“I got accepted. And it was a really, really good experience to talk live again, after COVID, and in front of a really large audience. And the exposure, it was really amazing. Plus, I was able to participate in a virtual meetup talk in Boston, where I talked about my open source work again. I have other speaking engagements coming up, too,” he said.
Today, Isenberg is an AWS Community Builder and the resident expert in serverless and AWS at his company. He’s created a seven-part blog series with tips called the AWS Lambda cookbook. The template he developed for Lambda powertools has 100 stars on GitHub.