Congratulations! I’m glad you get a chance to grow your team and build something huge.
I might be able to help.
Suppose you want to hire me specifically.
I feel so validated :). Thank you for appreciating the work that I do.
I’m about to explain some stuff. That stuff might make it clear either that I am perfect for your team, or that I’m definitely not a fit for your team. If we’re not a fit, this will save us both some time!
At any point, please feel free to skip to the section called “You’re not a fit, Chelsea. Who else do you know?”
What can I do?
I focus on building maintainable, resilient software, and putting the pieces in place for your team to do the same. I’ve done mobile. I’ve done server. I’ve done compiler design and machine learning models. I’ve had fun doing everything, and I’d do it again, in any language. I even think the annoying stuff has value. I encourage my colleagues and pairing partners to laugh at me when I get mad at computers.
I think a lot about context sharing, risk mitigation, and debugging. Lately I also teach software engineering practices, usually in computer science graduate courses, but occasionally also in professional workshops for O’Reilly and at various conferences.
My most recent 10-20 blog posts are the most accurate representation of my career and recent work. For accuracy, that’s what you want. For sticking to an arbitrary application format, though, here’s a link to a resume (the date on the link will tell you how recent it is).
What am I looking for?
I take projects that have something to do with saving the planet, advancing scientific research, or providing resources to underserved communities.
I prioritize projects that allow me to live stream my work. I narrate and stream some development to my YouTube channel for these reasons. It’s important to me to transfer knowledge—and therefore, power—to the broader tech and tech-adjacent community. It’s also a strategic opportunity to get your name in front of people who want to learn more about the stack you use!
I fit with teams who embrace remote work as a strategic opportunity to improve their collaboration. This is not the same thing as a team that allows occasional remote work as a begrudging concession to its people.
I also, outside of work, maintain my own clientele. I intend to continue this. I don’t work for employers who expect visibility into, or control over, my separate business.
You’re totally a fit, Chelsea. What’s next?
Three things: I need to meet you, you need to verify my technical chops, and I need to verify some things about the company you represent.
Let’s cover each of these in turn.
1. I need to meet you.
When I say “you,” I mean you, the person reading this. I have three questions for you:
- Who are you?
- Why me?
- Do you have buy-in from your team on me or my skills?
Who are you?
If you are a recruiter, I’m not interested. It’s not you. It’s that you have almost certainly found me through some kind of “numbers game” approach. You have not identified me specifically as the person with the skills and perspective to perform this specific role. That’s what I respond to these days.
If you are a developer, a machine learning engineer, a product manager, or the hiring manager on the exact team that is hiring, and you think that I specifically would accelerate your team in the right direction, let’s chat.
I’m not looking for a company with a general-type position that I, or any of a dozen other candidates, could ostensibly fill. I have a particular set of skills: I’m an engineer, I’m opinionated about product development, I can teach, I can build coalitions. I think I can best contribute to a team that needs and expects all of that from me, and values my skill set specifically.
Do you have buy-in from your team on me or my skills?
I have, on more than one occasion, received a personalized email from a Director of Engineering like “I’ve read half your blog and I need you.”
They spend seven phonecalls convincing me we’re meant to be together.
When they finally get me to agree to be interviewed, they shove me into the anonymous interview cattle chute.
Next thing I know I’m performing live for a gang of scowling men with MIT/CMU degrees. To these men, this interview is a game where I’m on the other team and their questions are dodgeballs. Good one, Joe! Extra points for nailing her right in the performance details of numeric inequality between two strings of characters!¹
These people don’t know who I am, and they don’t care. They’ve never heard of my skill set, and they never intend to. And most importantly they haven’t a clue, and couldn’t give less of a shit anyway, about that grandiose vision the hiring manager painted in those seven phonecalls with me.
The argument I’ve heard from hiring managers here is “I didn’t want to be biased.” My friend, here’s the thing: if this is actually the right job for me, I am not a clone of your existing team. But most tech teams—including, probably, yours—either deliberately or inadvertently bias heavily toward people, personalities, and skill sets that match theirs. If you don’t establish buy-in on your team for the things that made you decide to recruit me, you wasted your time because they’re gonna eliminate me. And you also wasted my time, which I have precious little of.
OK, so, suppose we meet each other and it goes well. Next:
2. You need to check my technical chops.
To that end, I have several open-source examples of my work, including:
- This end-to-end data science cycle
- This in-memory database implemented in Ruby
- Raft in Python
- This README directory of the apps that I write for teaching mobile development in the University of Chicago Master’s Program in Computer Science, as well as this resource containing the slides and curriculum I use for one of my courses
- Hundreds of blog posts, with a sidebar that allows you to filter the posts by programming language
- You can literally watch me write code for hours in real time on my YouTube channel
I have almost certainly leveled up since I did what you see here.
Companies for whom my existing work will suffice as a code challenge get precedence over companies that need me to do their specific code challenge.
Chelsea, we need you to do our code challenge specifically.
I understand: sometimes, the above examples don’t cover what you need to know about my contribution capacity.
Here’s the thing about code challenges: you’re asking candidates to do what they do for money (write code), for you, for free. So it’s important to put some thought into how to make that worthwhile. Here’s how I make sure you’ve put in that thought:
- Your code challenge lines up with the job you’re hiring me to do. I have seen cases where the code challenge is not relevant to the skills I need: for example, a parallel programming challenge for a data science position, or a binary tree from scratch for a web application development position. This is a big red flag.
- Your code challenge is interesting. The challenge has to support me growing my skills. I want to be able to learn something from your challenge, just like you learn something about me from your challenge.
- The time frame covers multiple programming sessions. I work best when I have time to think between spurts of coding. Also, a time frame that spans sessions is realistic to the job you’re hiring me for, unless you’re hiring me to enter speed hack competitions, which you aren’t.
- You agree that I am free to publish the body of my submission, in whole or in part, for use in blog posts, teaching, or code chautauquas (the programming version of M&M conferences).
- I am not trying to give away your proprietary challenge. I will not publish the text of the challenge itself, nor the name of the company that gave it to me. I will only publish code I wrote. I keep this clause in here to ensure that I get to further either my own skills or someone else’s skills with the work that I do for you.
3. I need to verify some things about the company you represent.
I have a set of questions that help me do that. I will definitely ask these questions, so I’m putting them here to avoid surprising you on the spot. You’re also welcome to let me know the answers ahead of time, if that approach is easier for you!
Seven Questions for Companies:
- What is your team’s approach to engineering rigor? I’m looking for a commitment to testing, to resilient software design, and to technical collaboration (including pairing, though it does not have to be constant pairing).
- What topics come up often in your technical discussions? Are you talking about customer needs? Code legibility? Speed of looping over 14 keys and values?
- What does mentorship look like at your company? This is how I evaluate mentors. Folks who are excited to mentor and who are a good fit to mentor me make a job much more attractive.
- What is the experience level of your managers? I’m looking for a manager to be one of two kinds of people. The first kind got way out ahead of where I am now as an individual contributor before they became a manager. I’m happy to deal with this person’s umbrage or inexperience with management tasks for the sake of the technical mentorship. The second kind is a manager who has made a career out of growing and supporting direct reports—especially direct reports who do not look or think like them. Now, this person doesn’t have the technical mentorship as collateral, so they need to be really good at managing. The further such a manager could get through these questions before choking, the better. Below about a six, we’re not ready to chat.
- What does your leadership look like? I’m looking for diversity. Here’s what I mean by that.
- What does your engineering team look like? See above.
- What are your company strategies for building an inclusive culture? This is a strategy. “We mention that we want to hire women at the all hands” is not a strategy.
You’re not a fit, Chelsea. Can you still help me?
I know that I am looking for something very specific and that I also have really annoying strictures around the code challenge. Not your schtick? I totally get it.
So if you don’t fit all those criteria, there are totally still things we can do.
- Part-time projects. For the right combination of things, maybe we can carve out some work to do together.
- Coaching your technical team. I do this a few different ways:
- I can hold a workshop for your dev team. I do workshops on refactoring, on debugging, and on advanced collaboration skills. We can also talk about a custom one, if you have something in mind.
- I work with devs one on one specifically on their technical skills and technical collaboration skills. Like a personal trainer, but for programmers. We can work specifically on what they’re doing at your company, if you like.
- I can give a talk at your in-house conference or all hands (see speaking)
By the way, my clients…well, let’s just say they’re not regretful 😉
“We brought Chelsea in for a consulting engagement to pair with our team as they worked on our company’s first iOS application. It’s some of the best money we’ve ever spent—the team broke through several blocking issues, could get immediate answers to the “right” way to do things without hours of research, and has maintained a higher level of productivity after. We didn’t just get important work done, we learned a lot that made us better later. Could not recommend more highly.” – Trevor Austin, VPE at Hologram
“If you’re looking for a speaker who can deliver a customized, thoughtful, engaging, and witty talk that can resonate with your audience – look no further than Chelsea. Not only does Chelsea have a wide-range of technical and non-technical experiences that she can speak authoritatively about, the thing that sets her apart is her ability to hone in on the material and message to create an emotional, inspirational, and actionable response that’s specific to her audience. Chelsea recently did a keynote for us and we were very impressed with how she took her experiences, made them personal to us, and provided tangible next-steps on how we can progress in our journey. Suffice to say, we were very impressed with Chelsea and would happily have her back!” – Craig Luchtefeld, COUNTRY Financial
I can also introduce you to folks who might fit your full-time role.
I know a few amazing folks who would also be open to positions. Most of them will also be interested in the answers to the “Seven Questions for Companies” section above.
I keep a list of these folks on my end. For the sake of their privacy, I don’t post anything here about the fact that they’re looking. I have folks in ops, engineering, machine learning, UX Design, and product management. Years experience range from 2 to 24 (though years are a poor proxy for skill).
To get connected to these people, please have the hiring manager e-mail me the answers to the questions above. If all of the questions are answered, I’ll share that with my list. If I get a bite and they’re ready to be not-anonymous, I’ll connect you directly. If the person has follow-up questions but they want to maintain anonymity, I’ll be their go-between to you until they’re ready for direct contact.
I don’t take a cut from them or a recruiting fee from you. I also can’t guarantee you a bite. I’m just trying to get my friends their dream jobs. That’s all.
- I literally did not make up this example. You wish I did. I wish I did.