Finding Intrigue in the Exasperating

Stardate: 98947.63

“Everything that needs to be said has already been said. But, since no one was listening, everything must be said again.”

— André Gide

Five days from today, it’ll have been a month since I began working in the software industry as a web developer. This moment marks the culmination of a journey that started in August, 2019 with an acceptance into Lambda School for a full-stack web development course. ​​To people who follow me on Twitter, this record of events will be a little confusing. Understandable. I consider this the official start of my development career, for reasons I intend to go into in a future blog post.

I didn’t make this career switch with any illusions about the difficulty - both in learning, and in the job-seeking. Still, certain aspects of this process came as a mild surprise to me. It seems to me that the path to becoming a software developer requires a varying mixture of privilege, stubbornness, optimism and luck. Your base intelligence will only take you so far - the rest of the journey is marked by grit, relationships, community support and a factor of gregariousness that I haven’t been able to quantify.

It takes a village, so to speak.

While the memory is still fresh, I thought I’d write about things I observed that might be helpful for early-stage developers on the path to proficiency. YMMV ​​Your Mileage May Vary. , of course. I make no objective, authoritarian claims, and everything I offer here is based on my singular, non-rigorous perspective.

Start your application early (but not too early)

Read enough community banter (wherever you get your banter from - Twitter being a favorite), and you’ll quickly internalize the gist that hiring in tech is broken. It’s a maze built by a madman who forgot the way out. The glut of developers strains against a well-intentioned but poorly-constructed mesh finding proxies for experience, competence and/or potential for high-growth employees.

Because of this, learning to apply to a job is a valuable skill, in the same way you learned to write code. The application process, much like the code-writing process, is a practical process, and there’s only so much reading you can do. So, read ‘Cracking the Coding Interview’, but don’t forget to actually do the interviews. Don’t start too early - when you’re too green - or the negative/downright harsh feedback may seep into your soul and convince you - wrongly - that you’ll never make it here.

I think the best time to start applying is when you understand the fundamentals of your industry. To find this out, do a Google/Stack Overflow search asking what do I need to know to work as a ${role}?

As soon as you have covered enough of your bases, head out into the world and begin applying for relevant roles. The reason it’s important to apply early is that each application gives you insight into the hiring landscape. You’ll find the same questions cropping up all over the place, forcing you to polish your understanding of areas you overlooked in your development journey. You’ll also develop a pattern-matching brain for bullshit job openings.

Expect to be rejected.
A lot.
It’s not you.
It’s not even them.
IJWII ​​​​it's just what it is.
So, apply.

You probably think you can bullshit your way to a job.
You can’t. Also - don’t

The thing about ignorance is you don’t even know what you don’t know. A development team worth joining is made of people who know more than you do, and they’ll sniff out bullshit faster than you can spew it ​​​​(A corollary to this: if a company is unable to see through your bullshit and offers you a job, you’ll find out soon enough that it should have been your first clue to run, head-first through a window, and to keep running. Odds are they have a sloppy hiring process or they’re just clueless. Either way you’re going to be hired, and you’re going to find yourself in a hot mess.), so represent yourself fairly, honestly, but never self-deprecatingly.

Understand that an interview is essentially a prospecting enterprise - with the interviewer trying to understand what kind of person you are. You have a social contract to represent yourself properly.

You may be worried that the candidate pool has far more impressive candidates, so you have to become ‘creative’ with your accomplishments. I think that’s a very limited way to think of things.

Sometimes, you’re applying to a company with a codebase/process so complex that it doesn’t matter what you’ve done with your life so far, but what what you can do going forward. I do think a portfolio is one of those inefficient proxies that are at least good enough as a shortcut to guesstimating your potential.

Beyond a point, your interviewer is trying to match what you’ve done with what you can do under the right environment. Bullshitting immediately obliterates any good faith considerations.

Speak clearly, give it your best shot, don't be afraid. ​​​​image

Forget everything you know

Just kidding.

But you will. Forget everything, that is. Over and over, everything you learned about code will slip through your fingers, and you’ll only realize this when the interviewer asks you “what is a function?”

I just want you to know it happens.

The antidote to this is hitting the books and the projects again and again. The good news is that re-learning forgotten things is 100x faster.

Write, because that’s the only way to ‘see’

A man wiser than I am said “what gets measured gets managed.” That man went on to become Beyoncé Giselle Knowles-Carter. ​​​​Just kidding - it's Peter Drucker...or is it? Here's a fun Medium piece completely obliterating the quote I was using to lead up to this point. PAIN.

The most important thing I did when I started applying to jobs was to track everything and document the process.

I logged everything:

The wording of the job application

The HR tool used (you know, BambooHR, Lever, them things)

The contents of my cover letter and attributed a measure of conversions (that is, positive responses from the recruiter) to it (can’t quite quantify luck and serendipity, I’m afraid).

You get the idea.

I noted the questions I was asked, breaking events (such as bad internet, flopping a presumably simple task), the behavior of the interviewer, notes on if they looked at my resume, GitHub, portfolio (I often nudged the conversation in that direction; helps to know how much preparation the interviewer does before talking with candidates).

In a nutshell, I tried to measure and note everything. I imagined myself to be a detective trying to connect unrelated events in a serial killing to find leads to pull on.

The outcome was I streamlined the kinds of companies I applied to. I would look at a job opening, match it against my notes from previous applications, decide if it was worth it to even write an application. I’m sure there were a lot of false negatives, but I suspect the optimized application flow was worth it.

Identify your strongest quality. Lean into it

Depends on you, honestly. Mine is my affability and charm. ​​​​We laugh, but it's true.

Write a short note of your ideal team setup

I find that people overindex on the kind of company they want to work at, and do little thinking about the kind of team they want to work with.

I’ll share my list with you:

What? I did say it was a short list.

Have a desperation buffer

This is where that privilege I talked about comes in. To have the stamina to endure a daunting job process, you must have ‘stamina money’.

I’ll be honest with you: I had a rainy day fund I’d been putting together since I got accepted into Lambda, and it gave me the resilience I’d otherwise not have.

I have no broad advice to give here, only a note that you should know the journey can be long, so get ready for it.

Be curious and pleasant

Fall in love with knowing things. It transforms your job hunt from a chore to yet another knowledge-seeking game. Be pleasant - make your interviewers and recruiting officers feel as good about themselves as you hope they feel good about you.

As Peter (the Apostle) said, “Treat everyone with high regard: Love the brotherhood of believers, fear God, honor the king.” ​​​​And who's this king, if not Beyoncé Giselle Knowles-Carter?

Pay it forward. Share what you’ve learned with others

In sharing you’ll have internalized the lesson, and paying it forward gives you cheap goodwill at scale.