At CloudBees, we have a lot of seriously talented developers. They work hard behind the scenes to keep the CloudBees Platform as a Service (PaaS) and our on-premise Jenkins solutions up-to-date with all the latest and greatest technologies, gizmos and overall stuff that makes it easy for you to develop amazing software.
In our last Meet the Bees blog, we met Kohsuke Kawaguchi, CTO at CloudBees and founder of the Jenkins CI project. This week, we head to Boston to visit Jesse Glick, developer extraordinaire. Stand by while we help Jesse dig out from underneath all the recent snow…winter is in full force, but this Bee doesn't hibernate!
A Massachusetts native, Jesse left the wild frontier of web marketing in 1998 (think Kraft Interactive Kitchen!) for Prague. In Prague, he soon began work at a tiny company called NetBeans, run by Roman Staněk . NetBeans offered a Java IDE. At NetBeans, Jesse weathered acquisitions by both Sun Microsystems and Oracle. Jesse worked on the IDE's core module system and its plugin tooling, the project system including its Ant and (later) Maven integrations and various other components. He also contributed to the project's own extensive build system and the migrations from StarTeam to (open source) CVS to Mercurial. Along the way he became an Ant committer and contributed to other key software including Maven and Mercurial and, of course... Jenkins CI, for which he was an early committer, developing the IDE integration. He co-authored an O'Reilly book, NetBeans: The Definitive Guide ,about (of course) the NetBeans IDE, and has spoken on related topics. He now lives, once again, in the Boston area. Jesse came to CloudBees in 2012 as an elite developer and architect.
Jesse, what is your role at CloudBees?
I have been writing Java code since the late 90s, most of that time working on the NetBeans IDE and thinking about how to make the life of other developers a little smoother. So when in 2012 I decided to work on something new, CloudBees was a natural choice: a big part of our business is ensuring that programmers can focus on programs, without all the overhead that application delivery usually entails.
With a few exceptions, I am working on or with Jenkins most of the day: the core of the continuous integration server, various of its community plugins, the Jenkins Enterprise extensions; and sometimes our hosted DEV@cloud service, including the VPN support.
I also occasionally help support the marketing team, by being one of the technical experts at the CloudBees booth at conferences like JavaOne, for example. But more on that shortly...
What’s a typical day look like for you? What are CloudBees customers like?
Like many Bees, I work from home (just outside Boston), so the inbox comes up as soon as I am sufficiently awake. Usually the morning is focused on new customer support tickets, especially Jenkins Enterprise customers. Tickets run the gamut from simple questions about how to use some feature, to alarms about serious outages, to suggestions for enhancements, to requests for diagnosis of possibly significant error messages. Several of our customers are quite sophisticated Jenkins users—and even contributors to the Jenkins project—but still rely on our expertise to make sense of puzzling problems or recent developments. While maybe half of the tickets can be handled with a quick reply based on my own experience/ knowledge, the other half require real investigation and sometimes fresh development to solve and are true challenges.
With the timely items out of the way, perhaps by lunchtime, I often work on Jenkins core or plugins. There are an astonishing number of people actively contributing features and fixes of all kinds to the Jenkins open source code motivated by their own observations and needs, but often what our customers really need are less visible changes: more powerful APIs that allow optional features to be farmed out to plugins where they can be more readily managed; better scalability to hundreds of jobs and agents, or thousands of builds; tighter security; more robust handling of errors; more thorough logging and diagnostics; and prioritization of bugs that keep on coming up.
Or I may be working on our Jenkins Enterprise extensions, which are crucial to our biggest customers, especially. For example, recently I spent a lot of time on the Templates feature, cleaning it up internally and making it better suited to organizations with several teams. As Jenkins Operations Center gets deployed more widely, I expect to see a lot of interesting ideas come back to us from customers who already run several systems and have a longstanding wish list of ways they should interact. Something fun to work on in the late afternoon hours, probably at the standing desk by this point so I do not fall asleep.
What’s your PaaS prediction for 2014 and beyond?
My standing prediction for the past decade or more is that the massively complex tower of languages, frameworks, application code, network protocols, UI frameworks, virtualization and clustering that we seem to rely on more every year, will just become irretrievably stuck in its bloat. There may have been very good reasons to replace RMI with web services, or RAD builders with HTML 5, but the result is far more awkward to write and easier to get wrong. (NoSQL databases may be the only exception.) Perhaps people on the front lines will be forced to abandon much of it in favor of something with a radically different structure: implicit concurrency, distributed data, mobile code, access control based on cryptography not location, UIs that emerge from an ongoing task rather than a static design.
In the meantime, none of that seems ready to happen, so we are here to help you at least deal with the mess and get things out the door!
What is your favorite form of social media and why?
I would have to say GitHub more than anything else. I could hardly care less about other people’s personal lives unless I am in the same room with them, but during the workday I definitely want to know what they are working on and what they think about what I am working on. Pull requests are obviously a good way to focus a bunch of people on one problem, but the simple @mention feature is a really handy way of keeping someone informed of a change you think they would be interested in.
If you could eat only one meal for the rest of your life, what would it be?
It is hard to imagine ever getting sick of any of the great vegetarian offerings at my favorite Indian restaurant, Guru the Caterer, in Somerville, MA. That would be my choice!
Now, about that marketing support...
As you can see, it takes a lot of technical knowledge (along with a good Bee costume and a pot o' honey) to really create buzz at a developer conference! Here I am with my fellow Bee, Steven Christou (on the right), in the CloudBees booth at JavaOne last September.
Of course, there always has to be an alpha Bee, so here Steven and I are engaged in some antennae-butting to stake out our turf. Nicolas De Loof is only too happy to officiate!