McKenna Regets, Manager of Community Program, Pantheon Reading estimate: 9 minutes
Pantheon Hero Spotlight: Brian Thompson, Director of Web Engineering at Mindgrub
Team spirit. Crushed garlic. Burnt rubber.
These are just some of the smells that inspire Brian Thompson, Director of Web Engineering at Mindgrub. Brian wears an astonishing number of hats: He’s an innovative web developer, a “recreational caterer,” and he’s working on his dream project: a design-your-own, mixed-reality driving experience complete with olfactory inputs.
Within the Drupal and open-source community, Brian is known for expertise on topics such as team-building and the expanding role of WebOps. That’s not surprising: Brian’s role at Mindgrub is leading the charge to apply WebOps principles to platforms outside the web, for everything from solar panels to retail kiosks.
For his work in expanding the parameters of WebOps--and his culinary skills--we thought it only right to bring Brian into our league of our Pantheon Heroes.
We sat down with Brian to learn about his career path and to swap recipes. We also got the scoop on his upcoming presentation at php[world] entitled Automating your WebOps Workflows to Reduce Pain and Suffering, which will take place at 2:00 p.m. on Wednesday, Oct. 23.
The one question we did not get an answer to: When can the Pantheon team expect to be invited over for one of Brian’s gourmet meals? We’ll keep our calendars open.
Q: Can you tell me a little about your career path?
I grew up in and around Baltimore, Maryland. I bounced around a little bit but never left the state. I went to school here. I even went to the college down the street from my high school—as did about 33% of my graduating high school class.
At Towson University, I pretty much lived in the cybersecurity lab. That's where I did a lot of technology work. I was doing web development on the side and a lot of sysadmin work too.
It was at Mindgrub where I started learning about Drupal, especially in regards to secure implementation. Within the first year of learning Drupal, I was running a website called Catapult, which was an organization under the Women Deliver nonprofit. It was a women's rights website, similar to Kickstarter.
There were TV benefit concerts where Beyoncé and Sara Silverman were talking about the website on national TV. Over the course of that one night, we raised—I forget what the final number was—but in the tens of millions of dollars. We fully funded every project on the platform.
That's how I figured out how to take the sysadmin and the security knowledge I learned through school and pair that with running websites quickly and effectively at scale.
Q: What’s your current role at Mindgrub?
My official title is Director of Web Engineering. That boils down to three different aspects: First and foremost, it's running the existing team of just shy of 40 web engineers who rapidly deliver high-value web properties to our clients.
And it goes beyond the web, too. So while my title is Director of Web Engineering, we have projects going on right now that are for software that goes on solar panels, on kiosks, inside of prisons, as well as your standard run-of-the-mill WordPress and Drupal websites that somebody might visit online.
The other two aspects of my job are nowhere near as interesting. One of them is hiring people, and the other is working closely with all of our clients.
Q: How is development changing based on new delivery platforms?
I think it broadens thinking and makes for holistically better engineers. Many software engineers are used to the standard WebOps: You've got a website, and you're focused on how to deliver code so that you can ship updates in an iterative, agile manner.
With more complex projects, like solar panels, the websites we build have to fit in four megabytes of disk space. Plus, you have to account for the fact that somebody could be using the solar panel where there is no Internet. So, you have to figure out how you package all that in as well as the whole update process.
In a lot of ways, it's like managing a mobile app where you can't guarantee that users always update to the latest version. You have to support those backwards compatible versions and be able to triage all of your changes together.
I can't have somebody from my WebOps team deploy changes and then realize three hours later that there's a critical bug. If it's a bug in the updating system, that critical bug could prevent people from updating to the latest version. So, a lot more thought goes into version control.
It sounds like having a bug in the site running a solar panel might break it forever.
Very much so. A bug could break that solar panel forever or at least how we read and write data. Most people in web development are probably familiar with REST APIs and using SOAP for communicating back and forth. All of those are fairly predefined patterns.
In the case of the web application on solar panels, we're reading and writing data to the same memory used by the solar panel's hardware components.
If we read something from the wrong spot or write something to the wrong spot, we create real-world problems. If we take the battery and, instead of charging it to the prescribed voltage or amperage, we do that to a factor of 10—that's an issue. We now have a fairly large fire hazard on our hands.
Q: I think that’s our new tagline for development: “Debug like every bug could start a catastrophic fire.”
Speaking of WebOps, you have a presentation at php[world] which is coming up October 23-24. Could you give us a little bit of a preview?
I will be speaking about WebOps and how we can ultimately deliver value faster to system users and to agency clients. So, it's largely focused around packaging systems, automated testing, dependency management, and scaling websites.
We've done a lot of research on automated QA testing and what that means in the grand scheme of things. During my session, I will share how we've applied some of the principles we learned from running high-risk websites and web platforms on solar panels and kiosks. And I'll talk about how the larger PHP community can use a continuous integration pipeline to deliver faster for their customers.
Q: What drew you to the open-source community, or Drupal specifically?
Part of it was availability and ease of access. I spent a good portion of my time in cybersecurity, working with closed-source systems. What I really, really hated about all of them was that I had to be covered under my university's licenses to use them legally.
When I was trying to figure out an alternative database engine that didn't suck, I stumbled across MySQL. That opened me up to the whole world of cheap/free web hosting back in the 2008, 2009 timeframe, which was all predicated on a lot of open-source, PHP, MySQL, and those sorts of technologies.
That's when I saw how cohesive the communities were and how open and willing everybody was to share and help each other out. It was a really welcoming environment, especially for somebody who's fairly quiet and introverted.
Being in the open-source community, and seeing how everybody is so focused on giving back, has sort of pushed me outside my bubble to do the same.
Q: Do you feel like Drupal is a better match for those introverted personality types than other open-source communities?
I've been with Drupal for so long now, so I have more of a footing in it than I do other communities.
1) I know more people in the space than I do in the other communities.
2) I've just been around it long enough that I can speak more about it.
I've gotten fairly good with WordPress over the years as well. But if I look at an open-source community like Python, which is a wonderful language, I just don't have the knowledge or footing to be as comfortable in that open-source community. I’m more of a lurker than an active participant.
Q: How do you expect web development to change over the next five years?
That's a great question. People always ask me whether I think PHP will still be around in five years, to which I always answer yes. But I think that's probably one of the few constants that we'll see.
Between now and five years from now, we'll probably see two or three new hot web languages take off, which will likely replace something along the way.
Go, or Golang is my normal reference in these situations. I love it. It's a fantastic language, and I don't write it often enough. But I think it'll pitter-patter out over the next couple of years and be replaced with something else.
And I think we'll start to see programming languages start to influence speed to market.
Everybody is focused on artificial intelligence and what it can do for robots in manufacturing or how we can use it to personalize content on the web. It surprises me that nobody's figured out an artificial intelligence engine that can take and build a website. You know, a system where I can feed in a set of design comps that are annotated in a certain way, and it will build out a logical theme for me.
I feel like somebody's going to upend the web development world with a faster way to make websites. And either they'll be selling it as a service that a lot of people start to buy into, or they keep it for themselves and become a powerhouse, able to underbid everybody from an RFP perspective.
Q: Changing the subject a bit here, do you have hobbies outside of web development and technology?
Is there time for hobbies outside of web development and technology? Actually, I do like to cook and bake. I've always had a passion for large-scale cooking for groups. You know, 50, 100, 150, 200 plus people.
It's something that lets me take my mind away from web development and get caught up in what I'm doing. If you're trying to cook for that many people, you have to focus your attention. It also allows me to combine the process and the engineering aspect of web development with making food.
I am part of the team at Mindgrub who is heading up a cooking competition against other agencies in Baltimore. Like on the show “Chopped,” each agency will receive a basket of secret ingredients for different courses. It's called “Cook-off for a Cause,” and we're very excited to see how that goes.
Q: What is your dream web project?
Dream web project? Right now, I've been thinking heavily about a system that combines physical objects plus web development to build a theme-park-caliber experience. Something along the lines of a design, build-it-thing on the web.
Probably something responsive that you create on iPads and then experience in a reality: Not a virtual reality, not even augmented reality, but more of a mixed reality experience where you can take something that you do digitally on the web and then interact with it physically in real life.
Like if I were to set up an intelligent sports car, you could design a track on an iPad, and then jump into the car. The car would deliver the experience of driving along the route—using hydraulics so as you go around the corner, the car is bouncing up and down. And to start the race, you actually have to shift into drive. It would be a lot of fun.
And then I'd try to figure out how I could put some a Smell-o-Matic machine into the HVAC system so that you can smell the tires burning. I feel like that would have a very long line of people interested in giving me their email address and contact information just for the experience.
Q: Is there anything more you want to share?
Just that if you want help with something technical on your website or project, find me at a conference. I'm always willing to find time to sit down with people. I like interesting challenges.