Last week, I was asked to drop back in to the Flatiron School to participate in a small alumni panel about the job-seeking process. The latest cohort of new grads embarks on the job hunt this week. Being there and hearing their questions reminded me of the disorientation of that time, the sense that there were so many things I should be doing and the impossibility of determining what was best. After exiting the insulated environment of that immersive program, where the focus was singular and unquestionable — code, code, code — the wide open space of the job market was overwhelming.
When my classmates and I graduated, we felt pulled in so many different directions: preparing for interviews, practicing CS problems, doing coding exercises, improving on past projects, starting new projects, learning some popular frameworks, delving into other languages, exploring the subjects we’d been individually interested in, keeping up our blogs.
At the alumni panel, we heard a lot of questions, but at the core of most of them was a straightforward but looming concern: what do I spend my time on?
I wanted to write this post to suggest my advice, based on my own experience. I’ll break that giant question down into three parts:
How do I prepare for interviews? Do I need to clean up all of my old projects?
Most employers aren’t going to look at every single one of the projects you’ve done. They’ll ask you to show them one, maybe two. Make sure you can speak intelligently about it. Make sure you can walk them through it. (Commenting your code helps.) Take note of any problems you see with it. You’ll get asked a lot how you would make it better. If there are small problems with it, don’t waste your time on nit-picking and fixing them all; just point those out as things you know you can improve. If there are any glaring problems with it, work on those. It’ll strengthen your skills, and you’ll have something concrete to show for it and to demonstrate your drive for improvement. Think back to the problems you faced with your project in the past, and how you overcame them. You’ll get asked a lot about how you’ve approached challenges. And think about what part of it you’re most proud of and why. These are all questions that reveal your thought process and character as a developer.
Do I learn another language?
You’ve already spent so much time learning a single language. You’re not going to really be able to learn another one. Instead, focus on expanding what you already know. Study best practices. Build a project that uses skills you’d like to hone. This will strengthen your developer’s mindset, and this is the most transferable skill you have: how to approach a problem, how to write code that is clean, scalable and efficient.
What about coding exercises and tutorials?
If you feel there are weak spots in your skills, do coding problems that will work out those muscles. If there’s a company you’re applying for that uses React, do a tutorial with a code-along project that you can send them to demonstrate your enthusiasm. These things are useful and important, but prioritize them on an as-needed basis. You can’t learn everything — your primary focus today should be what you need to have done tomorrow; your secondary focus should be what you need to have done in the week. You’ll learn a surprising amount of things this way. Through the process of doing just what I needed for my current job applications, I dove into React, caching and background tasks — knowledge that’s still paying off for me today.
And overall, have confidence in yourself. Your coding education has imparted you with a ton of practical knowledge and, even more importantly, with the skills and drive to figure out the challenges you haven’t yet faced. You’ve got this.