This is setting aside all the other important aspects of job hunting, including networking, applications, etc.
Do you guys think it’s better to split your time between projects and algorithms (HackerRank, Cracking the Coding Interview etc). Or would you focus on making really impressive projects?
I am inclined towards the later due to personal preference but I’m not sure what is better in terms of the job hunt. If I had to drop out of a few interviews saying “I see you guys are heavily algorithm challenge focused, I’m looking for a company that prefers portfolio experience, sorry” I would be okay with that so long as the overall strategy is better/more likely to get a decent job.
I’d personally work on both. But much like you I think my portfolio in the end will be way stronger than my ability to solve algorithms. Which is totally fine because to me, you should play to your strengths and give your best efforts to your weaknesses. In that case maybe we don’t nail the algorithm portion of an interview, but at the very least we can show the work/process in trying to complete it.
Now I feel silly. While many of the projects are small, or simple, I kind of look for algorithms or design patterns in all of them. I am a firm believer in learning logic over language, and learning patterns as part of logic. But patterns and algorithms (whichever you call them) are everywhere. We can’t avoid them.
I walk into a local diner, I listen to my waitress call my order through the window to the short-order cook, and I think to myself “Hey, that’s an API call, with a Promise!” I think a little, and I realize it’s the PubSub pattern in real life.
You can’t escape patterns. But if you do the challenges or projects without them, what do you think THAT shows?
I tend to go through the projects or challenges quickly, to get it done, but then I make myself go back over them and break them down. How can I make them as component-based as possible, and how can each component follow a design pattern? Can I make this simple project as elegant, and beautiful, and extensible, as possible?
I agree with @dlyons – it’s both. I focus on algorithms, but I find practical applications for those algorithms in projects.
I’d def focus on both.
- Projects on your resume profile get you the interview, and provide you something to talk about during the interview.
- Algorithms will get you through any programming interview challenges, or technical questions that come up during the interview.
You need both to succeed regardless, if you only focus on projects you might end up in a designer-type role, rather than a developer as you need algorithms even for most basic front-end work.
You can’t focus only on algorithms as most jobs aren’t only theory, you need to be able to apply the theory in some technical aspect. You could get trained, but most of the type employers would like to see at least some technical work before hand (IE projects.
Do both evenly and you should be good