How do you use GitHub?

Ben Lovy on November 16, 2018

My GitHub profile is full of crap. I've noticed this is not actually the case with a lot of profiles I snoop. Am I doing it wrong? I regularly u... [Read Full]
markdown guide
 

I have my personal account and something called experimental-dustbin. Everything that is half baked or a fun hack goes in experimental-dustbin. Everything that is usable enough goes either on my main profile or another organization that I'm happy to show off.

The truth is no one really cares though. I've never had a hiring manager look at any of my code. I use the above structure as an organization principle for myself more than anything else.

 

I've looked at almost everyone I've considered hiring over the years. That said.. it's very easy to tell what are pet projects, hacks, school projects, random code in random states and what's real. I think it's interesting to see it all. Anything to help me know how you think and what you're into.

 
 

That's a simple enough solution! I think I'll probably gravitate towards something like this, thank you

 

Today I'm thinking on this. Maybe it's good idea have GitHub as main account with formal projects.

And use BitBucket or GitLab account to practice, exercise, courses, etc.

With this approach you can have your GitHub account 'clean'.

 

That's a cool idea! I have accounts on both but don't really use them - that's a natural way to organize.

I'm also very interested in sr.ht, maybe a good opportunity to make the transition.

 

Personally, I think you usage is just fine. It shows you like to experiment, not just display the 'best' software you write. Me, I like to see in progress, attempted proof-of-concepts, abandoned projects, snippets (Gist), etc. But everyone is different. If your usage works for you, keep at it. Else, iterate till you dominate.

 

At last count I had around 87 repositories on Github, and to say more than a tenth of them resemble something complete would be a flat out lie.

However, I think this is where the pinned repositories feature comes in handy that Github has. Using this, you can mark about 6 of your projects that you want to be displayed on your profile.

Generally I think people will check out the projects that are pinned over digging through your Github graveyard. Most developers have abandoned projects or things that are just experiments. I actually think having these is a greater asset over not having them as it shows you are willing to try new things, or move on from a project that wasn't going anywhere.

 

This isn't the best answer, but it's an answer. If you pay for private repos, you can hide what you want to hide, keep your commit streaks up, and only make public the stuff that you want to show off. It allows the best of all the worlds, but for a (cheap) price. It makes complete sense to work privately until you're happy with something, have a chance to clean it up, and then make it public.

 

I use organizations like folders for all my "non primary" stuff. You can check out what I mean if you look at my profile: github.com/cctechwiz (Isn't super easy to see what I'm talking about on the mobile site, try the desktop site).

Granted, I'm just starting to experiment with this system and I'm just starting to try to be super active on github but it seems to be working OK.

 

Personally, I've given up on having a tidy-looking GitHub. Since joining, I have published a lot of repositories, and I'm not willing to take the time to curate/archive them all. I've thought about writing a project that would do this curation for me, but that would take time, haha! I've just decided to pin my favorites and call it a day.

For this reason (and because I don't get a lot of contributors), I haven't really published a lot of new stuff to GitHub for a long time - most of my personal projects sit on my disk at home. I have a nice backup setup, so I'm not worried about losing project work, and if I want to work on a project on a different machine I'll either pull and push directly over my home's LAN or VPN, or make a bare repository on my server.

 

I thought about setting up a local repo on my little odroid SBC - cool to know something similar works for you. It's a project in and of itself but there's something nice about keeping ownership.

 

Pretty much all of the non-fork projects in my home profile is "unpolished code". Anything that starts as a "just for me" tool but a co-worker or customer decides, "oh, neat: can you polish that up and actually support that code for us" (i.e., will cut me a check for) but I have no long-term ownership-interest in or that I'd otherwise really prefer to open up the continuing development of, gets its ownership changed to whatever organization is giving me money to do so (conditional on that the project stays public so that I can continue to develop on it after I leave if I so desire, even if that works out to being split-forking back to myself). That said, stuff that I'd prefer to retain full/ultimate control of in stays in my account.

That said, I generally consider most of my code to be "rubbish" (first-draft quality) ...right until I look at others' code to remind myself, "maybe not complete rubbish".

 

Don't. Use GitLab, GitHub is a proprietary blob and does not feature things like CI/CD. I would also recommend using Lerna and a Monorepository, see gitlab.com/pojntfx/incubator for an example.

 

Publish it. If you're concerned about potential employers finding the good stuff, pin those repos or specifically call them out in your cover letter and/or resume.

Github's not LinkedIn.. use it however you want and if you like having things tracked, go for it, regardless of state.

 

I use Dropbox for the small experiments or prototypes and such, and push to a private GitHub repo once I think that it makes sense to introduce Version Control.

 

It is OK to publish all the crappy code and projects that you come up with. Nobody will look into. It actually takes a lot of effort to bring attention to your projects.

code of conduct - report abuse