Curious about software engineering at an advertising technology company? Here’s what Mike Hoitomt, one of Triggit’s software engineers, has to say about programming, ad tech, why he loves working remotely.
What did you do before starting as an engineer at Triggit? I started my career as a Mechanical Engineer for an Aerospace company. After doing that for a few years, I worked as a Project Manager for a Fortune 50 health insurance company. I really missed engineering though, so I was able to take on more technical roles while working there, while also going back to school. Eventually I became a Software Engineer for that same company, and then a Sr. Software Engineer for a large apartment rental site in Atlanta, and then of course found Triggit.
What’s your favorite thing about working in the digital advertising industry? There are two things that are really fascinating to me: Auctions and Scale. It’s fascinating to me that ad publishers run auctions for every piece of ad real estate on their client sites. These auctions take place within 120ms. The publisher starts with an auction: “We have a 200 x 300 pixel space of prime real estate right here, who wants it?”. Then we throw bids at it to win the action and get our customer’s ad out there in the wild.
With regards to Triggit’s place in the advertising industry, the scale of everything that we do is huge. Handling the volume of transactions is the first consideration in most of our engineering decisions. This impacts the programming language that we use for a given application, how we deploy the application so that it can be scaled up or down, and how our applications talk to each other.
How does your job at Triggit differ from other engineering jobs you’ve had? Triggit’s end product involves more “iceberg” programming than I’ve experienced at other places. What I mean is that a lot of the code we write is to support functionality that is hidden from view, almost like the main part of an iceberg that’s below the surface. Raw data goes in one end, we analyze it, process it, and deliver it, and most of this is invisible to the end user. Because of the auction process, sometimes the tip of the iceberg isn’t even visible.
In other engineering jobs I’ve had, there is more of a visual feedback loop. When you work on a typical web application, a larger portion of the changes and enhancements are reflected in a User Interface; you write ten lines of code and this check box shows up on the screen and gets saved to a database. At Triggit, it’s much more about making sure that the internal systems have the correct data.
What are the top three things you recommend for aspiring engineers looking to crack into the digital advertising industry?
- Learn about Service Oriented Architecture (SOA) and how software applications talk to one another (message queues, databases, API’s, etc.)
- Learn about different types of databases (NoSQL, Big Data, SQL, etc.)
What tech blogs/publications do you follow regularly? I follow Hacker Newsletter along with around 100 different individual bloggers from a range of topics. My favorites are John Gruber, Scott Adams, Jeff Atwood, Randall Munroe’s XKCD, Thoughtbot, Rands, and Mark Cuban.
If you weren’t an engineer, what would you be doing? I’d like to say I’d be mowing down hitters like Bumgarner, but my fastball never got above 50 on the gun. So I’d probably be analyzing or managing something, and I wouldn’t be nearly as happy doing it. I love designing and building things and engineering lets you do that.
Just for fun…
What do you love most about working remotely? I like the distraction-free work environment combined with the autonomy it provides. I’ve been working remotely for over five years now and it’s now strange when I have to work in an office. It’s louder, and there are so many more distractions in an office compared to my home office. It’s something I hadn’t noticed until I started working remotely.
Tell us something interesting about yourself! I’m a big Wisconsin sports fan, and I live in the Midwest, which both seem to be rare among software engineers. I have two degrees (BS, Mechanical Engineering and an MBA) and have credits towards a third (Computer Science).