How not to do a job search — happy ending

Matt S
12 min readSep 3, 2018

--

Good news everyone! This post should be a lot shorter than my previous epic - which you can read here.

As you may remember, we left of with your hero fumbling the ball all over the field on his job search. Ok don’t leave us hanging! Did things improve? Well luckily in this game you only have to score once to win.

And I found a magic book!

Essential reading

After writing the first blog post and waiting for it to go viral (lol), I had a few more interviews for contract and full time positions, which unfortunately all seemed to get further and further away from my home.

I was also getting tired of the 300 emails and phone calls a day from some kind of Indian call center thing where they just seem to match you with random cities and jobs. They always call, then email. Sometimes even text too. I even answered the phone once and asked them why they were calling about a Java job in Dallas. “Well I know you said you weren’t interesting in relocating. But I just thought I’d try anyway.” So basically shotgun approach. Cool.

I’ll miss my friends

One actual interview was for a contract job at a big university in LA. It was a long drive and didn’t seem that interesting. I almost didn’t go. Which would have been a bad decision. The job turned out to be a great opportunity to learn a lot more of two big skills that I want to pick up: AWS and more DevOps. I would be the “architect” (shudder) to design a microservices framework from scratch (awesome!).

I hit it off pretty well with the hiring manager, and they made me an offer almost immediately. She must be insane because she simply looked at my resume and asked me to describe some projects I’d worked on, problems I’d solved, and how I think about software architecture. How in the hell can she hire me w/o knowing my thoughts on prototypical inheritance or whether I can whiteboard a Sudoku in 5 minutes? So old school.

I wasn’t too sure about the drive. I had one potential offer coming in, and a couple more in-person interviews over the next few days. So I told them I needed time to decide. Which always sends recruiters into bonkers mode.

Time for all communications with the recruiter to go digital and asynchronous. I declined the numerous calls and gave them periodic updates. No I’m not really interested in sitting on the line for 30+ minutes while you try to put together some magic sequence of words that will get me to say yes. (Spoiler: I did say yes eventually.)

Meanwhile it took a week, but the other 3 opportunities didn’t really take off. I might have been a little pickier, knowing I had one already in the bag.

One interview was an altruistic-y startup where I hit it off well with a top engineer in person, but didn’t really connect with the CTO on a phone interview. I did a fairly hefty take home assignment for them, which was fun and much needed practice. No regrets there. But I didn’t get any sense of the vision of the company from the CTO (picky now aren’t we?). Also it was a rough commute. I told them I had said yes to the other job before hearing back. I have no idea if they were interested. They basically said they weren’t in a big hurry to hire, which could mean there’s not much to do at the moment.

Another possible offer I was waiting for was actually my first in-person interview of this whole process — where I was so rusty. This job was a much better commute and seemed like a fun place to work. I was a finalist at least, so I must not have completely bombed the whiteboards. However in this job market if they put you off for a week because they’re out of town or whatever — it’s not a good sign. If they put you off for another week it’s Reek territory.

Initially I really hit it off with the CTO and the team when I did my interview. Then a week later I met up with him and the CEO for a ‘cultural fit’ type interview. It went ok I thought, but I didn’t fully connect with the CEO. He seemed to really want me to be a gamer — which is related to their product. I used to play video games a lot until finally decided to back off for time’s sake. I’m just not good at time-boxing things like that. I get sucked in.

I felt like being an older dev I was already batting with 2 strikes as far as fitting in, the gamer thing ended it. Maybe I should have said something like, “No I’m not currently a gamer, but I’d certainly get back into it.” Which is more or less true. I got the impression I was a long shot anyway. “We wouldn’t be here talking to you if you weren’t a finalist” — doesn’t seem like something you say to a candidate you plan to hire in the next day or two. It sounds more like a consolation prize.

Anyway long story short they strung me along for another week then said no. I had already said yes to the university gig by that point and really wanted to be the one to tell them no. Dammit.

The other interview was by far the most interesting and insightful. It’s really the only reason I’m writing this post.

I had a phone screen with the head of engineering which went really well. He mentioned they had a “grey beard” (nice, I’ll have some company) who owns patents and wrote half of a major web utility’s software. Cool, sounds like a great guy to learn from.

When I get to the in-person interview, I meet first with the head of engineering, then I am to meet with exalted Greybeard.

Note: everything that follows is just first impressions. I don’t put much stock in first impressions because they often turn out to be completely wrong. So the caveat is I have no idea if I even read the situation right, but the insights it led me to ring very true.

Right before Greybeard comes in, the head of engineering says “You worked with Spring right?” Yeah, like 10 years ago. “Did you like it?” Well the config files were kind of annoying. “Um, don’t say anything bad about Spring, Greybeard loves it.” Ok.

Greybeard (which was really more like bald with salt & pepper goatee) then proceeds to trash node for the first 15 minutes of the interview. He knows I’m basically interviewing as “the node guy”. Sweet. But other than that, the meeting went fairly well. We muddled through a whiteboard problem that even he got confused on.

And now a cheesy stock photo because too much text is boring and I need it as my featured image for this blog.

Welcome aboard!

The next interview segment was 3 young junior-ish devs. One of them was astounded I couldn’t wear shorts at my last job — lol. We looked at my whiteboard scribblings and I made some comment like “Well I think I at least didn’t fail.” One of them made a similar comment like that’s the best they could hope to do with Greybeard. The other two laughed a little. I got the feeling they were intimidated by Greybeard, and my role could be to bridge the gap somehow. Hmmm. I got along alright with him. That might work.

But I could also see myself butting heads with Greybeard on node stuff. Basically with node, from my experience, there really isn’t room for more than one chef in the kitchen. A chef and a few cooks maybe. But not two chefs. It’s just the nature of the beast. I’ve been in a node kitchen with two chefs that didn’t go well. Two greybeards in the kitchen could turn into a stabby situation.

The last segment was the CEO — a very young founder. He seemed pretty sharp. We didn’t completely click, but it wasn’t too bad.

I probably didn’t come off that well — as I got hung up and distracted for half the interview that I couldn’t remember Taylor Swift’s name — wtf? ARGH! (FYI — it was relevant to what we were talking about.) That kind of thing really throws me off because I go into my “crap am I too old?” internal monologue and things just spiral downward from there. And of course I can’t just say “You know that blonde mega popstar that Kanye dissed at the Grammys? Really close with her mom? Sorry I can’t recall her name right now.” They’d look at me like “Taylor Swift?” — and rightfully think holy crap how out of it is this guy?

Anyway the takeaway from that segment other than I suck at names — was I wondered if they brought in Greybeard to balance out the age a bit and show investors they weren’t all kids?

As an aside — that’s the biggest concern I have with startups. You never know which decisions they’ve made because they think it’s the best way to build the company, and which because they think it’s what investors want to see. IE — investors ask “How can you be positioned for growth with only 4 engineers?” So they hire 10 rockstar engineers who all compete for scraps, while the marketing team tries to get hockey stick growth going. Or they could be obsessed with making the company look good for a sale, instead of building the product. Etc.

I actually liked everyone I talked to, including Greybeard. They were straightforward and seemed very on the ball. Which is all I ever ask for. I don’t care if we don’t fully click, I just want to try sniff out stuff like snakes in the grass, nothing interesting to work on, and internal dysfunction. My only issues were the commute and the question about whether I’d be butting heads in the node kitchen. A couple days later I told them I was taking the other job. I don’t think they were in a rush to hire me either.

Anyway, I’ve had a lot of soul searching about the whole Greybeard situation. I wonder if despite his technical expertise, the bosses aren’t 100% thrilled with their current situation. Would they have done things differently if they knew what they were getting into, despite Greybeard’s expertise?

My big personal revelation — is that I bet everyone’s worst fear in my job interviews is I’ll become Greybeard if they hire me. So instead of my technical skills, maybe my number one point of emphasis should be to convince them I’m not Greybeard*. My strategy should be:

#1 Stay positive 100% of the time.

#2- Maybe dress younger —like wearing nice sneakers instead of black dress shoes. If anyone else watches Succession on HBO — you should get a chuckle out of this.

#3–10 Stay positive! No bitching! No snark!

Maybe I should have bought these for my interviewing instead of after I got the job?

(*Or at least the avatar of Greybeard I’ve made up in my mind. Again, he could have just been having a grumpy day fighting node, and I read the tea leaves all wrong with the junior devs.)

But you know what? On my worst days I probably am Greybeard. It’s pretty freaking hard to do this job for 20+ years and not become a bitter old crank. Every dev gets a little salty when you’ve built most of the system and have to work with inexperienced junior devs — mostly just as a defense mechanism so they’ll only bug you when it’s important. You really have to lean against the grump— which I do my best at. But I’m not always successful.

However I love teaching and mentoring junior devs. And they always know I have their back. So hopefully that balances out. Gruff but lovable — like the Dad in Modern Family — that’s what I’m going for.

Also big companies have a ton of bitter old cranks. So you fit right in. You can even be the 3rd most grumpy “greybeard” in the office, and get a big win out of not being as bad as Old Bob.

I guess I’m just destined to do tech jobs for big non-tech companies. Could be worse — the teams are usually diverse, all ages and backgrounds, and no one is too full of themselves. I made at least a dozen life long friends at my previous job — and twice as many more professional contacts. Also you tend to get thrown into the mix right away, whereas a startup full of rock star devs has a lot of mouths to feed. At least based on my small sample size.

I also had some extremely valuable takeaways from all those interviews tht I think will serve me well in the coming years. Maybe nailing the first interview you go to isn’t always the best thing.

One huge takeaway is that what I thought I was looking for morphed throughout my job search. In the beginning I was looking to leverage node and either learn more front-end or learn some back-end. By the end I realized the back-end is where I need to be. There are no Greybeards in the front end. Experience just isn't’ that valuable since everything changes so fast and the hot new framework rotates every few years. I went to AWS Summit my first week on the job. There were plenty Old Bobs looking grumpy as hell about having to learn this new cloud crap.

So it’s on to University for me! Of every interviews I went on, this seemed by far the best opportunity to learn and grow as a developer. I was excited about it as soon as I finished the interview and really the commute was the only thing holding me back. I love being thrown in the deep end — there’s nothing like it for quickly ramping up on something. It pays well and is contract-to-hire. I’m pretty stoked at how things turned out, even if the process was a little messy and confidence-shaking.

I know I’m very lucky to work in such a white hot field that a 4-week job search is considered an ordeal. I joke around, but I definitely don’t take it for granted. Nor do I assume it will always be like this. When I was a kid, I sat next to a guy on a plane who told me he was selling flooring because the bottom dropped out of the aeronautical engineer job market. I always thought that would happen to software engineering at some point in my career. But now it’s looking like maybe I can ride this wave 10 more years and off into the sunset.

And I’m not quite ready to go full Greybeard just yet. First I have to establish brogrammer dominance at my new job!

Tuesday

After Monday’s display of physicality, you need to spend Tuesday getting your development environment set up. Checkout your team’s code from the git repo and start ramping up. If your new team doesn’t use git, announce your resignation immediately and walk out.

Eat your hard-boiled eggs sporadically throughout the day, but save one. Do not take any breaks except to mix protein shakes. Remember that you should be consuming one gram of protein per pound of body weight, or per line of code written — whichever is greater.

Spend the rest of the day familiarizing yourself with the team’s codebase. Every five to ten minutes, let out a deep sigh and write something down on a notepad. Maintain a demeanor of mild disgust on your face that gets increasingly more annoyed as you browse through more and more of the code. Mumble words like “refactor” and “rewrite” under your breath. Start drawing random complex architectural diagrams on your whiteboard. By 3 PM you should be visibly angry. Eat some chili peppers to force yourself to sweat. At 4 PM, allow your rage to boil over and throw your last egg at the wall in a fit of rage. Slam your laptop closed and head home early.

--

--

Matt S

Full stack developer, serious road-tripper, avid landscape photographer, prone to long-winded UI/UX rants