You should be interviewing

I posted this as a tweet thread, but for once I think it could benefit from being posted here where it’s linkable, etc.

I’ve been thinking lately about this guy I used to work with. He was a manager, and he coached all of his direct reports that they should be doing at least one first-round interview for a new job per quarter.

At the time I thought this was kind of loony, but I have very much come around to his line of thinking. For one thing, interviewing is a skill, and as with many other skills, you improve with practice.

And it is far far easier to practice the skill of interviewing if you’re already gainfully employed, and especially if you’re happy in your current job. The stress factor is lower & you can thus focus on your performance without the fog of excess cortisol to fight through.

It’s also an opportunity to improve your understanding of what other people in your field are doing — any interview should be as much about you learning about the company as the opposite, and it can be eye-opening to hear how other people are tackling problems in your domain.

Along the way, you can also build your network outside of your own company, which can have many positive impacts regardless of whether you leave or stay put.

But what about the employers doing the interviewing? Aren’t you wasting their time if you’re happy in your current job, and unlikely to leave? No!

For one thing, they can probably use the practice too. Some people (like me) conduct interviews for a living, but at a lot of companies, interviewers have other jobs, and only do it when there’s a pressing need.

For another thing, anyone hiring for a position should welcome the chance to talk to anyone qualified for that position — speaking to the widest possible range of candidates is the best way to set a baseline for your own expectations.

And! You may think you’re happy at your current job and aren’t thinking of jumping ship, but how do you know for sure? Giving someone the chance to pitch their opportunity to you isn’t wasting anyone’s time.

Now, the one major caveat I will include here is that first-round interviews are one thing, but going the full distance becomes increasingly expensive for both parties, and you should gauge your interest at each step.

As a hiring manager, the most painful part of my job is the offer process (although my current staffer rocks and makes it a lot easier). If you take me all the way to the offer stage with no real intention of seriously considering the offer, I will definitely be annoyed.

But any well-constructed interview process will have multiple checkpoints, so there are multiple places where you can pause and gauge interest. If you’re genuinely doing that, then you’re not wasting anyone’s time!

Which is why I’m now firmly on the side of my former colleague. Get out there and interview!

p.s. the guy I’m talking about got a new job & left the company like 6 months after he told me about his philosophy, so . . .

You should be interviewing

Why I think cumulative GPA matters

I wrote this in response to a question on quora, but I want to stash it here for future reference:

I have given this question a lot of thought over the years, and have gone back & forth in my opinion about the importance of GPA, and particularly cumulative GPA. At this point, the culmination for me of all that thinking is that I *do* believe that cumulative GPA is an important criterion.

To explain why, you’ll have to indulge me for a few paragraphs of seeming digression. I promise there’s a point coming. If you must, you can skip down to the bullet points below, although you’ll lose some of the context.

The nature of our industry has changed enormously over the past 30 years. There was certainly a time in the past when the standard operating procedure in the tech industry involved hiring lots of coders, sticking them in a windowless room somewhere, and feeding them stacks of detailed technical specifications which they converted into code, with the assistance of pizza & caffeine.

One formal name for that process was the “Waterfall Method” of software development, in which some non- or semi-technical person talked to the customer, gathered their requirements, handed them over to a somewhat more technical person who translated them into a tech spec, which was in turn handed off to the coders to code. Their code was then handed off to the testers to test against the original requirements, and if all the tests passed, the end result was delivered to the customer with a handshake and a wave goodbye, possibly a year or more after the project started.

This was, of course, terrible, if the goal was to actually please the customer. Maybe the folks recording the requirements got it right – and maybe they didn’t. Maybe the person translating those requirements into a spec got it right – and maybe they didn’t. Maybe the coders were able to accurately convert that spec into working software – and maybe they weren’t. Maybe the customer’s requirements hadn’t changed during that year – but they probably had.

There is a reason why pretty much the entire industry has converted to variations of Agile software development, a process whose foundation is based on getting continual stakeholder feedback, and which by its very design puts the developers into more direct contact with customers.

Couple that with the rise of the web, and more recently cloud, and what you have is an industry where much smaller teams, consisting of a mix of coders, designers, testers, product managers & business people, are developing software over very short time-scales, and in intimate communication with their customers on a weekly or even daily basis.

Sounds like the recipe for a successful startup, right? It also sounds like the recipe for a successful Extreme Blue team, and that is intentional.

But what that means is that everyone on the team has to be good at a wider variety of things. Our software engineers need to be good at coding, but they also need to be good at:

  • communicating with teammates and customers, in clear language, using the appropriate level of technical detail depending on the audience
  • juggling multiple timelines and multiple, sometimes conflicting, deadlines
  • working with stakeholders to evaluate and constantly reprioritize pending work
  • understanding customer pain points and translating them into software solutions that actually solve those pain points
  • identifying roadblocks quickly, notifying stakeholders of potential risk, and asking for help

The more that I have thought about cumulative GPA over the years, the more I have concluded that while it’s by no means perfect, it is still a valuable indicator of a student’s ability to be successful at all of those bullet points above. Your required non-major courses [hopefully] help you learn how to communicate more clearly, and also give you perspectives that are different from your own – perspectives which might be similar to those of your future customers.

Having to juggle 4-6 courses per semester, and perform satisfactorily in all of them, is excellent training for the multi-threaded, multi-tasking nature of modern industry. Time management is critical to us – if we tell a customer we’re going to ship on a certain date, we either need to ship on that date, or we need to alert them as far in advance as possible that we’re going to miss that date.

And recognizing that you’re struggling early enough to raise the alarm, ask for help, adjust expectations, renegotiate priorities (or drop the class) is a critical part of that.

To be brutally honest, cumulative GPA also tells me how good you are at digging in & doing stuff that irritates you & which you would much rather not be doing. Because EVERY job has some of that. EVERY JOB. I love my job more than any other job I have ever had – I have told many many people that I think it’s the best job at IBM – but there’s still occasionally some stupid thing I don’t want to do. Thankfully my parents’ and teachers’ [unwanted] attention to my grades back in the day gave me the focus to power through the occasional TPS report & move on to the fun stuff.

Why I think cumulative GPA matters