Career Path - Michael Toppa, Software Engineer at ActBlue
ActBlue is hiring! Check out their BIZZpage for the latest job openings!
Where did you grow up? What did your parents do for work? What was your very first job?
I grew up in Newport, RI. And to answer the follow-up question, yes, I learned how to sail when I was a kid, but I forget all my knots now. I keep a book on my coffee table called “Speed Sailing” by Mike Toppa, which is by my cousin who has the same name. It’s a source of endless, fun confusion. My mother was a social worker and she worked with elementary school kids, and now she has a private practice. My father is a small-business man. He and my uncle started a B2B paper goods business that my uncle’s son runs now, then he opened a laundromat, and now he’s a real estate agent. I had my first job in the summer after 8th grade. My best friend and I got paid $3/hour under the table to do demolition work on a house that was being remodeled. What could be more fun as a 14-year-old boy than being handed hammers and crowbars, and smashing walls with your friend?
How did you get in web development after graduating with a Masters degree in Government from Georgetown?
I was in Georgetown’s Government department, pursuing a PhD, with a focus on American politics and statistics (for survey analysis, etc). In my 3rd year, instead of being a teaching assistant, I was the department’s first “Computer Fellow.” I had been a computer hobbyist since I got a Commodore 64 when I was 12, so between that and my statistics background I could pretend like I knew what I was doing.
I helped install a Novell network in the department, and made their first website. This was 1995, in the days of HTML 1.0 when the web was starting to take off, and I was finding it more fun and compelling than political science. I was pretty far along in the PhD program, but decided to leave with my Masters, and got a job with Georgetown’s Academic Computing Services as their first “Internet Resources Specialist.”
You were building applications in the web 1.0 era for companies like E*Trade and Ask.com. What technologies were you working with then and how have things changed since then?
At Ask Jeeves in 1999 I worked with a 6-person team on a web application called the Jeeves Shopping Advisor. For the first year the underlying engine was actually a Windows desktop application, which provided specialized software for decision analytics. I spent part of my time writing HTML and VBScript, and the rest of my time working in the GUI for the desktop application, which was like Excel on steroids, with advanced mathematical functionality and multi-dimensional spreadsheets. We quickly discovered that Windows NT would only let you open 99 instances of any one application, so we had to setup a bunch of servers to keep up with our traffic and wrote a “pool manager” to assign and release the desktop instances to web sessions. It was wild - it took a while but we eventually got a better architecture in place.
In regard to what’s changed, the obvious answer is how much the technology has changed, but what I find interesting is how the tech community has changed. A good aspect of the “old days” is that the tech community was small and fairly innocent. For example, public, unmoderated USENET forums were largely welcoming, supportive, and spam-free. But it was also very white and male, so I’m happy to see the growing success of efforts in recent years to make the community more diverse.
Between ActBlue and a former startup called ElectNext, your career has come full cycle back to your education in Government and Politics. Did you specifically seek out opportunities in this particular industry? What was it about ActBlue that led you down the path of joining the organization?
When I came across a job posting for ElectNext, I practically beat their door down. When I was at Ask Jeeves I was given time to work on a side project, which was a political candidate matching application that was similar in many ways to what ElectNext was doing, 10 years later. The reason I originally pursued a political science degree was to educate, so ElectNext’s non-partisan civic engagement mission strongly resonated with me.
Before joining ActBlue I was very happily freelancing, with good clients who gave me steady work. Then I attended a Boston Ruby meetup where one of my now-coworker’s gave a presentation about ActBlue’s mission and tech stack, and I was hooked. In normal times I might not have been drawn to a partisan organization, but without injecting a lot of politics into this, I’ll just say that these are not normal times. The team is incredible and I feel lucky to be a part of what we’re doing.
What are the details of your current role at ActBlue?
I’m the lead for a 10-person web development team that handles all of the back-end payment processing, internal and client-facing administrative functionality, legal compliance reporting, webhooks, and basically everything else that isn’t public-facing. The team has been growing quickly, so we’re currently assessing some of our organizational and workflow patterns. We haven’t adopted a specific workflow like Scrum yet, but I see my current role as similar to a Scrum Master: working as a servant-leader for the team, such as being a resource for helping with problems anyone might be having, identifying obstacles to progress, and facilitating discussions and planning.
In addition to your experience as a software engineer, you have management experience either as a direct manager or a project manager. How has that experience helped you in your career?
I was at U Penn’s School of Medicine for 8 years, and my last 2 years there were as Director of the 15-person web development team. I’ve been doing web development for 22 years now, and that was the only time I wasn’t coding, but I look back on that experience as the crucible of my career. The team was in a crisis for a variety of reasons when I came into the job, and I led an organizational transformation. But at first I didn’t fully realize what I was getting into. Doing it successfully was incredibly challenging, and forced me to grow in a variety of ways.
The way I think of it is this: organizations are like families — they are all dysfunctional, it’s just a question of in what ways and to what degree. But also like families, you spend a lot of time with your co-workers, and you want to feel welcomed, appreciated, and respected. Dysfunction in families is typically internalized and below the surface, and the same is true of most workplaces. At Penn we adopted Scrum, but it was only after we did it that I came across this quote from the Scrum coach Mike Cohn, which is all too true: “If you adopt Scrum, there will be a day you come into the office nearly in tears over how hard the change can be. This is because Scrum doesn’t solve problems, it uncovers them and puts them in our face. Then, through hard work we address them.” Change is hard, but if it’s well managed and pursued in good faith with transparency, the difficulties of the transition will end, and you can end up in a much better place.
Day in the Life
1. Coffee, tea, or nothing?
I’m going to say Bevi, and occasionally tea. I have never had more than a sip of coffee.
2. What time do you get into the office?
7:30 - I’m a morning person.
3. Every day is different, but can you outline what a typical day looks like for you?
Morning: since I get to the office early, a couple blissful quiet hours for coding before many others arrive in the office.
Afternoon: usually meetings and pairing
Evening: My 12 year old is an athlete, so about half my evenings involve his baseball games or practice. My 17 year old is really into Magic: The Gathering, so I’ve gotten into it too, and we usually do Friday Night Magic together at our local shop. Otherwise I’m keeping up with families and friends, the news, or watching Legion or The Expanse.
4. What time do you head out of the office?
Usually around 3:30 so my boys aren’t home alone after school.
5. Do you log back in at night or do you shut it down completely?
Ideally I like to have a clear end point for my work day, but with the way I’ve arranged my schedule, I usually have some things to catch up on in the evening.
6. Any productivity hacks?
I’ve read Getting Things Done and other productivity guides, but I’ve never gotten into having some kind of elaborate system. My advice is pretty simple: keep a to-do list, and try to arrange your day around when you feel most productive. I’m a morning person, so that’s when I try to keep my schedule clear for focusing on work that calls for complex problem solving or thoughtful planning.
7. What are the 3 apps that you can’t live without?
I’m coming to understand what a generation gap really is. I feel like a Neanderthal with my smartphone, so I don’t know if I can come up with 3 apps. I’m much happier with a real keyboard. But since I’m in Boston, and I haven’t lived here very long, Waze is indispensable. Before smartphones, I have no idea how anyone who didn’t grow up here could have possibly gotten anywhere without it - I guess just pulling over a lot to look at maps.
8. What professional accomplishment are you proudest of?
My time as Director for the 15 person web team at Penn. After I left and they fully assessed all the things I was doing, they spun my job out into 4 positions: Director, System Architect, Developer Manager, and Product Owner Manager. It was a demanding and sometimes overwhelming role, but it made me grow in several ways, and set my career on the path that’s led me to where I am now. I’m still in touch with people there, and the structure I helped to put in place is still going strong.
9. Who do you admire or call upon for professional advice?
Darian Rashid is an Agile coach who worked with us at Penn, and we became friends. At my next couple jobs after Penn I sometimes reached out to him for advice and he was always amazingly supportive and insightful.
I’m also a fan of J.B. Rainsberger - I’ve attended a few of his talks and workshops. He wrote a tweet a few years ago that has stuck with me. I forget his exact words, but he said that intermediate developers have books on design patterns, and advanced developers have books on human psychology.