Have some projects that are finished. They don't need to be extravagant. Just show that you can ship code and know how to explain how/why to use it in the README or for extra points a nice gh-pages demo page. Once you have a few projects under your belt, you can create a nice home for them with your username by making a public repo with a project name of username.github.com - see https://pages.github.com
For front end, if you prefer codepen over Github as your online code portfolio of choice, that is fine too (at least in my opinion). Or both.
Think about it: having a full-time job and a life implies that large numbers of very employable people have absolutely no time whatsoever left over to dedicate to maintaining a current set of contributions to high profile open source projects, let alone 'some finished projects'.
If a company can't figure out during the interview that a person is able to ship code then they should review their hiring practices, not pass the burden to their potential hires.
Also, you're probably de-selecting all the women developers because it's very rare indeed to come across a profile of a female on github.
Oh, and drop half your take home pay on hardware and software so you can be up to date on whatever tech they decide to go with in the future.
A well-stocked github profile can be a bonus for a candidate, but it's just asinine to reject someone for lacking one. Heck, my biggest personal project has been underway for several years and will be for several more, but I'm keeping it under wraps and very few people even know it exists. Some very good developers spend all their free time with their kids, or training for IronMan races, or doing community theater. And some people work for companies that would try to lay claim to code the person wrote on their own time, so they just don't bother.
* A diversity of projects is always nice, whether in languages/technologies used or in scope. I tend to be unimpressed if a person's most active repositories are essentially iterations of the same technology/idea.
* An active contribution history, both to their own repositories and others. That doesn't mean constant contributions to a 3rd-party project or membership in it, but it's nice to see that a person is taking the time to look at and offer their skills/effort to others.
* More superficially, I really like to see personal websites. That's less of a profile thing, but it tells me that you're committed to your online presence beyond filling out GitHub's 5-minute signup.
Overall, I'd say that 80% of the profiles I see meet two out of three of those, and 60% meet all three. The only things I really hate seeing in GitHub profiles are blank repositories/repos that look slapped together for appearances.
Why do you feel an online presence is important to an employment candidate?
The question asked how I defined a "good" GitHub profile.
I look for good naming, organization, and how easy a new developer will be able to ramp up given the environment he or she has established.
On the other hand, I've hardly ever come across a profile that felt truly "bad" to me. The one exception would be that one guy whose history of pull requests is filled political-correctness-fueled changes to comments and function names.
Ooh, you just more or less described me. What makes working on public things, say, one weekend every couple of months less interesting than not working on public things at all?
Though anyone looking only at my GitHub profile might reasonably think so, I guess.
One thing I'm seeing more commonly is where a group of people create github profiles with a handful of projects that are obvious homework assignments, and then open and close a few issues and pull in some trivial changes to each others' repos in order to put a few green dots on their contributor graphs.
Sad really.
On the other hand a genuine contributor may be working offline each day for months then do a big commit (squashing down the intermediate local history - can't remember the git term for this).
What I think would be good is to instruct candidates to write a cover letter about their side-projects. Talk about each one briefly. With links to online repositories if available (or zip files otherwise).