3M – 2015

A recruiter called me. She told me that she had found my profile on LinkedIn, and had an opportunity that she thought I was uniquely qualified for.

She was recruiting for a company that needed experienced C programmers. I said,

“Did you say C?”


“While it is still the language I am most familiar with, I haven’t programmed in C in earnest in at least 15 years…”

“Well, it is hard to find people who have this experience.”

“Whatever is the software if it is written in C?”

“It’s a system that has both server components in Java, and embedded Linux parts in C.”

Huh. She then told me that it was 3M, which, at the time, was the closest tech employer to my house. Which was cool.

3M left. Then the holding company declared bankruptcy, and the county was going to have a foreclosure auction. That was halted by a judge. And then somebody painted half of the buildings. It’s an empty, creepy place now.

So I said, “OK, but I’m not cheap.”. She then had me connect to a Google doc and answer some screening questions. Some of them were very basic (“On a Linux command line what is a command you could use to copy a file?”), some of them were technical C questions (“C programming question: How would you set (set to 1)  bit 7 in an 8 bit byte?”), which I could do, and then others were networking questions (“In TCP/IP what are the names of the 4 layers?”), for which I had nothing.

Seemed to be good enough, though, so we scheduled an interview.

Turns out the group developed a system that 3M sold around the world to do electronic toll collection on roads.

It’s actually a pretty cool system

I had four technical sessions, 3 about C programming, and one about shell scripting. I had a really good time; the engineers that I talked to were happy to talk to somebody who knew C. Some highlights:

  • They asked me to do some kind of low-level bit manipulation combined with math operations. I asked them, “Can I assume that this is a 2’s complement machine? Because I am really rusty with 1’s complement.”
  • They asked me to write a shell script to traverse a directory hierarchy and do something with matching files (let’s say files that end with .o) I wrote:
find . -name \*.o -exec my_operation '{}' \;


which means, “Starting in the current directory, find every file ending in .o. For all matches, execute the my_operation command using the resulting file name. And that’s the end of this command.”
They said, “OK, Mr. Smartypants, do it without the find command, which uses way too much memory for our devices.” I told them I did not know bash/sh/zsh that well; I usually used python or ruby when I needed to do something that complex. I guessed at some kind of syntax, but I know it wasn’t right. We had a good laugh over that.

They then showed me their lab, where they had cameras, and toy cars, and all kinds of cool toys. Their recruiter drove me around campus, where they had an electronic tollbooth setup for testing purposes.

A good, fun day.

A couple of days later, the recruiter called and said that they wanted to hire me. When she had talked to me before, she had asked what I was currently making. I told her about my salary.

Now, she was offering more than that, but there were a few problems.

  1. 3M rarely hired permanent employees when they started at 3M. They would be contract, W2 employees of another company, with the hope of being converted to permanent after a year. This usually meant:
    1. Hourly work
    2. No holidays or PTO paid
    3. Inferior (or no) medical insurance for several months
    4. Delayed participation in a 401(k) plan.
  2. They had not asked me about secondary compensation, and Mozilla’s bonus program was pretty generous. So their offer was short of what I was used to making from a total compensation standpoint. It was a mistake not to tell her upfront, but I just forgot.

They actually went pretty far to try to get me. They raised the salary as high as they said they could. They offered full medical, full 401(k), and 3 weeks paid PTO. It was flattering.

However, I could not afford the pay cut. When I told the recruiter that, she got very angry. She said things like, “You really screwed me!” and “You’ll never work in this town again!”

I would have had fun working there, at least until 3M closed the place a couple of years later. But that recruiter was not somebody I want to deal with again.