

"We've read your code" - jgrahamc
http://blog.jgc.org/2010/09/weve-read-your-code.html

======
pierrefar
The downside is when someone finds code you haven't touched in 10 years and
would disavow now and think it's your current standard.

So make sure you keep the home pages of such projects updated by saying "this
project has been dormant since...".

~~~
novel
Moreover, you have to be careful when uploading new code, when a new idea
strikes into your head and you quickly implement a prototype, probably not in
a very clean way and without unittests and stuff. This doesn't go well in
conjunction with 'release early, release often' rule.

~~~
IgorPartola
I think if you open source something it's kind of an obligation to clean up
and comment your code at least a bit, job search or not.

~~~
jrockway
It's not. When sharing code, there is no obligation to do anything. More
people will contribute and share if you have well-documented clean code, but
if you just want to throw something up there, that's good too.

Too many people don't contribute at all because the Internet is full of people
looking gift horses in the mouth and they figure it's safer to not share at
all. And that's not good for anyone.

~~~
IgorPartola
So sharing a crappy piece of code with poor documentation is better than
holding out until you can release a tested product? I don't buy it. Case in
point: the many terrible suggestions in the PHP documentation comments.

~~~
salvadors
Yes. It gives the next poor schmuck something to work from.

That's assuming a world, of course, where at least some people actually use
free software as something to hack on, rather than as a product to bitch
about.

------
mgkimsal
The flip side of this is a job I interviewed for (and actually did take)
several years ago. I brought printed copies of some code I'd recently worked
on (not sure why I didn't just bring a laptop!).

Towards the end of the interview I brought it out and asked if the interviewer
would like to review some of it with me. I was told "No". "Why not?" I asked.
"Not everyone has the ability to bring code, and it would be unfair to look at
yours if we can't look at everyone's."

I was slightly flabbergasted, thought the logic was 100% wrong, but was
offered the job and took it despite that. I was there about 2 years, and the
first 18 months or so were generally enjoyable, but nothing lasts forever. :/

~~~
InclinedPlane
That's a pathological hiring mentality, it's not a contest, it's an attempt to
make your company better by adding new talent. Good interviewers / recruiters
use every trick possible to make sure they hire the best candidate.

~~~
JoachimSchipper
Some blindness can help you find better candidates - not telling the recruiter
whether the candidate is a member of <minority> may actually help quality
(while decreasing information), for instance.

Of course, in many/most cases, more information _does_ help. But it's not
automatic.

------
devmonk
We don't all get the time to setup beautiful open-source projects with
beautiful tests and code.

I have a number of projects I've started or contributed significantly to that
anyone can peruse if they want, but I'm definitely not proud of the code in
all of them.

If you use this type of post ( <http://blog.jgc.org/2010/09/weve-read-your-
code.html> ) as a wakeup call to make your code better, that's fine. But,
would it make sense to remove open-source projects that aren't your best work,
with the rationalization that few if any are using them and they are a bad
reflection on your coding skills? If your code is bad and is
misleading/doesn't work and provides no benefit to others, take it down or fix
it. Otherwise, I say leave it alone, and feel free to leave it attached to
your name.

I've met more developers who were afraid (imo) to start or share anything
open-source even though they certainly could have (because I was working with
them, and I did, without any harm coming to me yet). As Frank Herbert once
wrote, "Fear is the mind-killer." Don't let the fear of sharing overtake you.

~~~
IgorPartola
Why not put up a message on the project's site saying that the code is old,
unsupported and not really up to your standard anymore. Maybe list your
current projects.

------
abstractbill
_I've been lucky because "John Graham-Cumming" is close to a unique ID._

When my wife and I got married, a couple of years ago, we decided to invent a
new name for ourselves. I googled each alternative we came up with, and made
sure the name we chose wasn't already taken. Sometimes you get to make your
own luck!

~~~
chaosmachine
Personally, I'd be inclined to go the other way and change my name to John
Smith. I'd rather not be easily Googleable by my real name. That's what
handles and business names are for.

~~~
presidentender
My name is unique to begin with; I've taken further steps to own it on the
internet. I made the mistake of tying it to this username, once, which has led
(for better or worse) to a greater discretion under this username.

------
CWIZO
Just today I interviewed someone for a programming position. I asked him if
any of his code is publicly available (a open source project, a small library,
anything) and unfortunately he said no. So now I have to bring him in for a
coding interview.

It really saves a lot of time if you have something out there. Just make sure
that the first thing one finds is something you want them to see (not some
crappy code you wrote two years ago).

~~~
scrrr
A friend was recently asked the same, also said no, and was declined the
interview. He is a very capable software developer.

It seems like being active on GitHub is slowly becoming almost a requirement
in order to land a good job. I wonder if that is a good thing.

~~~
dataguy
I like your last sentence. I am also sceptical if this is a good thing. And
with reason: If you are working as a skilled software architect - and you work
on projects under NDA or other laws/contracts for a long time, it could
definitely come to the result that you do not have "current code" somewhere
out there on github and such sites. And not everybody has the time or the
reason to contribute or start an open source project. That even becomes more
critical if you want to do other things in your non-working time than coding.
If you have the chance to work for a company where you are allowed and
instructed to work on open source projects and technology, then you are lucky.
But I doubt that the major of software designers does so.

~~~
jrockway
What does he do with the other 16 hours of his day? If I can hire someone who
spends 41 hours a week programming, with 1 hour of work that I can actually
see, that is going to be a big advantage over someone who claims they are a
super-genius architect. Because the first person has documented proof of
ability, but the second person just says he's really good.

Don't worry, though. I work with "C++ experts" who don't realize you have to
allocate memory before writing to it. Knowing how to program is not a
prerequisite to all programming jobs.

~~~
philf
I suppose you also need to sleep, so that's 8 hours left of which you spend
some preparing/eating food, maybe some sports every once in a while, shopping,
socializing etc. Anyway, I'm pretty sure there are people who, while having a
passion for software development, feel like doing something else for a change
after 8 hours in front of a computer.

~~~
yummyfajitas
If you sleep 8 hours/day, that leaves you with 112 waking hours/week. After
work, 1-2 hours of sports a day, you've still got about 50 hours/week.

You can't devote even 2% of that time to building a portfolio and helping
possible future employers to evaluate your skills?

------
benatkin
> And while places like Github and LinkedIn are important parts of your
> identity, there's nothing more important than a web site that you control.
> If you haven't registered your domain today, do it.

There's a _huge_ difference between Github and LinkedIn. You can put up
content in any format at <username>.github.com. You get a local backup copy of
what you put on their as a side effect of using git to push it. The contents
of the repo doesn't belong to Github, so you can post it up anywhere. If
GitHub disappeared (they won't) or took down your account for some ridiculous
reason (they won't), it wouldn't take that long for search engines to be able
to find the new location.

If you can't think of an especially good domain name, I don't think picking
one up today is a great idea. That said, I have firstlast.com and I recommend
getting it to anyone who commonly goes by that combination and has the
firstlast.com for their name unregistered.

Finally, I'm surprised how many hackers are using HN or twitter but aren't
active on GitHub. GitHub is at least 10x more valuable IMO. (You have to
actively use it, of course, to get the value out of it.)

~~~
patio11
Much love for Github, but if I put my OSS projects there, I do not feel that I
get value from them comparable to what I give up by not hosting it on my site.
I also think hackers overestimate how many people will read your code (and if
it were on your site, you could measure this).

~~~
benatkin
Your A/Bingo site just isn't as useful to me as a GitHub repo would be. I had
to clone your repo to see how active your project is. And what if you should
lose interest? No link to the "Network" to see where the patches are going.
What about bugs? I don't see a bug tracker. And for measuring how many people
read my code, well, I think forks and watches on GitHub are a better gauge of
the level of interest than that.

~~~
patio11
We're all businessmen here, and can have a frank discussion about financial
reality without anyone getting offended, right?

My ability to eat is, at present, totally dependent on two things: my site
continuing to rank highly for bingo-related queries, and (secondarily) my
ability to sell fairly expensive consulting services.

A/Bingo exists to make profitable software businesses more money with little
marginal cost. It is OSS because it being OSS costs me fairly little and
achieves business objectives to me. It is not an act of charity in the
slightest: when I donate to charity, the beneficiaries sound more like "my
church" or "poor immigrants in desperate circumstances" than "profitable
software companies." You gaining from A/Bingo being OSS is a positive
externality that I do not optimize for.

Let's talk about the actuarial composite of an active OSS programmer who has
two blogs and a Twitter account, shall we? Actuarially speaking, he doesn't
link to the libraries he uses: he uses too many, and he very rarely links to
any OSS projects these days. When he does link to them, they are typically
higher profile projects. On a good day, he tweet about individual libraries he
uses. Tweets have an economic value which is epsilon from zero to me.

(If OSS programmers don't typically link to me, who does? Answer: consultants
who have implemented A/Bingo and write up about their experience with the
intention of drumming up more business, and sites which follow OSS/Rails/etc
such as the official Rails blog... whose links, by the way, are worth rather
more than links from the actuarial composite programmer's latest blog.)

Let's talk about our actuarial composite programmer, who is a) apparently
interested in diving into Rails code and b) insufficiently interested to
copy/paste a line into his terminal to do so. Will he make a good consulting
lead for me? Well, I do consulting for profitable software firms and can
virtually guarantee them "hire me and your bottom line will increase by a
measurable percentage." Without going into my exact rates, let's just say they
probably would shock the conscience of the actuarial composite programmer, who
thinks a) code wants to be freeeeeeee b) he could implement this anyhow and c)
"I do not have nearly that amount in my checking account -- what do you offer
for the price of a cup of ramen noodles?" (Answer: code available for free,
and minimal individualized attention to your concerns.)

Do you see where I'm coming from?

------
edw519
This works both ways.

I have looked at other people's code and screamed, "Who wrote this
&%*$^#?!?!?"

Unfortunately, half the time it's my own.

~~~
chegra
What is your github address?

------
kingkilr
Basically how I got my current gig, I knew my (now) boss from some open source
work, they were looking for a contractor, and I had a job. No interview, no
nothing, just a discussion of the terms and then down to business. Economists
like to say complete information generates efficiency (or something to that
effect), case in point.

------
agentultra
You're quite lucky then. I don't think I've been in an interview where the
interviewer had bothered to read any of my code despite it being offered and
out in the open. They don't even skim a few headlines from my blog first. I'm
lucky if they know my name without reading my resume in front of me.

------
merijnv
Do people here think there's any importance to how professional/personal the
domain name of your site is? For example, I registered inconsistent.nl
(currently sadly empty because I nuked my web server in an experiment and
_still_ haven't gotten around to fixing it properly) because it fits my
outlook on a lot of parts of the world. And as a bonus it works equally well
as a Dutch or English domain. But other people keep telling me it is to
unprofessional...

~~~
jamii
I've been doing freelance work for enterprisey companies from the domain name
scattered-thoughts and noone has batted an eyelid. I think for a personal
website you're fine as long as its a name you would be comfortable explaining
to a client. Obviously if the website is dedicated solely to your business its
a different matter.

------
yardie
It's probably better to blast something out there so everyone can see it and
possibly offer some advice. I've had plenty of things that were in the
experimental phase and left at that. If someone really wants to see what I'm
up to or what I'm interested in than it's far better to have said something
than to remain quiet and invisible.

I've met far too many programmers who are reluctant to share because they are
ashamed of their code but quick to point out someone else's public flaws. It's
just easier to criticize than be constructive. If someone isn't releasing
memory properly ,in a public repo, then a 2-minute email will straighten that
out.

------
IgorPartola
In my last job search I put my resume on my blog (thereby refusing to send out
Word files) and pointed potential employers to that, my OSS projects and my HN
identity. Seemed to have worked :).

------
mleonhard
I agree with the author that you will have more opportunities if your code is
online.

After graduating, I spent some time putting my personal and class projects on
my website. Later in the summer I got a call from a dev manager who found my
website accidentally when searching for programming info. He flew me out for
an interview and offered me a job.

The job offer gave me the courage to apply where I really wanted to work:
Amazon Web Services. It also sped up the Amazon hiring process.

------
code_duck
Yeah, so... if you put your code out there as open source, under your own
name, a prospective employer might read it. Quite an insight.

------
tdoggette
_"We've read your code."_

"I'm so sorry."

