After nearly 11 years at Red Hat it’s time to move onto a new challenge. With so many incredible memories over my time at Red Hat it was a tough decision to make. Especially when thinking about the amazing people I’ve worked with in the past, work with today, and have met over the years.
Red Hat experiences
When I first joined Red Hat it was actually Amentra, as I started in the consulting organization which was later renamed to Red Hat Consulting. After almost a year of being a consultant, I wanted to get back to engineering and innovating.
GateIn and PortletBridge
I was lucky enough to have an opportunity to join the GateIn portal project. My focus was on PortletBridge, a library enabling the use of JSF components in portlets. Most of the work involved working with the RichFaces project to fix and verify as many components as possible worked in portlets. If memory serves, we were able to get it from about 70-80 components working to all 100+ components. There were many challenges as JSF and Portlets had very different lifecycles! One of my proudest moments was implementing a CDI scope for portlets, with some guidance from Julient Viet, which later was added to the PortletBridge specification in the JCP.
When the popularity of portals waned, I was privileged, and honored, to work side by side with Bob McWhirter to define an architecture for an MBaaS (Mobile backend as a service) built on top of Netty. We called the project LiveOak. It was some of the most challenging engineering work I’ve ever done, but also extremely fulfilling to see it come together. We had some great ideas around representing everything as an URL addressable resource, even databases!
We worked on LiveOak for a couple of years until Red Hat bought FeedHenry. It was a very sad day for me when LiveOak was shuttered, I really felt it had a chance to be something big. After LiveOak, I explored a few different things to work on. I ended up shifting to Developer Tooling for a short while working on WebIDEs, and an "all-in-one" installer to provide all the necessary tools for developing with containers.
An opportunity came up to work with Bob McWhirter again for a new take on WildFly targeted at microservices. Thus WildFly Swarm was born. For at least the first 6 months, I can’t remember exactly how long, it was only Bob and I working on it. We had a great time bouncing ideas off each other and exploring different avenues. Over time interest in microservices and uber jars grew, and so did the project.
MicroProfile and SmallRye
It was exciting to be involved in forming MicroProfile in 2016, along with IBM, Tomitribe, Payara, and London Java Community (LJC). MicroProfile was a great opportunity to learn more about microservices developed for the cloud and what they need above and beyond Java to be successful. We made some misteps over the years, but hopefully continue to learn and grow from them. With the desire for WildFly to also include MicroProfile, there was an opportunity to have re-use between WildFly and WildFly Swarm. I pushed hard for the creation of SmallRye as a shared home for MicroProfile implementations. There was some immediate community building with OpenAPI, but other projects took some time to garner additional contributors, while others remained purely as a vehicle for Red Hat to share implementations.
I think it was around the time we created SmallRye, that WildFly Swarm was renamed to Thorntail. It would’ve been so cool if we could have found somewhere to make a plushy version of the logo! No such luck unfortunately.
In early 2018 I’d spent a few months completely re-architecting Thorntail to have CDI at the very core of the runtime. It was tricky to figure out the right pieces initially, but once it started coming together it was so much easier to manage than the previous model. Also, each of the extensions, what we called "fractions", needed way less code than the previous model. The work was stopped when we first started the PoC for Quarkus!
It was a pleasure and a privelege to be a part of the small team working on Quarkus from day one. It was a little sad to be moving on from Thorntail, but it was great to be able to build on all the learnings from Thorntail and combine it with AOT (Ahead of Time compilation) in Quarkus.
Having worked on Quarkus for a while, I had the pleasure of handing over Thorntail to Ladislav Thon. It wasn’t the easiest for him to take on a project he knew would end one day, but he did so with distinction.
After a couple of years of working on Quarkus, SmallRye, and MicroProfile, it was time to hand over the reins of being the Technical Architect for Red Hat at MicroProfile. Roberto Cortez jumped in to take over SmallRye and MicroProfile with incredible enthusiasm. I’ve been very happy to see what he’s achieved in the last year or so, and look forward to seeing what he continues to accomplish.
Over the last 12 to 18 months I’ve still been working on Quarkus, focused on the observability aspects. It all started when Erin Schnabel shared concerns with MicroProfile Metrics and how Micrometer is a mature library for metrics better suited to what SREs need to monitor Java applications. I can’t thank Erin enough for opening my eyes to look beyond what might be more familiar to find gems from the wider ecosystem. Erin brings energy and enthusiasm to her work that is infectious!
Thanks to everyone
As my time at Red Hat draws to a close, at least for now, I want to profusely thank Mark Little for his guidance and mentorship over the years. I look forward to continuing our relationship, hopefully catching up at a conference at some point! I also want to thank all my managers over the years for helping to guide my growth, as well as all the fantastic team members I’ve had the pleasure to work with.
I want to wish everyone on the Quarkus team continued success in the years ahead.
I will have a short break after Red Hat before beginning a new journey. Where I’m heading and what I’m up to will be for another post in the near future!