People skills for cooked CS grads
Published
Times are dark for brand new computer science grads in the west.
The global economy is contracting rapidly after decades of comparatively free trade under neoliberalism as the PDF file elite march us towards techno-fascism. AI snake oil salesmen have convinced people that LLMs are taking peoples' jobs.
Every week, giant tech companies lay off exactly the right amount of people in the right locations to get around the gnarliest pieces of the WARN Act. The WARN Act and the government body charged with enforcing it still exist as of this writing, but the copper is being ripped out of the walls.
Pain.
So what of the new grads and soon-to-be-grads trying to get their first gig?
Taking on junior developers has always been a risk for businesses. They need to invest a lot up front in training and mentorship before the fresh grad is up to speed. This initially slows down the experienced devs who have to lend a hand to help the newbie. Eventually, the juniors "get good" and contribute more than it costs to keep them around. The pipeline in action!
Hell.
Now, a combination of factors means junior jobs are not being posted:
- Easy money is over. Interest rates are not hovering around 0% anymore. The death of the yen carry trade means we might not see the money printer going brr for a long time.
- Massive over-hiring using free money during the Covid pandemic meant companies scaled up for growth opportunities that never quite arose. Labor had it good for a while, demanding increased wages, remote work, and employers that don't actively help Israeli nazis set Palestinian children on fire. Now, a contracting economy means capital is able to crack the whip, making jobs intolerable enough that people would quit and walk away rather than wait to be laid off. The lower overhead and productivity gains from remote work are being thrown away, with the calculation that the office panopticon makes for desperate employees that are easier to control.
- AI is an easy scapegoat too. It's extraordinarily bad, but similar in quality to what you could get out of a brand new junior developer before they get good. And when you give up on the AI experiment, there's no awkward layoff conversation.
Ghost jobs
One new innovation of the current job market is that jobs can be posted that only exist to harvest data. HR gets to pretend to do something, the company pretends things are okay and that they're really hiring, and everyone can sort of save face imagining the world isn't on fire.
For employers, posting a job that won't be filled on a job board is useful to some degree:
- You can use this as the top of your talent funnel, so if any really great candidates apply, you can go ahead and put them through the process.
- You can build your talent database and see what kind of candidates you get for a given job posting, letting you experiment with A/B testing and all the fun marketing stuff.
- "This company is hiring, they must be growing." Stock line go up!
So, what do?
It seems like the job search meta for new CS grads looks like this right now:
- Spray and pray, sending applications in by the hundreds or thousands.
- Start a social media account about how you're a cooked, out of work CS grad to earn some AdSense pennies.
- Repeat until you catch a lucky break or abandon the dream for some other kind of work.
Here's what I would do if I was a new CS grad right now:
Internship or co-op if you're still in school
This is a no-brainer but seems daunting when you're in school and already drowning in work. Nobody cares what your grades are once you're out of school. They will absolutely care that you worked for three months in the real world and didn't burn the place down. Previous work experience is the most positive hiring signal possible.
I realize this is not possible for everyone, but I would fight and scrape for it if I was you. If the choice is working for free doing horrible WordPress upgrade work for some local ad agency or working for some money doing something unrelated to your CS goals, take the horrible WordPress slavery.
Digital footprint
GitHub profile
Your GitHub profile is your resume. Your resume is a nearly blank piece of paper because you're a new grad. Your portfolio - your GitHub profile - is the thing you should be putting the majority of your time into.
Make sure you are coding every single day. The most important thing when you are fresh out of school is to put your new skills (and the theory you spent all that time and money learning) to good use. Do projects. Make a stupid React to-do list, a Pokedex, and Tinder for dogs. The ideas do NOT need to be original. The execution is the thing that matters.
Set your repos to public. Write good commit messages, and work in pull requests, even if it's just you working on a repo. Show that you understand the good habits of developers working together to write working software.
Nobody cares that the world doesn't need a new to-do list. They will care that you have taken the time to code every day and that you are visibly getting better at it over time.
The shorthand for all of this for very busy hiring managers? Your GitHub profile landing page's calendar with the all those green squares. Make each day green!
LinkedIn profile
LinkedIn is basically hell, but you do have to exist there. Make your profile a picture of your smiling face. This will help humanize you! Take the time to link back to your GitHub.
Personal website
Do it. This is your chance to show the things you are passionate about. Link back to your GitHub and LinkedIn profiles.
Clean up after yourself
Google yourself and take down anything that doesn't scream "hireable young go-getter".
Meatspace
You are really going to hate this part because you're a new CS grad who spent their formative years wearing N95 masks and getting groomed on Roblox. Trust me for this part.
You need to go into the real world and network with people in your industry.
This can mean anything from attending or hosting events like "The Peoria Web Dev Meetup", going to hiring fairs with your resume and a firm handshake at the ready, or just doing random coffee chats with people in the industry.
Talk to everyone. Talk to the junior dev who just got hired 3 months ahead of you on their experiences. Talk to the hiring manager who has nothing and won't have anything for 18 months. Talk to the anyone who will talk to you.
The thing you are trying to get across is your passion for the work and the fact that you are a cool and normal person they would want to work with.
Ask for referrals. Get comfortable basically being a horrible salesman for yourself.
The sad reality for your generation is that most jobs for new juniors will not be posted online. The job will go to the friend of a friend of one of the existing developers, the person who got the co-op and didn't destroy production accidentally (or the co-op that rebuilt production after destroying it), or the boss's nephew.
You must enter meatspace and become that person.