In this blog series, we’re highlighting some of the amazing individuals who contribute to Open Source software (OSS). We’ll delve into their contributions within OSS, their career journey, how OSS involvement has helped them, and their advice to others for getting involved.
Greetings, my name is Harry L. Hoots, III. I grew up in the Western portion of North Carolina in the Blue Ridge Mountains. I attended UNC-Asheville for my first 2 years of college, then transferred to North Carolina State University (NCSU) via the 2+2 Engineering program. I’ve been with IBM for 24+ years of full time and 1.5+ years of co-op time. I’ve been writing Java code for over 20 years since my first introduction to it in college. In recent years, I’ve helped with the RTP Lab’s Developer Advocacy efforts, spreading the word about Open Liberty and Java.
Outside of work, I’m an avid outdoors person. I like to hike, camp, fly fish, and generally be outside doing any type of physical activity. I’m married with two kids and two Labrador retrievers, who all like to keep me on my toes at all times :)~. I enjoy tinkering with things, and I like projects where I learn new things in the process; anything from repairing a chainsaw or lawn mower that doesn’t run, to my latest project of converting an old Atari Pole Position arcade cabinet into a multi-player/multi-game MAME arcade machine.
Harry Hoots, III is a Software Engineer working on the Open Liberty and WebSphere Liberty software products. Liberty is a lightweight, flexible Java runtime optimized for cloud and Open Liberty is the open-source foundation for WebSphere Liberty. Specifically, he works on the Liberty kernel team, where he adds new functions, corrects defects, and resolves customer issues. The Liberty kernel makes up the core of the cloud-optimized runtime, including functions like configuration, application management, and logging. It also includes all of the command-line start, stop, and packaging functions to interact with the Liberty runtime.
Table of contents:
What projects have you worked on since joining IBM?
I consider myself lucky that I’ve been able to work either part of full time for multiple IBM divisions over my 25+ year career at IBM; those include the PC Company, NHD (Network Hardware Division), GBS (Global Business Services) and where I am today in the Cloud and Cognitive computing division.
My career started at IBM as a co-op in 1995 while I was attending North Carolina State University (NCSU). I took a full semester off and did Novell Netware support on IBM PC’s and network interface cards. From that semester onward, I worked part time in the Network Hardware Division (writing C code on a token ring switch) and took a smaller course load until I graduated in December of 1996. As someone in his early 20s, it was awesome working just a few days a week, making good money to pay my bills and still have fun and buy things I wanted. Plus, it was great getting some practical hands-on programming experience.
After graduation, I joined IBM full time in GBS, and for the next 17-ish years I did everything from various prototypes at large companies that were customer facing to writing applications (in C and Java) that facilitated internal IBM projects and functions (mostly around Customer Data that was utilized by IBM’s Marketing and Finance organizations). I really enjoyed getting a wide variety of application development experience.
During my last few years in GBS, I was a team lead for a web services component in a Service Oriented Architecture (SOE) environment before moving over to what was then Software Group (SWG), and is now Cloud and Cognitive computing. After joining Cloud, I worked for a few years on the Java Batch team, and then moved over to the Open Liberty Kernel team. Open Liberty was my first real interaction with developing OSS.
How did you find switching between a development role and client-facing consultancy?
First and foremost, I’ve always considered myself a developer even when I was in a client-facing role as an IT Specialist. The technology is the same, the mindset is the same, most of the daily tasks are the same but it is much more formal. I did do a bit more technical writing for the designs I developed so that it made sense to the client. It really boils down to being all about the clothes. ;-)
In my early years at IBM, I was hired to do ABAP programming on SAP, and I learned IBM’s MQSeries messaging software during that time as well. There was a product called the MQSeries Link for R3, and I did a lot of client facing prototypes connecting SAP to MQSeries and reading data off of a queue. We’d go spend a week or two at client sites, and it was exciting to travel at that stage of life. Needless to say, there were dress clothes in my travel bag wherever I went, which was not as exciting.
I moved on to internal IBM accounts where GBS did application development related to IBM’s Customer data. It was a client facing role, but we got to wear jeans and shirts with collars as business casual. There were a lot of hot summers wearing jeans, and I longingly admired the flip flops, t-shirts, and shorts of my fellow SWG co-workers.
After moving over into SWG, and becoming a "formal" developer, I finally got to wear all that attire I had been envious of for years. So, it wasn’t really that big of a change…minus the clothes. :)
How has the rise in open source software impacted your role at IBM?
Probably the biggest impact of OSS in my job role has been related to doing Developer Advocacy related tasks. Prior to Open Liberty, I didn’t do many presentations, or go to many conferences, etc. Now I help coordinate our Developer Advocacy related tasks in RTP; we do presentations at some of the local colleges like NCSU and Wake Technical Community College, present to our technical new hires, and we also help run an RTP WebSphere User Group that typically meets every quarter. The last few years we’ve also had a booth at the All Things Open conference here in Raleigh, where we demo Open Liberty and get to talk with a lot of folks about OSS.
What are the main benefits you’ve experienced working on an open-source project as opposed to a proprietary project?
I am a big fan of the Open Source model because I believe that when everyone has access to sharing knowledge or contributing code, we end up with better software overall. With so many companies utilizing OSS, its popularity has steadily grown. That makes it a lot easier to connect at conferences (face to face or virtual) with others who are wanting to learn about OSS. When sharing about proprietary software, it always felt like a "sales pitch" to me, whereas with OSS, it’s more like a public service announcement for the betterment of the Community when talking about the software.
How has being involved in an open source project impacted your work or you personally?
Probably 95% of the code I write now is open source. I would say the biggest impact for me with open source is that I am careful to double-check and document whatever I am writing or coding. I think that just the fact that everyone in the world potentially has visibility when I commit some code or make a comment on an issue makes me think more carefully about my content. So, I double-check my grammar, make sure my code works correctly, etc. I also tend to write things up with more detail when I correct a defect or issue. To me, any fix in OSS software needs to have a clear problem statement and a resolution that others can find and utilize if they run into the same or similar issue. It’s that whole Community-minded concept - leave things in a better state for the next person coming behind you.
What advice would you give to someone who is interested in getting involved in open-source?
Shop around first and find the OSS project that interests you the most and then simply get involved. Read the communication channels used by the project, look through the existing issues, and try to get in the loop with what is going on with the project. See how things work and how the Community interacts and how they react to different scenarios within the project. Once you have that general knowledge, get yourself involved with a simple pull request; whether that be a quick fix like a typo in the documentation or something that doesn’t read correctly in a how to, or even a small code fix. Just jump in with both feet, learn from the outcomes of your contributions, and be respectful of all of the folks in the project’s Community.
For those still in college, I highly recommend trying to get some hands-on experience with a company in their field of work. It just makes that switch between the somewhat theoretical college curriculum and what working a job day to day in the real world is like.
Also, having a portfolio of your code, and projects on GitHub when applying for a job is a MUST! Employers really want to see that people are good at (and like to) code.
Getting started with Open Source
If this article has helped inspire you to get started contributing to open source, why not consider contributing to Open Liberty. It’s easy to get started: https://openliberty.io/contribute/