Well, I made it three months at Handshake!
After 25 years of building things on the internet, Iâve learned that knowing what doesnât work for you is just as important as knowing what does.
The Good Parts (And There Were Many)
The early career engineers on my team were incredible. Thereâs something special about working with folks who are genuinely excited about building things. That energy where every new feature feels like it could change everything. Getting to mentor and provide feedback reminded me why Iâve stuck around tech this long. Weâre absolutely staying in touch.
I made friends immediately! We started an accessibility club working through practical accessibility together. I joined ERGs, went on endless coffee walks with genuinely lovely people and made friends.
The internship program deserves its own shoutout. These werenât âfetch coffee and fix typosâ internships. These interns had real projects with actual impact. I sat across from one intern who was genuinely one of the funniest people Iâve ever gotten to overhear day to day. Their end-of-summer presentations? Every single intern had animation skills that made me jealous. Backend engineers were making text effects that looked like they belonged on a Stripe landing page. Their use of Figma (they named layers!!) put me to shame.
Where Things Went Sideways
Growth teams are built for a specific kind of engineer, and it turns out I am not that engineer.
I pick up a project to rewrite our Stripe implementation (weâre a subscription product with complex billing, different tiers, educational discounts, the works). The existing code? Zero documentation. No one could tell me why we charged cards this particular way or what edge cases had broken the last three attempts. So I wrote a 20-page document mapping out the entire system. This was literally what I was hired to do: bring structure to the chaos.
The team was all âmove fast, push up, fix laterâ folks. They wanted to ship something in a sprint and iterate. I wanted to make sure we understood what we were building so we didnât have to rewrite it again in six months. When youâre passionate about the direction and the work matters, I can move plenty fast. Shipping code without understanding why weâre shipping it isnât moving fast. Itâs just creating tomorrowâs technical debt.
Growth teams are fundamentally âmake moneyâ teams. Thatâs not a judgment. Companies need revenue to exist. But thereâs a difference between knowing intellectually that your job is to optimize conversion funnels and spending your days A/B testing whether a green or blue button gets 0.3% more clicks. Watching how that particular sausage gets made was⌠illuminating.
The tech stack: this 12-year-old Ruby monolith had my brand new M4 MacBook with 32GB of RAM running out of memory because of webpack. I had to restart services multiple times a day just to keep developing. Not because I was doing anything fancy. Just normal development work. The developer experience team was doing their best with what they had, but you can only polish a monolith so much.
Lessons learned
Your interview skills need to level up beyond asking good questions. Iâve always prided myself on asking thoughtful technical questions in interviews. âTell me about your technical debt.â âWhatâs your deployment process?â âHow do you handle on-call?â When nobody mentions ANY challenges with a 12-year-old codebase, thatâs not because there arenât any. Itâs because theyâve gotten so used to them they donât register anymore. Thatâs information you need to dig for.
Team placement can override everything else. You can believe deeply in a companyâs mission (and I do think Handshake helps students find opportunities) while being completely wrong for a specific team.
Some of us are documentation people, and thatâs okay. There are engineers who can ship fast and fix later. There are engineers who need to understand before they build. Neither is wrong, but if youâre the second type on a team that needs the first, everyoneâs going to have a bad time.
Follow the resources. Handshake AI launched while I was there, and you could watch the talent flow toward it in real-time. When your teamâs best engineers are getting pulled to the shiny new AI project and your product roadmap starts looking suspiciously empty, thatâs the signal. Itâs not personal. Itâs just where the companyâs placing its bets.
What This Actually Means
Handshake wasnât going to get my best work, and I wasnât going to thrive there. Thatâs not a failure on anyoneâs part. Itâs just a mismatch.
I spent my last days doing what felt right: going on coffee walks with everyone Iâd worked with, making sure they knew specifically what I appreciated about them. Even when a role doesnât work out, the people you meet matter. The early career engineers who reminded me why I love mentoring. The accessibility club folks who cared about making things better. The intern whose jokes made even the webpack crashes bearable.
Am I disappointed it didnât work out? A little. But Iâm grateful for the clarity it gave me. After this experience and watching Glitch wind down, I know exactly what I want: a role that values thoughtfulness, gives space for creativity and collaboration, and ideally doesnât involve webpack.
P.S. To my former teammates: youâre doing great work, and Iâm rooting for you. To anyone considering Handshake: itâs a great place for a certain type of engineer. If youâre a âship fast and iterateâ person who thrives on growth metrics, you might love it. If youâre a âwrite documentation firstâ person who needs to understand the why before the how, maybe look at other teams. Happy to chat specifics if you want to reach out.