Farewell ZipRecruiter
For the past seven years, I have been working for ZipRecruiter, helping them build their software platform. My time there has now come to an end. I have had a most excellent time at ZipRecruiter, and I want to take some time to reflect on my experience there and share some gratitude.
The start of my employment at ZipRecruiter takes me back to 2015 (the picture here is of me from my first week). The year before, I had quit my job at an established firm, Grant Street Group, writing tax & billing and payment processing software. I worked as a full stack developer (though, I’m not sure we called it that in 2008 when I started). I quit that job to take a position working at a tiny startup, Bizowie, across the street making ERP software. The domains of both of these companies are pretty similar with lots of accounting for money and tracking how it enters and leaves the organization. The primary difference from my perspective as a software developer is that Grant Street Group works with local governments while Bizowie works with small to medium sized businesses. While this is not about either of those jobs, I want to talk about my last day at Bizowie as part of the setup for this story and part of how I got the job at ZipRecruiter involved a colleague I got to know at Grant Street Group.
Disclaimer
Before I go further, I do want to make a disclaimer, starting with:
Sterling’s Truths for Life #86: Publishing negative things about others is poor taste. Publishing negative things about your employer is stupid.
I apply that thinking that to past employers too. Nothing here is meant to say these employers are good or bad. I’m just telling a story about what happened. These are reasonable companies run by reasonable people. I am in no way trying to make them look bad. I’m just trying to tell an honest story here about the places I’ve worked at and my experience with them in both easy times and hard times.
Now for story time…
The End is the Beginning
One winter morning, I sat down at my computer to start doing some work for Bizowie and my login failed. That was a bit odd. So I called my boss, the CEO, to ask what was up and he said, “I’ll call you back in an hour to talk about it.” Uh-oh. I had a pretty good idea what that meant.
During that hour I started wondering what I’d do if it meant what I assumed it meant. I started coming up with a plan. My wife was out with friends for the morning and I knew I’d have to break the bad news to her in person, but I wanted to be able to present some kind of a win when I did. The boss called me. The news was what I’d feared: He explained my severance package. I then executed my plan.
Flashbacks to Pittsburgh
A couple months before, I’d been in Pittsburgh for the Pittsburgh Perl Workshop. While there I chatted briefly with Mark Jason Dominus who was giving a talk related to his book, Higher-Order Perl. I remember it concerned how he generated the quilt patterns featured on the cover of his book.
Two years before, Mark and I worked together at Grant Street Group building payment processing software. I felt like we got along pretty well, and he had some great ideas. However, he and the company never quite meshed. It wasn’t long before he moved on again. I thought this was too bad because he is an excellent engineer. But we worked together long enough that I had added him to my network of colleagues that I wanted to work with again. When he started at the next company, some place with a weird name that I’d never heard of before, Zip something, I contacted him to see how it was going. He’d been there a week and his response was, “I’ve been smiling all week.” It was good to hear he’d found a work-home.
Fast-forward two years back again to the Pittsburgh Perl Workshop chatting with Mark. He asked how work was going and I told him I’d moved on to a startup called Bizowie and was pretty happy about it. He hinted that I couldn’t possibly be as happy as I’d be where he’d landed and that if I ever changed my mind, “Zip something is hiring.” Again, the weird name I’d never heard of.
Shortest Job Hunt Ever
Fast-forward two or three months back to my just-ended conversation with the CEO at Bizowie and I’m sitting at my desk typing an email to Mark. I’d used LinkedIn to look up the name of where he worked so I could get it right (sort of):
Mark,
I suddenly find myself at loose ends and looking for work, I’m ready to hear the case for ZipRecruiters if they are hiring.
Thanks, Sterling
He emailed right back with links to a few open job descriptions and to tell me why he loved working there. His argument for the company sounded great to me, it included this description:
My style is to work on what seems useful at the moment, and at other companies that has sometimes brought me into conflict with my supervisors: “Well, Mark, it’s great that you did X Y and Z, but you were supposed to be working on tickets P D and Q,” they would say. At ZipRecruiter the remake has always had the form “Well, Mark, it’s great that you did X Y and Z!”
With that recommendation in hand and having already started to clean up and refresh my resume (which was pretty rusty as I hadn’t really needed it for nearly 6 years), I went over to the park where my wife was out with friends to break the bad news to her. I was already applying by the time the day was over. ZipRecruiter flew me out within a week.
A Santa Monica Interview
My memories of the interview were mostly a blur of meeting various developers during four or five different meetings. I mainly remember feeling like I wasn’t trying to convince them to hire me so much as they were trying to convince me to join their team. I don’t know how accurate that really is, but that is how I felt. I could tell all the way through that the interviews were going very well.
However, there was one notable event that occurred in the afternoon before I left the office. One of the founders, Will, took me up to the eleventh floor of the building on Wilshire that had recently been made the company headquarters. I didn’t get much of a chance to take in the view, but the view from the eleventh floor of this building out over Santa Monica is stunning, north, west, east, and south. I’ve viewed many a sunset from the west conference rooms.
Anyway, without signing an NDA or anything, he took me into an all hands meeting. On the way in, Will said with his characteristic boyish grin, “Oh, uh, don’t tell the lawyers I did this.” I honestly don’t remember anything regarding what Ian, the CEO, talked about during that meeting. The only thing I remember was one of the employers, who I would get to know as Ryan, spinning the Wheel of Awesome and getting a cash prize. Everyone seemed in a great mood, the company was doing great, it was growing fast, and it looked like an amazing opportunity.
I left the office with a promise that they’d get back to me within a couple days with an offer if they decided to make one. I went down to the beach and enjoyed the relatively warm 60°F weather in bare feet (my native Kansas was very cold by comparison). Almost within site of the company’s eleventh floor headquarters, I picked up some shells to show the boys when I got back. I called my wife to let her know how things had gone. While on that call, just an hour or so after I’d left the office, Will called to inform me of the offer. I was completely blown away. I accepted immediately.
One Job, Two Positions
While at ZipRecruiter, I have had two basic positions, though the second job has gone through several iterations. The first job was working with Ryan. This was a different Ryan than the one who spun the wheel. This Ryan has, since then, become the Chief Product Officer. The job in 2015 was working on the new projects team where we were building a new product that was aimed at helping job seekers make the transition from job seeker to employee. This itself went through several fast iterations over the next 12 months or so.
(Warning: Tech speak ahead… it won’t last, I promise.)
After several months in this first position, I realized that I didn’t want to do the full stack development thing anymore. This was the full-stackiest position I had had to date. Previously, I had worked on content management systems, building microservices, and front-end application features. Nearly all of these were really just glorified desktop-style applications running in a browser and driven mostly from the server-side. At the time, ZipRecruiter had a hybrid monolith that was a mix of server-side and client-side, so I spent a lot more time on the client-side. I didn’t like and still don’t like client-side work. I can hold my own there when I have to, but I discovered I did not want to linger there. And this job had forced me to linger there.
So as I approached my one year anniversary with ZipRecruiter, I decided to put my resume in again for an internal transfer. I have a modest interest in cybersecurity. And the company had realized they needed an engineer who would be dedicated to that role. At the same time, the leadership at ZipRecruiter was making some hard choices about the project I was working on, which leads to a funny story.
Skipping to the End
I was chatting with one of the PMs, Jing, about something we were working on together. This was being done over Google Hangouts, as I live in Kansas and he was in the Santa Monica office. Jing shared an office with the lead PM, Skylar, who was sitting directly behind him for the whole call. So Jing and I are discussing this feature trying to figure out how to work through a few problems.
After we’d struggled with design ideas for 20 minutes or so, Skylar turns around and says, “Don’t worry about it, just start writing the code!” That was an odd thing to say. I mean, I could try to do that, but I want to make sure we get this designed well first. Besides, we still had a couple important issues to work through before I felt comfortable with coding. We moved on to discussing those issues.
After another 10 minutes, Skylar does it again, “Just code it. Don’t worry about all that stuff.” At this point, both of us are perplexed. This is not like Skylar and he is acting weird. We still had one more point to go over. As we started discussing that, Skylar, clearly exasperated, said, “Fine, go tell the everyone else on our team to hop on to your call. We’re going to have a team meeting.”
And that’s when we learned our project was being cancelled. He wasn’t supposed to tell us until everyone got the news the next day, so we weren’t allowed to talk about it with anyone at all yet. The company was not laying off anyone, but reassigning everyone to work on something else. Leadership had decided they could use all our resources elsewhere. The next day, I began discussing how I would transition to the core development team with my focus being on cybersecurity. That would, in various forms, be my job for my remaining six years with ZipRecruiter.
Moving into Cybersecurity
Now, this part of my job blurs all together in my mind. I have done so many different tasks. After a year or so, the role shifted from the core development team over to a team focused on security, education, and compliance. And after a couple years there, it transitioned again to working in a larger group focused on technology operations.
Along the way, I wrote several product spanning features to help protect our application from attackers, protect the app from various mistakes and anti-patterns developers are prone to, and try to raise awareness of security best practices among all the various development teams. I worked on projects ranging from compliance to security to developer operations.
During all parts of my job, I worked on basically whatever seemed the best thing to work on for the moment guided by whatever guidance our CTO and CEO had given. That guidance was usually directed at growth and features, but I was more focused on shoring up weak points and preventing our rapid growth from hurting ourselves. There was some interpretation involved, but I great managers to help prioritize projects. Like Mark, I too preferred the style of work where doing what needed to be done was rewarded rather than expecting me to follow some roadmap and get punished for deviating.
I feel like I’ve done good work over the past six years and made ZipRecruiter more successful for it. However, my work doesn’t create the graphs that go up and to the right that our CEO likes to tout. If anything, my work was measured in success when the graphs went down and to the right. Cybersecurity is like a lot of operations-related tasks: it’s more about what can’t be measured and what didn’t happen than what can be measured and what did happen. It can be hard to know if you’re doing a good job or if you’re just being ignored by the bad guys or something is happening and you don’t have the right instrumentation yet to see it. You just keep working the problems and enhancing your sensors and audit trails, it’s more interesting than it sounds.
Ironically, in this sort of job, you tend to know you’re doing a good job because no one at the C-level notices or recognizes your contribution or thanks you. If they notice you, it’s because you screwed up and did it wrong or missed something important. This is thankless work. We might fantasize about recognition from the bigwigs, but really most of us prefer to be part of the fixtures of the company: rarely noticed for the diligence that is keeping the floors clean and the lights on.
It was during this time that ZipRecruiter changed from being “Zip-Who?” when I told others who I worked for to “Oh, really, I got my job through ZipRecruiter. I didn’t know they had offices in Kansas.” (They don’t, just me and a couple other remote employees.) That was an interesting transition to experience.
Hard Times Will Come
Fast forward again to 2019. I felt really good about where the company was going and how it was running when we had our company’s winter party in Santa Monica in February 2020. I had no idea that in less than two months, a large portion of those people at the party would no longer be at the company. I had never been through layoffs before and I don’t recommend it, but I learned quite a lot that day in March.
Sterling’s Truths for Life #24: Experience is what you get when you don’t get what you want.
That Friday morning, everyone was abuzz on the company chat server about the mandatory meeting invitation everyone had gotten. We’d recently gone fully remote due to COVID as part of that “two weeks to flatten the curve,” like everyone else. All the chatter was in Slack. A surprise mandatory meeting on a Friday is pretty much always bad news.
It quickly became apparent that there were actually multiple meetings that morning. When that was realized, everyone began checking to see what time their meeting was compared to others. Were you in an earlier meeting or a later meeting? Am I in the last meeting? The farewells began even before the meetings happened. The ones in the earlier meetings knew they were getting bad news. When I saw I was in the last meeting, I was filled with relief and with a touch of survivor’s guilt. Obviously, the earlier meetings would be the hardest meetings and the last meeting would be the speech for the survivors. I understand the necessity of layoffs, but that was my most difficult day at the company and one of the most daunting of my life. I said goodbye to a lot of great people that day. Some of them were hired back over the next year, but many of them moved on. I still hope to work with more than a few of them again sometime.
After the distress of that day, we spent the next couple months in crunch time, working overtime. This means that I had some of my most productive work for two or three weeks, followed by the inevitable nose dive into burn-out. However, the burst of productivity, the forced refocusing of the leadership on what the company needed to do and be, helped lead to one of the best days of my career.
Hard Times Don’t Last
On May 26, 2021, just 14 months later, ZipRecruiter went public. Being listed on NYSE was really the culmination of years of work and it was great to be part of that work. It was one of my career goals to take part in a public listing, so I have that checked off the list now.
When I started, ZipRecruiter had fewer than 200 employees. Now, the company has several times that number. They have a product that I believe really aims at helping people at their most vulnerable. They try to do the right thing for them in the process and in a market that is going through a great deal of flux right now.
My previous employers worked to meet a market need, but I feel good about what we’ve done at ZipRecruiter, more so than just helping companies track inventory or counties collect taxes or accounting firms network and use more efficient processes. It has been an excellent ride. I am proud to say I worked at ZipRecruiter.
All Good Things Come to an End
So why am I leaving? I have a complete list filed away for myself that I won’t share with anyone. That one is kept secret because it includes those petty and stupid complaints which are not a serious reason for quitting a job, but those reasons, when added together, are important to me.
I have another list that I have shared with ZipRecruiter in my exit survey with the specific aim of helping them get even better at what they do. That one is for their eyes only because I like ZipRecruiter, it’s a decent company, they have great people, and I sincerely want to see them improve further. Leaving ZipRecruiter is genuinely difficult for me to do and I do so with mixed emotions. Leaving has been hard this time. I’ve never had a hard time leaving a company before and it’s been harder than I expected.
However, here are my reasons for moving on:
- It has been a good run. I feel like I’m a little bored. I want a new challenge. My work for ZipRecruiter was not quite my dream job. Maybe the next one will be.
- ZipRecruiter has outgrown me. With corporate growth comes corporate responsibility–and increased compensation and benefits, of course. However, I’m not a very responsible corporate citizen. I find the increase in policy and procedures to be a bit too stifling. (That’s true even though I helped write some of those policies and procedures.)
- I learned so much at ZipRecruiter over the past seven years. Much of that knowledge can’t be used to help ZipRecruiter where it is today. I want to go someplace where I can put that knowledge to use and help my new employer succeed.
That middle point really is the key, though. Going back again to what Mark said about ZipRecruiter 7 years ago: I too like working at the company that’s happy that I did whatever I thought was useful at the moment. That sort of work-style is most feasible in an immature and smaller company. As companies grow, they have more need of coordination between people and groups, which makes that sort of flexibility more difficult. That’s just reality and my way of doing things is not better, but it is my preference.
One Last Anecdote
In conclusion, I want to end with one last anecdote. We now go back in time to 2016 to a hotel ballroom in Santa Monica. It was one of those hideous ballrooms with high ceilings, tall windows, over-the-top crystal chandeliers, and horrid, heavily upholstered curtains that seem to be the norm. The room was arranged with round tables filling the room to capacity so you had to squeeze between the stackable chairs to find your seat. Every table had a white tablecloth and laid out with silverware, crystal, and a couple water pitchers so we could eat lunch there later. That is, a standard corporate catered affair.
It was the last all hands meeting where everyone in the company could fit into a single ballroom. This same ballroom would barely be able to contain the entire engineering team just a couple years later. I remember that I sat with that first team I had worked with. Our project had only recently been cancelled. We were still in the process of figuring out what each of our new roles would be. They were still my people and they were a good group to chat with about what new things we were doing, what our kids were up to, etc.
Like every other all hands meeting, Ian got up and stood in front of the enormous projection screen and gave his semi-annual pep talk. Ian is really good at these. Most of my CEO pep talks have been preachy or forced or just not very inspiring. Ian’s talks are a little more like one of those Captain America pep talks just before the Avengers go save the world again (though, he’s no Chris Evans, sorry Ian). Let’s just say his batting average on these is pretty high. During this one in 2016, he said one of the oddest things I’ve ever heard a CEO say.
Ian said (my paraphrase from memory), “Most of you are not going to work at ZipRecruiter forever. Things are going great. Don’t worry. I don’t have any bad news today. But I want to say that when you’re at your next great job, no matter how awesome it is, I want you all to look back and say, ‘You know what, my best job was at ZipRecruiter.'”
I hope that’s not literally true for me or any of my other coworkers. I’d like to think my best workplace is still ahead of me. However, in the spirit of Ian’s intention, I think the statement is true. I do feel that during my time at ZipRecruiter, the founders and leaders at ZipRecruiter did make an honest attempt to make it a really great place to work. They certainly haven’t always succeeded, but all in all, ZipRecruiter is definitely one of the better ones. They have certainly been the best employer I’ve worked for so far. I’m proud to be able to list seven years at ZipRecruiter on my resume and I look forward to hearing about what they are doing in the years to come.
Farewell and cheers!