I BUILT A GPT COPILOT TO LAND A NEW ROLE – HERE'S WHAT I LEARNED
In November 2023, I was laid off unexpectedly from my role as an Engineering Manager at BigCommerce. It was quite a shock, because my teams were highly productive and doing a great job. So much so that I felt free to take on even more, and was a critical member of a key team building our our AI strategy for 2024. Or so I thought, and wow was I wrong!
On the day they announced Q3 2023 results, BigCommerce did what so many other tech companies are doing the last couple of years: they announced a round of layoffs as well. Suddenly I was out of a job, along with 7% of the rest of the company. No department or role was spared – ICs, Managers like me, directors, even VPs were out. I never saw it coming. In fact, I was cautiously excited about the quarterly results, as we expected to be announcing profitability by Q4, which is a huge milestone for BC. Turns out a key part of that plan was more layoffs.
Despite now being a former employee, on layoff day I attended an AI event I was registered for at one of Google’s offices in East Austin as a BC employee. One of my areas of interest is Artificial Intelligence, so why should I give that up? Hilariously, at one of the sessions I attended, we went around the room introducing ourselves and what our respective companies are doing with AI. For a few more hours, I was a loyal BC-er, and gave a general overview of how they look at AI. Besides, it was too soon, and very easy to continue saying “we”. It was a good event, but as I was leaving the parking garage, reality started setting in.
The next day, I got to work – my full-time job was now “get a job”, and I intended to use every tool I had. That included AI.
Around that time, OpenAI had launched their custom GPT store, which allowed you to create your own version of ChatGPT. I had already started creating a few GPTs, where you added your own custom instructions to the ChatGPT system prompt, so had some experience with it. Time to put it to work helping me get a job!
The result was Job Matchmaker, a custom GPT that can take a copy of your resume and a job description, and help you update your resume and write a cover letter to match. It would review your resume and look for ways to make it better, and because I had recently learned about Applicant Tracking Systems (ATS), I told it to be ATS-aware as well. (Supposedly ATS’s auto-reject “bad” resumes, that didn’t match certain key words from job descriptions, which recruiters insist doesn’t happen and which I didn’t personally experience myself as a hiring manager using Greenhouse. But when you’re out of work, you leave nothing to chance.)
I learned very quickly that neither my resume nor my GPT was particularly great at the start, and both would go through lots of revisions and improvements along the way, mostly during that first month.
I also learned I needed some organization. A Google Sheet became unwieldy to use almost immediately, so I found a Job Hunt Trello board template I could use with minimal modifications. Trello is a great tool for not only managing a lot of data, but also moving them through various stages, easy and free for simple, non-commercial use. Finally, I decided to use a new folder, stored in my iCloud, for each role I applied to. This made it easy to refer back to an application, as well as copy and paste previous application files into new applications, to modify and customize as needed. It also created a kind of snapshot of my progress along the way too.
Unfortunately, I don’t have snapshots of Job Matchmaker GPT as I edited it, but here it where it stands 4+ months later:
Job Matchmaker specializes in optimizing job applications for Applicant Tracking Systems (ATS) and preparing for interviews, with an additional focus on matching the user's personal writing style.
It will ask the user for a resume, and if the user does not have one, offer to help write it and ask for skills and experience, as well as job history and education.
It will ask the user for a cover letter, if available, and if the user has not yet written one for the role for which they're applying, ask if they have a recent cover letter to a similar role that can be used as a starting point.
It will ask the user for the job description they are applying to, and once it receives that, identifies key terms that an ATS will likely focus on and look for ways to match the user's resume and cover letter to the description.
When working on the cover letter, the GPT will first ask the user some questions to help gather more background information. Here are some example questions it can ask for a leadership role, and it can add additional or different questions based on the context of the company and job description:
1. Your Motivation: What specifically attracts you to the role, and how does it align with your career goals or personal interests?
2. Key Achievements: Are there any notable achievements or projects from your career that you'd especially like to highlight? These should ideally be relevant to the responsibilities or requirements of the role.
3. Leadership Philosophy: How would you describe your approach to leadership and team management? Any specific methods or philosophies you follow?
4. Vision for the Role: What unique contributions do you envision making in the role?
5. Connection to Company's Mission: Do you have any personal connection to the company's mission?
When a user expresses concern that the suggestions do not reflect their personal tone, the GPT will ask for a writing sample. Upon receiving this, it will analyze the sample to understand the user's unique voice and style. Then, it will tailor its resume, cover letter, and interview advice to closely match this style, ensuring a more personalized and authentic application process.
This approach maintains the balance between ATS optimization and the user's individuality, providing tailored guidance in a casual tone for resumes and cover letters, and a formal tone for interview preparation.
When the user is satisfied with both their resume and cover letter, the GPT will offer to provide several likely questions a recruiter or hiring manager might ask when contacting the user, with suggestions for how to answer based on their experience.
When naming the conversation, use the format:
[Company Name]: [Job] Application Help
For example, if applying to Apple for an Engineering Manager position, you would use:
Apple: Engineering Manager Application Help
There are lots of different strategies to being out of work and trying to find a new job. You can perfect your resume and blast it out to as many companies as possible, you can use a service to help connect you to employers, you can painstakingly customize every application to the employer, and probably a dozen more. Me, I painstakingly customize every application. In addition to software engineer, I’m a writer too – painstaking customization is what we do. But that also meant I could realistically do about one or two applications a day. Working with my GPT copilot helped me push it to as many as four strong applications every day I was sending them out.
It didn’t take long to get my process dialed in. With each new application, I would create a new Folder, named something like “Application to Pinterest”, copy my Resume and Cover Letter Pages files from my previous application, start a new Job Matchmaker GPT session, and start chatting.
Hi, I’m applying to a mobile engineering manager role to Pinterest. I’ll upload a copy of my resume, and paste the job description, and want your help crafting a great cover letter. If you see any tweaks I could make to the resume, please point those out.
Then I would upload the pdf I generated from the previous application, and paste the job details from the listing. After a couple dozen of these, Job Matchmaker started asking me questions about my motivation in wanting to get the job, personal connection to the company, vision for the role, and so on, so I eventually updated the prompt to include some of its questions. Both the GPT and I were getting better and better at this!
Using the GPT's suggestion for a cover letter as a rough draft, I’d then apply more edits, occasionally replacing entire paragraphs with others I’d previously written for other roles. In fact, I built up essentially a cover letter component library of great details over the course of about 160 applications. Roles I was applying for were broken down into three main categories: Director of Engineering, Engineering Manager, and Senior Engineer. I had great cover letter material for each of those, and could just add one or two completely custom sections for each application.
By the third month sending out applications, more often than not I was just reviewing the GPT draft to see if it picked out an interesting detail I should make sure to talk about, and then writing and assembling my own, if I even asked it at all. Unfortunately I got really good at applying to jobs!
And finally, four months to the day from the layoff, I signed my offer! While I never really got down during my four months hunting for a new job, I did experience moments of frustration, like everyone else looking in this crazy, flooded job market. I would get immediately rejected from jobs that read like I wrote them myself to my own specifications. I would interview with companies, and eventually get rejected when I thought things were going great. It felt personal at times, even though it wasn’t. When every role has hundreds – in many cases thousands – of applications, the problem is that every job you think you’re the perfect candidate, they have 14 more just like you.
But as long as you stick with it, suddenly you become the perfect candidate, and they truly do have no others just like you. The job found you, as much as you found it. That’s what happened to me.
I wish I could say my process was so much better than any others. But I can’t. Out of around 160 applications, I’ve had at least 77 rejections according to the Trello board, about 50 still in the Applied column, and a number of others I just didn’t track at all. My interview rate is somewhere between 10-20 percent, most of them cold applications and not referrals, which feels about right in normal times. Maybe it’s a little better than average in this market, who knows.
If you’re still hunting and struggling in this job market, don’t lose hope. Keep plugging away. The right one is out there, looking for you right now.
As long as you keep putting yourself out there, it will find you.
LAST DAY (KINDA) AT BIGCOMMERCE
So because I was part of the layoffs in November, it’s not *really* my last day at BigCommerce. That was November 8, 2023. My last “official” day was December 2, 2023, but I was disconnected from everything and they wiped my MacBook Pro at 5am on Nov. 8 (neat trick, they did it while I was still asleep and it was in my backpack). That was the day they announced Q3 earnings, and 7% layoffs. It was a blindside, but probably shouldn’t have been. They did the same thing exactly one year earlier, which was the company’s first-ever layoff.
What’s the rule, fool me once, shame on you, fool me twice, shame on me? Once is an anomoly, twice is a pattern? Both of those work, or maybe there’s another one even better.
They laid us off to improve financials to show profitability on their Q4 2023 earnings, which was a promise they made during the layoffs in 2022. I’m no business expert, but it seems to me that shedding salaries is not a great way to become profitable. I thought building things that people want to pay for and producing growth was the way, and that’s what I was all about at BigCommerce.
In addition to managing two teams I built from scratch, a highly-productive Mobile Apps team, and a stellar Engineering Brand team designed to not just elevate BigCommerce’s global profile and thought leadership but also its product and engineering personnel, I worked on the AI/ML Strategy Team developing the roadmap for 2024. AKA the most important development in technology since mobile, and the internet before it. I was the most active engineering leader in that team of directors, VPs, and the CTO, and based on my R&D designed a developer-focused strategy that leveraged the resources BigCommerce has, and was a decidedly different strategy than anything Shopify, Salesforce, Adobe, or anyone else in the sector is doing. If implemented, it would allow all of the AI expertise to be concentrated in a small domain team, while enabling all developers on the BigCommerce platform, internal and external, to implement powerful AI features with minimum technical AI expertise. If you know how to write prompts and what data you want to use them on, you could build AI features. It was well-received, until it wasn’t. And then the layoff followed shortly after.
So for the last four months, I’ve been applying to roles, both manager and individual contributor, and having a tough time getting anywhere. I’ve been close, and I currently have a promising opportunity, but over that time my severance, savings, and some of my remaining equity has evaporated. A lot of that is on me – I took them at their word that they never wanted to do another layoff again, and I wasn’t as prepared as I probably should have been.
I’m not gonna lie. I’m a little salty about it. I did the best work of my career there, but both it and my near future were so easily discarded over money that they actually do still have in the bank. And it was done ambush-style, while people slept. The only other time I’ve ever been laid off, in 2018 at Mutual Mobile, was done in person, to my face. It wasn’t fun, but I understood that. MM was a bootstrapped company at the time, and it couldn’t sustain itself when contracts wrapped up and they didn’t have enough work cued up. It definitely sucked and was embarrassing to be escorted out the door, but I respect how they did it way more than I do the way tech companies, especially public ones, handle it today. And it seems like they don’t even pay a penalty for it, either.
Except maybe BigCommerce. They weren’t rewarded by the market at all, not by the layoffs, and the Q4 earnings did nothing for them either. The stock drifted downward even further in the last week after earnings.
So not only did they eliminate my job (but not the position itself, they kept my team and moved someone else onto it), but also all my not yet vested equity, and put a timer on what was vested that expires at 3pm today. Whatever options I had vested, I can still do something with, but the rest was just gone. The *vast* majority of my options are underwater right now, by $1.50. This is the part that is heartbreaking to me – that was my retirement one day, and unless some miracle happens in the next few hours, it’s completely worthless. Until the layoff, I had until 2030 to act on them, so I thought there was still plenty of time. I thought that especially with what we were wanting to do with technologies like AI and Catalyst, they would be worth something by then.
I do still have a small number of options that aren’t underwater, and today is my last opportunity to sell those for whatever I can get. And then I’ll be done with BigCommerce for good. (I do have a small number of stock too, but I’ll be looking to unload those eventually, once they all pass through to long term gains territory. But mentally, I check out today.)
Enough with the past. The future looks a lot more interesting.
WHAT'S WITH ALL THE LAYOFFS LATELY?
People try to blame AI for all the layoffs in tech, but I think it’s something else entirely. Eventually, AI will come for jobs, but what’s happening now is entirely about money. Companies, profitable and not, can no longer get cheap money for growth. That’s it.
Especially if they’re a public company, where it seems like shareholders are infinitely more important than employees (regardless if we’re one and the same). It’s a sad development, that seems to be particularly cruel in the tech industry.
I heard Ben Thompson and Om Malik discussing on Ben’s Stratechery podcast how so many large tech companies have become critical to the funds used for almost everyone’s 401k, which gives the industry a large impact on essentially the Economy itself. I’m no analyst or economist, but this feels like it has a lot of truth to it.
I got laid off unexpectedly back in November from my job managing a mobile apps team. Having been a hiring manager myself, I always felt terrible having to reject a candidate, because it felt like closing a door in someone’s face. Now being on the other side, I can confirm it does feel quite shitty.