Ask HN: Tips to overcome fear of opening up my personal projects?

8 points by parennoob ↗ HN
I have a Github and Bitbucket account, but all my Bitbucket repos are set to private. My Github account has almost nothing on it, because every time I start something and think of pushing to Github, I'm worried that I'll be vulnerable to snap judgements by other people / prospective employers. Think, "Ugh, his C syntax looks like a child's, and he doesn't clean up his whitespace. And look, he clearly doesn't understand how linked lists work. No way I would hire him". I'm at the point where I can barely write code and get by, and feel a bit intimidated when people casually post crypto tools or large C++ web frameworks to HN.

Any tips to get around this? I think it's possible to clean up git commit history after it has been pushed to Github, so maybe that is one solution (although I hear that you are not supposed to rebase commits you have pushed to a public server).

[25-year old Asian male, in case my demographic provides any info.]

12 comments

[ 4.5 ms ] story [ 44.8 ms ] thread
Most people that make things have a fear of exposing it to the world but here's a secret, nobody is going to care. That might sound cold but it's the truth. I can't remember what the top project was on HN last time there was a Show HN post and these people are actively trying to get more eyeballs on their projects. What are the chances someone is going to notice your Github projects if you don't actively try to expose them to the world.

As for being judged by other people and prospective employees. That's another phantom fear. This is again coming from personal experience. I always update my resume to list my latest projects with links to the corresponding Github repos. I've never had any negative reactions. People usually think it's cool and leave it at that. No judgement or even engagement beyond that.

Use a handle (such as parennoob) and then you can decide to attach it to your real name after you become used to the idea of your code being public.
(comment deleted)
(comment deleted)
Don't optimize for self esteem. Optimize for total progress over a given amount of time. If you're afraid that people will judge you an amateur, then use that fear to drive you by posting everything public. Learning is basically an exercise in being embarrassingly wrong about a succession of things over years.

There are harshly critical people online, so what? Make them work for you. Most people at a high level are humble and non-judgmental about beginners.

>> Don't optimize for self esteem. Optimize for total progress over a given amount of time.

I'm stealing this line because it is absolutely packed with wisdom.

I'm one of the harshly critical people who opens issues and sends pull requests on github. This person is correct. If something is bad/ugly, I'm more inclined to suggest a fix (with our without snark) than just say "this guy sucks and deserves to be poor".
The many things I wish I had done differently can often be seen from public roads for many years. Most people don't notice or care.

Anyway, a commit history that shows that a person went back and refactored their code all on their own is a positive...on the unlikely assumption anyone is going to care enough to go through your commit history looking at syntax and whitespace.

At the point where a prospective employer is looking at your code, you're well past the point where people are looking for reasons to reject you. Instead, you're at the point where people are rationalizing their formed opinions.

Nobody is going to care.

Sometimes I do look at candidates github repos before an interview (if they provide them on their resume). Even when the code is not great, it's still a positive sign because it lets me know they are writing and pushing code, not just talking about it. I don't think I've ever had less of an impression of a candidate from looking at their github, although I've had some confirm my expectations from their resume.

Worst case, let's say I was looking at someone's code, and I thought, as your example, maybe he doesn't understand linked lists.. hmm. I wouldn't dismiss them, I would ask that as an interview question.

If you're still nervous, ask a friend or colleague to give your code a quick code review (email me if you'd like my opinion), and grant them bitbucket access. Ask them if you think the code needs any cleanup before making it public.

Just write code that creates a massive security hole and your syntax problems will feel like a gentle breeze.
I'd argue that having things up on your github with minor syntax/whitespace errors is better than having nothing to show.

Also everyone has to start somewhere. Post what your working on now, and as you get better it will be more noticeable since it can be compared to your older stuff. Then you can go back and refactor your old code if needed to show how your skills have evolved.