Advice to a young unemployed computer science graduate: use freelance work to build a portfolio
I’ve recently spoken to a few young CS graduates who can’t find jobs. These are folks who got their bachelors degrees at schools one tier down from the super elite, e.g., University of Michigan rather than Stanford. I.e., a similar situation to what was recently covered in a New York Times article about a Purdue CS graduate who couldn’t find a job better than Chipotle and an Oregon State University graduate who applied to more than 5,700 positions.
Hiring a fresh CS graduate is risky for an employer because universities teach students how to work for an engineer, not how to be an engineer. Assignments in CS undergrad come in neat packages in which everything is doable within the allotted time. Engineering starts with talking to a customer to find out what is wanted/needed and then figuring out what is doable and which capabilities should be scheduled into which release of a program (the highest value and easiest-to-build capabilities go in v1.0). An employer thus has no idea whether a fresh CS graduate has or will ever develop any of the skills required to be useful. (I remember helping one very capable MIT graduate whose customer was unhappy with him. He’d spent all of his time on a paid project refactoring and reengineering code such that it was, in his view, more maintainable. He had let all of the customer’s requested features slip. The work that he’d done on the internals was invisible and undetectable to any user, admin or otherwise. He didn’t understand why he wasn’t a hero.)
What advice did I have for young people stuck in this situation? I advised against trying to cram for the puzzle tests that the most sought-after employers use as screeners. I advised signing up for freelance projects on Upwork or similar, charging nominal amounts if necessary to win clients, and then using the freelance projects to put together a portfolio. “If you were going to build a house would you hire an architect without looking at a portfolio of previous houses that the architect had designed?”
I’m not sure that I have found on the Web an example of what would be persuasive. https://benscott.dev/ is great from a visual/design point of view, but it doesn’t show the client’s perspective. I would prefer to see a portfolio that includes a photo of the client and what was the essence of the original request and then some screen shots showing that the client-requested features actually were developed. Finally, the project blurb should contain something about which tools were used, e.g., MySQL/Node.js or SQL Server/Microsoft .NET/C#.
Readers: What else would you say to a recent BSCS grad who is applying everywhere and getting interviewed almost nowhere?
Separately, if all else fails I think there are plenty of jobs selling marijuana in New York City, with at least 15 shops within 3 blocks of my Lower East Side hotel.
Full post, including comments