Guest post originally published on Upshot by Marky Jackson (@markyjackson5), Senior Software Engineer at Sysdig
I had a difficult childhood. I was shuffled from one boys’ home to another and had little control over my life. But I was tough and smart, and I emancipated at an early age, which allowed me to start living the way I wanted while I was still in my teens.
Kids need stability to grow up, and I made up for the shaky foundations provided by my foster residences by building the bedrock of a new reality through coding. I was very good at programming computers, and my childhood escape ended up becoming the cornerstone of my career. In some ways, coding gave me that control that always felt like it was missing from my life.
Inspired by a rocket scientist
I was nine years old when my world changed forever. I was visiting a friend after school, and his dad was playing a game on a TRS-80, a black-and-white computer with blocky graphics from Radio Shack. That was back when home computers were still a novelty. The TRS-80 was primitive and used the same audio cassettes you put in your Walkman for storage, but I was mesmerized.
My friend’s father was blowing up tanks on the screen.
I remember asking, “What game are you playing?”
“I haven’t called it anything yet,” he replied. I didn’t understand what he meant.
Why would he have called it anything? Then he explained that he’d written it himself in a language called BASIC.
My brain exploded. I loved computer games, but I had no idea people could build their own. Before I knew it, my friend’s dad was teaching me how to program in BASIC, and I started to build up my own software library on cassette.
Years later, I found out that the man wrote software for a living. He worked at the JPL-or Jet Propulsion Laboratory-at NASA, and wrote the routines that controlled the Reaction Control System on the Space Shuttle. These thrusters provide attitude control, which is how the spacecraft adjusts and maintains its position while in orbit.
“Your dad’s like a rocket scientist?” I asked my friend a few years later in high school when I realized what his father did. I hadn’t realized that I’d been mentored in coding by someone who worked on the space program.
My wild foray into development
The lesson stuck, and by the time I got to college, I was a full-blown computer nerd. I studied computer science at UCLA and MIT, and then spent 14 months as an intern at Jasmine Multimedia Publishing.
I met Jasmine CEO Jay Samit while I was still in school. He thought I had potential and offered to pay me $15 an hour to write software. That was a crazy good salary back then, and my time at the company helped cement my skills, especially in C++, which was the hot programming language back in the mid-1990s.
I think of the time there as my year of heaven and hell. Mostly because of the projects I worked on.
I had just gotten married, and I’d been assigned to a project that I can best describe as having a frat-boy vibe. It was fun, but it wasn’t family-friendly. I then moved to another project called Inside the Vatican. To say the least, they were polar opposite games to work on. This was an interactive CD-ROM narrated by Sir Peter Ustinov and made in collaboration with the Catholic Church.
It was a great time to be working in computers. The internet was taking off, and we were finding new ways to combine live-action video and computer graphics in multimedia stories.
Unfortunately, Jasmine was bought out, and I found myself looking for another job.
Seventeen years of 9-to-5
My career took off. I had skills that were very much in demand, and I worked for a succession of high-profile organizations, including an insurance company, a couple of banks, and the Defense Department. I loved working as a software engineer, but the fruits of my labor were corporate. I wasn’t giving back like my friend’s dad, who had taken me under his wing.
I wasn’t happy, but at the same time, my father-in-law kept telling me that if I loved my job 100%, I’d pay them to work there. He told me that work doesn’t have to offer anything other than a financial reward, and my experience confirmed his point of view.
My employers were pushing products and keeping shareholders and board members happy. That was the way of the world. Contributing to the greater good was something you did in your spare time, or after you retired. There was no room for helping people at the office, right?
Changing my perspective at Symantec and Yahoo
They say you don’t get a second chance at happiness, but that’s what happened when I started working at Symantec, and then Yahoo. These two companies are run by true believers who put everything into improving the lives of their customers and their users.
Most people don’t spend a lot of time thinking about cybersecurity and e-commerce, email and search capabilities, but they use these technologies every day. Where would we be if we didn’t have all this power at our fingertips?
I was humbled to realize that my work was making a difference again and reconnected with the initial impulse that had attracted me to software engineering. But I wanted to do even more.
Helping other coders with Kubernetes clusters and containerized DevOps at SysDig
It’s been a long road from writing programs in BASIC on a TRS-80 to working with containerized cloud-based DevOps environments using Kubernetes, which is where I’m at right now.
I recently took a job as a system engineer at Sysdig. We provide monitoring, troubleshooting, visibility, and security tools that capture, filter, and decode system calls and other OS events.
At Sysdig, I’m building tools that are helping other developers streamline and secure their pipelines. I feel like I’m finally giving back to the community of coders that welcomed me with open arms and helped me build a lucrative career over the decades.
Giving back with Jenkins Prometheus and GitHub
Sysdig leverages open source tools to build our commercial products. Their foundation is built on the crowdsourced wisdom of the developer community, so we release our tools back into the open source ecosystem.
On top of my day job at Sysdig, I also maintain the open source version of the Jenkins Prometheus plugin at GitHub. This Jenkins add-on is a system monitoring and alerting tool that records and compiles real-time endpoint data, thus providing valuable performance metrics about Jenkins servers.
I didn’t think much about this plugin. It was a fun side-line like the tank game my friend’s father developed when I was a kid. However, Jenkins has a huge user base and thousands of companies use the platform to automate their CI/CD pipelines. They are also using my Jenkins Prometheus tool to monitor their DevOps environments.
One of these companies hired me to fix the way their Jenkins deployment worked with my plugin. It was a big deal because my pet project played a huge part in their global operations, and I was proud to help them straighten everything out. That was the first time I realized the influence of my volunteer work.
Last year, I was staffing a Jenkins / Jenkins X community booth at DevOps World | Jenkins World in San Francisco when a total stranger came up to me and asked to take a selfie with me. He worked for a Fortune 100 company that had used my Jenkins Prometheus plugin to pull metrics from its production line.
The guy was freaking out and said that his boss wouldn’t believe that he’d met me without photo evidence. It was my rock star moment. Here I was, thinking that I was an anonymous coder, and this dude from one of the world’s best-known companies wanted to take a picture with me.
Open source can change the world
The open source community is all about inclusion. We welcome people to contribute, and we try to express our gratitude for their hard work. The sense of unity and belonging is second to none with developers, coders, and engineers from around the world collaborating to advance our industry.
We’re not just hobbyists. GitHub and other open source initiatives create online and real-world spaces where IT professionals can share their expertise. For example, the folks from CloudBees, who make the world’s best commercial implementation of Jenkins, are regular contributors to its open source version.
Like my colleagues at Yahoo and Symantec, they are true believers who want everybody to benefit from Jenkins’ CI/CD pipeline automation tools regardless of their financial resources. That’s the beauty of open source. We bring people together, and we are eliminating barriers to technology. We’re changing the world for fun and profit.
Mentoring the next generation of coders
The best part of giving back is helping the next generation of coders. A few weeks ago, a young colleague asked me to sponsor his request to become a member of the Kubernetes community. I was proud to help him join our group and was moved by his enthusiasm and commitment. After all, none of us are getting paid for any of this.
I also mentored a student at Google Summer of Code, and he was able to translate his internship into a full-time job. To show his appreciation, he is now part of the open source community and is helping other young coders build successful careers, which also looks great on a resumé.
It takes a lot of time and effort to keep the open source community going. Most of us are working after-hours to get things done, and we need help-lots of help. People think that you have to be an expert coder to join us, but that’s not true. There are plenty of ways to take part. You can contribute error reports, write technical documentation, or even sponsor an application. There are plenty of ways to offer support. Just ask what you can do.
I’ve come full circle. The boy who learned how to code from a rocket scientist is now a senior software engineer who is helping young people learn the ropes so they can push the boundaries of computer science.
My friend’s father served as a positive influence and changed my life. Countless people around the world are having an impact by contributing to the open source community. How are you making a difference today?