So for me portfolios are for junior devs & graduate students looking to leave academia. Therefore, I look for things that are uncommon in those environments, engineering over theory, documentation & tests over novelty.
Note: if I were hiring for a researcher the above would not be true.
What I do have is a bunch of great reviews from my managers in the past years. Do those carry any weight in an interview?
- If I had a good work sample based proxy for hiring, I'd use that and basically nothing else.
- But that never happens, so what I (and most places I've encountered) actually use is network based hiring. So a bunch of great reviews from your managers is awesome for hiring assuming I know them. If I don't its basically a crap shoot, but I view it as much more valuable than some half baked collection of github repos proving to me you've done the the first couple chapters of several hot "how to" books.
In a should be case you'd have a hiring pipeline that had a good objective work sample proxy for the work you were trying to do and you'd judge blind other than that.
In the real world, I've found what actually happens is network based hiring. I hire the people I already know are good. After that, its mostly a crap shoot but I'd take popular open source contributors over other candidates all things being equal (though by the time you've contributed to a popular open source project you are dramatically past the bar for hiring outside of the "network" tract).
Ideally things like good tests, good code structure, personally I'd also like to see a stable language choice too - if you're jumping from one language to the next to the next I'll probably assume you're going to want to rewrite everything in the new hotness every other week and that's a pain in the arse.
Associated blog posts that explain how your code works and why though? I'd put your name to the top of the "get this person in" list on the spot
One reason people do side projects to develop and demonstrate effectiveness with technologies they don't use at work.
If I saw someone using a familiar and established stack to build fininshed, highly polished applications as side projects... I'd assume they were trying to make a product. That's what you do when you are making a product. You'd need to bring it up because they might be more interested in building their own startup than working for me.
Infinite disagree on the "they might want to work on their own thing more than my thing" angle
They're keeping their skills sharp on their own dime and that's a bad thing? Many employees only stick around for 2 years or so anyway who cares whether they move on to the next 9-5 or their own thing?
I wouldn't, that person would - I don't imagine many people put their experiment/education projects in their portfolio
i.e. Have you successfully implemented a good OAuth[2] security system? Can you explain the difference between JWTs, and session auth? Why choose one over the other. Talk to me about SSL a little bit, even at a high-level. How do you secure APIs? Talk to me about how you encrypt passwords, and sensative data.
Have you had to deal with PCI DSS?
This is one of the differences between "I'm a developer who has maintained a simple CRUD app" and "I'm a senior developer who can build a secure system".
Or in other words, authentication separates the men from the boys.
so my most impressive candidate would be someone without a degree and quite a few very complete and well polished personal projects.
Translation: young, impressionable, willing to work lots of unpaid overtime
If you run an open project on GitHub I'll also look at your wiki and issues, to evaluate communication.
You are right, a programmer who can make $80k+ building their own stuff is most likely not even looking for a job.
Otherwise, most github repos are not that impressive as I have no idea how long it took to write (did it take a few months to write something most devs could write in a few days?), or if the candidate even wrote it at all.
Which is important when hiring a programmer who won't be managing anybody or marketing anything.