Indeed – 2024

I haven’t written in a while; life happens. I do have a few more interviews to write about since I wrote last. But that’s not what I am writing about today.

Today, January 24, 2024, is my 2,380th day at Indeed; I started here April 25, 2016. This is now officially the longest I have ever been at one employer. I worked at Claris from June 14, 1988 through March 15, 1996, which is 2,379 days.

So, what makes Indeed special enough that I have stayed for almost 8 years? Claris was a fantastic place to work; the only reason I left is that I was not acquiring new skills and I had limited opportunities for growth.

That has certainly never been the case at Indeed. I was initially hired to work on the web front end of http://www.indeed.com, despite only knowing enough Java to pass a summer course in 1997, and having never worked on a web-based product. For at least two years, I came home every night with my head spinning; I learned more during that time that at any time since college and my first two years afterwards (including my first couple of years at Claris). That team also had the iOS Job Search app in its portfolio, so I was able to expand my iOS skills at the same time. The iOS app exposed me to a new-to-me way of writing apps, using webviews to reflect Indeed pages for most of the work. I also had to learn how to write code on both the client-side and server-side for web-based APIs.

That learning continues. I worked on a team that developed a large Federated GraphQL server with a lot in individual smaller GraphQL servers connected to it. The best layman’s description is that we used a new technology to enable various teams at Indeed to put their data into a central place where all of Indeed’s software can get to it in one place. I also implemented a couple of those smaller servers. And in 2022, I joined the team that took over the iOS Job Search project. iOS has changed a lot since 2016-2017, and it has been a delight to hone my skills in Swift and SwiftUI.

Another really great thing about Indeed is that Engineering basically runs itself. Most of the time, the smallish teams decide what they are going to work on based on business goals, and decide when to work on it. Engineers have a level of autonomy unmatched by any other place I have worked.

I also really love what we do as a business. To this day, when we hire somebody, they get an Indeed tee-shirt that says, “I help people get jobs.” in Indeed blue. And everybody here takes that seriously. Management fully embraces that the job seeker comes first, and any change that hurts the job seeker experience is not made.

But the single biggest reason I stay is the people. People at Indeed are smart and friendly. Managers care about the employees more than just about any other place I have been. I feel like I can trust every single person I work with to do the right thing most of the time, and they trust me to do the same.

Indeed is not perfect. When I joined, we were a largish medium-sized company, with somewhere around a 1000 people. I was connected to every single person in the company through at most two, sometimes three other people. Engineering had a large role is defining the business goals. Most of the engineers fit into two medium-sized buildings in Austin.

We hit a huge growth spurt almost immediately after I joined. We grew so fast that we ran out of parking; Indeed subsidized Lyft rides for us, and required us to take Lyft one day/week. There were people, especially managers, that I had no idea who they were or what they did. We had to evolve our business strategy and management style to turn ourselves into a big company, which is fundamentally different. Individual employees have a lot less direct impact on the company, and that can be frustrating.

That being said, we were going like gangbusters until the pandemic hit.

On February 28th, 2020, the CEO sent out an email informing us that Indeed’s leadership team, in partnership with the Indeed data scientists and medical consultants, had determined that there was no way to safely work in an office environment, nor was it safe to travel. We were told we had to start working at home starting March 10, and we had the following week to get everything we needed to do that out of the office. March 12 is the day the NBA suspended its season, NCAA cancelled March Madness, and Major League Baseball cancelled the rest of Spring Training. Indeed had a two week head start.

While that was a pretty ringing endorsement of the leadership, the pandemic hit Indeed’s business very hard, like it did everybody else. We weathered that. In late 2021, with the economy recovering, Indeed started hiring very aggressively. I was doing as many interviews/week as I could do and stay sane, and the interview team would have been happy if I did more.

That all stopped in late 2022. And in March of 2023, Indeed, like many other tech companies, had layoffs.

It’s always hard for everybody when layoffs happen. Obviously, the people being laid off have it the worst. I know; I have been there. Some good friends were let go that day. Most them have moved on, and are back to something resembling normal, but I am sure that there are some who are still struggling.
But for those of us who are left, we all have some form of survivor’s guilt. There were quite a few reorganizations that made getting things done quite a bit more difficult.

But the biggest impact is trust. There is much more open hostility to the leadership team and to management in general. There is open anger and fear on internal chat groups. There is a lingering sense of doom that this could happen again.

I am reasonably confident that Indeed will get through this. My current job is great; my teammates are amazing. I am approaching 60 years old, and I don’t feel that my age is a hindrance at all; indeed, my decades-long variety of experience in software comes in handy quite often.

So, I hope to work at Indeed until I retire from software in a few years.

I help people get jobs.

Indeed – 2016

Indeed Grandview Champion Building A

After the last interview at Google, I did something very unprofessional. I blasted them on Facebook:

Concerning Google interviews: I have been contacted five times, had four phone screens, and three onsite interviews. One was in 2000, before they developed the “Google Interview Process”, and I disagreed with how they were doing things and the hiring manager and I got in an argument. I failed one of the phone screens because I misread the programming problem. The next-to-last onsite, I did not answer well on two of the interview sessions, so I was not surprised I got no offer. But the last one… I felt like I nailed 5 out of 6 questions, and needed one little nudge in the 6th. I could not have possibly have done better, and still got no offer. That’s the one that sticks in my craw. The fact that I have a lot of relevant experience was not important to them.

I guess that wasn’t too horrible. Still, normally, I have a cooler head, and don’t just unload on people or companies. However, this time, a recruiter I know socially commented:

Talk to me about indeed

That evening, both of our boys had a Cub Scout meeting, and she approached me, and asked, “Have you thought about Indeed?”. I replied, “Should I?”. She handed me her business card. “Send me your resume.”

At the same time, at Mozilla, I was having a difficult time. I did not really enjoy automation of Firefox, and was not good at it. I also did not get along with my manager. I am extremely extroverted, and tend to speak whatever I am thinking, and it obviously got on his nerves, even if most our interactions were in chat.

Mozilla had put together a team to do an iOS version of Firefox, and I was extremely interested in working on that team. Right about that time, however, a new mandate from HR stated that all internal candidates for positions had to go through the same hiring process as external candidates. The justification (which I understand) was that Silicon Valley had too many Good Ol’ Boy hires, and Mozilla wanted to keep our candidate stream as diverse as possible.

The problem with that, of course, is that external candidates have been working on the technology full-time. I had a day job that had little to do with iOS. And there were family concerns taking up all of my spare time, so I could not really do open-source contribution on the Firefox iOS app.

So, Indeed seemed like a good way out if I could get the job. I was still applying for the Firefox iOS team at the same time.

The next day, the recruiter called me, and said that they would like to interview for Software Engineering Manager. It had been a while since I had done that, but I had thoroughly enjoyed it when I did. “The first step is setting up a technical phone screen. Could we have a time where an engineer calls you?” We agreed.

A few days later, a very nice woman from Indeed called me. We talked about software engineering process for a few minutes, and then she gave me a programming problem. It seemed really easy, and we wrapped up with about 5 minutes to spare. That felt good!

The next day, the recruiter called: “So, we have decided not to pursue you for Software Engineering Manager.”

“Oh, OK, I understand. Please tell the woman phone screening me thanks for her time. And thanks for taking the time yourself,” expecting that to be it.

“But…”

Huh?

“… we would like to bring you in for a round of interviews for Software Engineer”.

What? Woo-hoo!

Unfortunately, my mother had died the previous weekend, and I had to take care of memorial services for her. So we schedule the interview for a couple of weeks later.

Turns out the Indeed office I was interviewing at was the closest tech company to my house in Austin. That was cool.

I showed up at the designated time. The office was very cool and modern. Screens everywhere. Brand new building.

The day was:

  • Whiteboard
  • Architecture
  • Code Review
  • Whiteboard
  • On-site programming exercise
  • Resume Deep Dive
  • Close

I am going to take things out of order. Indeed has free food for lunch, and it was outstanding. I talked to a junior engineer about release engineering.

I felt like I nailed the whiteboards. I put up good solutions, and they asked extension questions, and I answered those as well.

I did not have a lot of architecture experience. I had a real good time during the interview, but this was not my strong muscle, and we both knew it.

I felt at the time like I really nailed the code review. After all, I found two bugs in the code! But looking back, I wish I had known Java better, and I made some pretty bold fairly incorrect statements about the code (I had never seen the final keyword, since my Java knowledge was from a class in 1996).

The programming exercise involved reading files off of disc, parsing them, and doing interesting things with the data. Most of my programming career, file I/O was done through Mac or Windows APIs, and those APIs were not appropriate 20 years later. I had also done a lot of file i/o work with Tcl/Tk, but Tcl/Tk was not on the laptop provided, and was not a modern technology anyway.

I told the proctor of the test that I either had to learn File I/O in Python, or string processing in Java (well, for that matter, File I/O in Java, to be honest). It was a 90 minute test, and I spent the first 20 minutes writing the code to read the file and break it down into pieces I could work with. I outlined about 20 steps necessary to finish, and I got through 16 of them before I ran out of time.

A manager talked to me about my career in the Resume Deep Dive, and we talked about the last project I was writing automation for at Mozilla. Don’t remember much else.

And the close, they basically asked for my feedback about the interview process.

One side note: They had moved into the building no more than 3 weeks earlier. The conference room I was in had a giant raw wooden door. I was wondering if maybe they were recycling building materials (Red Hat San Francisco office did that). But no, when they moved in to the new building, several conference room doors shattered, so the wood was a stopgap while they were redesigning and redeploying the glass doors.

Two days after the interview, the recruiter called me, and gave me an offer! As a Software Engineer!

I was on cloud nine.


There was a deadline on the offer. I was still trying to get onto the iOS Firefox team. They had given me a homework problem, a toy app to write. My plan was to write it in the evenings and over the next weekend, and submit it. It was better, I thought, to stay at Mozilla if I could.

However, the deadline for signing the Indeed office came up quickly. I decided to accept the offer, and if things worked out with Mozilla Firefox iOS, I would consider rescinding my acceptance.

The day after I accepted the offer, I had a 1:1 conference video with my Mozilla boss. When I connected, somebody I did not recognize was in the call. I apologized, and said I must have the wrong room, but he said that I was in the right place.

This was a very bad sign. I was wondering if I was being laid off.

My boss showed up a couple of minutes later, and said, “This is <REDACTED> from HR. He has some things to say.”

<REDACTED> started in, “We are putting you on a Performance Improvement Plan for the next six weeks…” and started describing all that meant. Two things it did mean:

  1. I could not change teams while on the PIP. So, goodbye Firefox IOS.
  2. Mozilla paid generous bonuses. 50% of the quarterly bonus was based on company performance, 50% was based on my performance. My half was forfeit for any quarter where I spent time on the PIP, and the six weeks overlapped the quarter boundary, so I was guaranteed not to have a personal bonus stake for another six months.

Well, that made the decision easier. However, I did not want to miss out on the company bonus for the almost completed quarter, so I set my start date for the third Monday in April. If I had given notice before March 31, I would have lost my bonus. So I gave two weeks notice after April 1st.

Turns out Indeed is amazing, and I am still very happy there.


I’ll just leave this here:

Google Ends Age-Discrimination Suit with $11 Million Settlement