
Wherein I help you get a good job - malbiniak
http://www.aaronboodman.com/2010/10/wherein-i-help-you-get-good-job.html
======
tjmc
An easier alternative - I'm really surprised that out of work graduates from
the US aren't getting Australian working holiday visas and flooding down here.
Due to a resources boom (thanks China) unemployment is only 5% here. There are
skills shortages in most technical areas and particularly mining. The Reserve
Bank of Australia just raised interest rates again because it was worried
about the economy overheating.

The working visa has some restrictions - you must be between 18 and 30. It's
only valid for 12 months and you can only work for a maximum of 6 months for
any one employer. The last provision is a bit tough, but there are still
plenty of 6 month contracts around.

Why do Americans have such a strong reluctance to travel abroad for work? I've
never understood it. It's a great opportunity to get some work experience,
live a little and, particularly for the mid-west and east coasters, skip
winter!

~~~
pyre
Are you sure that US citizens can get working holiday visas in Australia? I
was under the impression that most common-wealth countries had such agreements
(and for some odd reason Japan is included in there), but that was it. For
example, a US citizen can't get a working holiday visa in Canada, but a
Japanese, Australian, or UK citizen can.

~~~
tjmc
Yep. Details from the Dept of Immigration:
<http://www.immi.gov.au/visitors/working-holiday/462/usa/>

You're right that it was previously just Commonwealth countries, but I think
US citizens were included as part of the US-Australia free trade agreement
signed a few years back.

Also, I can't see any tertiary education requirement on the site (just
secondary), but apparently you need to show you have access to $5000 on
arrival.

~~~
Maxious
Note that the US-FTA immigration arrangements are reciprocal; in exchange we
aussies get an exclusive entry to america for under the E-3 temporary work
visa program: <http://canberra.usembassy.gov/e3visa.html>

------
wccrawford
Actually, that's a 103 step program, but I agree with the advice. If you want
to get a job, you need experience... And the internet is full of projects that
need bugfixes. That stuff looks -great- on a resume. Take that from someone
who interviews hirees.

~~~
sanswork
I agree. As I mentioned on one of my CV reviews from the other week(Sorry if I
didn't get to yours yet, I have my list but it takes me 10-15 minutes to do a
good one and I've been short on time). When I get a CV I scan it quickly for
an idea of what the person is about then throw it out or in another pile for a
more in depth read.

A link to github or a blog or something where I can see some of their work "in
the wild" (not just a portfolio link) always gets them in the second pile as I
find code a far better indicator of a good programmer than a good CV.

------
KevinMS
_But there are a few fields that are hiring like crazy. One of them is mine:
software engineering. Major tech firms cannot hire fast enough. It's so
competitive that you do not need to have a degree (I don't)._

Was this written in the late 90's?

I follow job listing sites almost daily, and I'm just not seeing this. I'm
also not seeing it in the volume of headhunters contacting me.

And thirdly, what job listings I do see, they have absurd ideas of what
qualifications they require. Yesterday I saw a job listing for perl scripter
for system automation tasks requiring a BSCS, MS preferred, and a little while
ago I saw a sysadmin job requiring a BSCS.

I'm not in the middle of nowhere, I'm in the Boston/128 area.

So do I have the worst job hunting skills ever or is this guy living in a
bubble?

~~~
SandB0x
In my experience, mainstream jobsites are awful for software jobs. Jobseekers
are sitting there firing off CV's left right and centre, and the recruiters
put things like "MUST have a BSc or MSc in Computer Science" to try and stem
the tide.

Good companies don't care if you have a CS degree as long as you can code and
think. That said, someone may have embellished the job requirements and if you
think you'd be a good fit for a job it may be worth applying anyway.

I'm not sure what the situation is if you have no degree at all, or a degree
with no scientific or technical element, but it helps to have evidence of your
skills, and whatever your situation it _really_ helps to know people who have
a good impression of you and your abilities.

For better jobs boards, look at:

Stack Overflow Careers
[http://careers.stackoverflow.com/Jobs?searchTerm=&search...](http://careers.stackoverflow.com/Jobs?searchTerm=&searchType=Any&location=boston&range=20)

HN Who's Hiring threads. Eg <http://news.ycombinator.com/item?id=1659409>

Also, check local user groups for whatever languages/technologies you're
interested in.

~~~
cletus
While you can get a job (and a good job at that) without a CS degree it is my
opinion that you are putting yourself at a significant disadvantage by not
having one.

One aspect is the theoretical foundation. You can of course get this by just
reading yourself and a transcript doesn't actually prove you know anything but
without a CS foundation, the onus is now on you know to prove somehow you're
simply a "monkey see, monkey do" cut-and-paste coder.

The other important part is practical. Companies get a lot of CVs. For
programming jobs, the most common filter is "has a degree". If you have one,
you go in one pile, if you don't, you go in the other (which is often filed in
the big circular filing cabinet). What's more, hiring managers may have their
hands tied on this one: it could be HR policy or the hiring manager may not
even see your CV because HR has already filtered it out (this happens _a lot_
).

After I started working I went back and studied part time to get a degree. I'm
glad I did, even if it's major use is to have one less barrier to being hired.

------
asolove
If this article is targeted at people with no experience (ie it mentions
learning how to use IRC), is recommending that they fix bugs in C++ code
really the right answer?

Why not start with a Python project or something more realistic?

~~~
aboodman
I specifically chose Chromium (or another browser) because it is one of the
few pieces of open source software that normal people would have direct
experience using.

Seeing your fixes shipped to you and your friends' browsers is an awesome
motivational tool.

It's true that it's harder, but it seemed like a reasonable trade-off.

My main concern with picking a browser wasn't the difficulty it was the
expense of having a good machine to work with. Sadly this applies to all
browsers that I'm aware of. Building Mozilla is terrible. WebKit is probably
the best; it just contains less code (you only build the rendering engine when
you work on WebKit, not the browser).

~~~
swombat
Granted, but the learning curve to pick up all that's required to becoming an
active committer to the Chrome codebase (command line, VCS, UI programming,
OOP, Pointers, C++, and so on) is more like a vertical cliff than a curve.

Out of 1000 non-CS people who try to do this I'd be surprised if even 10 make
it through to compiling the Chrome source, and I'll be stunned if even 1 makes
it through to the end of your "5-step plan".

It's a noble aim, and the idea in general is right (learn to program and
contribute to open-source software) (though I can't quite agree with
considering their education a "sunk cost" - you need to build on what you have
or you'll always be disadvantaged), but there are better, easier ways to
achieve that objective than going straight from "I've never seen water in my
life" to jumping into a pool infested with shark, mutant piranhas and man-
eating giant squids.

~~~
dmethvin
> I'd be surprised if even 10 make it through to compiling the Chrome source,
> and I'll be stunned if even 1 makes it through to the end

Isn't that part of his goal, though? It's great to find people who are that
passionate about the work. Somewhere out there a developer is drooling to work
on a browser project and would be in heaven if they could prove themselves
good enough to make the team.

~~~
swombat
I'd argue that in this case, he's not helping them (the 1000) to get a job,
he's helping himself (the Chrome developer) to get an extra committer or two.

------
ximeng
Advice is to contribute to Chromium, fixing 50 bugs over the course of a year
or so. Might not be an easy path though, personally when I tried to compile
Chromium, it took my PC 8 hours compiling before coming up with a fatal error.
Been thinking about getting EC2 instances to compile it, has anyone tried
that? Software license costs for Visual Studio put me off a bit.

~~~
Tichy
You can download a compiled version :-)

Seriously, do you have to compile the whole program for every code change? I
suspect that is not necessary?

~~~
jerf
This is merely one of many questions you will end up learning the answer to if
you pursue this program.

------
rrrhys
I've never contributed to open source before - this might be just enough of a
'its easy just do it - like this' type tutorial to get me started.

~~~
jim_dot
you really needed someone to tell you that it's easy to contribute to open
source?

~~~
jamesaguilar
Stereotypically it's not very easy. Open source projects are frequently
schizophrenic about the code they will accept, saying one day that it's a
great idea and the next day rejecting your patch because it's not something
they want to do. (This is standard for multi-agent systems, but it's still
quite discouraging.) And then there are the attitudes involved. To say nothing
of the overall difficulty of writing software.

It's not merely a question of needing to be told that it's easy to contribute.
That's not even the right way of looking at it. The question is whether it is
easy at all, and I say no. If someone told me it was easy to contribute to
open source software I'd know they were either lying or delusional.

~~~
aliguori
I've found few projects that are even close to schizophrenic.

I think the thing that people often miss is that getting a patch that works is
really only 50% of the process of getting a bug fix/feature merged into an
Open Source project.

In a company, the hiring process is an initial crap filter (or at least is
supposed to be). In an Open Source project, the filters work very differently.
You won't find a lot of (community driven) projects that spend a lot of effort
putting together detailed documentation about how to build a project and
submit patches. That's because figuring this out is the first level filter.

The second level filter is figuring out the architecture of the project. This
can be difficult in a subtle way. In a company, you can usually sit in a
conference room and have someone explain to you all of the details of the
project such that you have a pretty good idea of how a patch or feature should
be implemented.

In most Open Source projects, you generally have to code up an initial version
of the feature and then you'll attract enough eyes that you'll get the
feedback about how to do the feature properly. If you're a long term
contributor, you skip most of these steps and the process is fast. If you've
never contributed before, it's almost certainly going to take a lot of effort.

It's all about scalability. Open Source projects significantly reward people
that are self motivated and can figure processes out without a lot of hand
holding because that's the type of person you need to build a successful
project when there aren't any managers, program managers, or formal
architects.

I think that's probably the biggest value of the proposed plan. If someone has
gotten 50 patches into a major project, it says a lot more about the
individuals personality and motivation than it does about their programming
skills.

~~~
jrockway
_That's because figuring this out is the first level filter._

Absolutely not. It's because it's boring and it's time for bed now so let's do
that tomorrow. Eventually it does get done, though; all the big-name open
source projects have this sort of documentation available.

(And now, thanks to Github and the implicit fork-and-pull-request model, so
does almost everything else. Reuse++!)

------
bhoung
It's great that the community is giving advice on what steps to take for
getting a programming job, but I would like to add that finding a job is a
short term fix. If one is only trying to work out how to get a job for the
sake of getting a job, it will only be a matter of time before one is bored.
But then again, you'll probably only realise this only having gone through the
process. Try to find something that interests you, which may or may not be
programming.

------
celticjames
Great advice, but two caveats:

1\. Employers are often focused on hiring very specific skills sets. Having
fixed a C++ bug in Chromium should impress them, but if they need a Django
expert they still see you as a novice. It can be hard to present yourself as a
well-rounded candidate if all your experience is with one project.

2\. In a couple of interviews I've had, I've noticed a distinct bias towards
valuing paid work more than open source contributions. It's often hard to get
interviewers to understand that something I've done for free is on the same
scale (or greater) than things I've been paid for.

------
Tycho
This article is like a breath of fresh air. One of the few things you read
about the industry that doesn't make you feel vastly underqualified. I'll
definitely take aboodman up on his offer (coincidentally I logged onto
freenode for the first time in my life a few hours before reading this...),
although I expect he's inundated with responses right now so I'll leave it a
few days.

------
jkin
This is an interesting path to get a good software job. I agree that when it
comes to software jobs, a good resume with a lot of techno buzz words does not
mean anything. An interview that gives coding puzzle can easily tell a person
if he's capable or not. But a non-tech hiring manager will not be able to
carry one out, a few references of open source projects, bug fixes definitely
boost up your scores quite a bit. I've hired some good people and some bad
before, at the end of day, your project success is not based on how many PhDs
there are on the team, but how many coders that can deliver.

------
Mongoose
What's the most effective way to mention open source work on resumes? I
generally mix it in with other non-school- or -work-related stuff in a
"projects" section, but is there a smarter way to emphasize it?

~~~
wccrawford
If you've got a lot of it, make it its own section. If you don't, but you
think it's significant work experience, I'd put it under 'work experience'.

Last time I wrote a resume, I didn't have enough that I felt it was
significant, so it went down as a relevant hobby, just like volunteering at
the computer shop in and winning awards for computer knowledge high school.

------
usedtolurk
Part of me loves this kind of inspiring advice ("you too can grow up to be
president"). And it certainly is true for some people.

But the truth is that most people who try this will fail. Very few people have
the right combination of aptitude and attitude to do this (especially
considering that the intended audience is people without an IT background).

[edit] Perhaps the message to take away is that there is a low barrier to
entry in our field, so it's worth giving it a shot.

------
bsk
"Work for me for a year w/o salary and I'll help you get a job." /jk

There are better routes for new programmers IMHO.

Start at <http://rubyonrails.org/> and build a website you find useful.

Learn SharePoint or BizTalk, those are boring but in very high demand now.

Even more boring, sing up for a cheap 6 month Cobol course in India.

~~~
jordanlev
I agree that learning how to get a website up and running is an easier way to
go (and hence more likely to succeed and be morale-boosting). Even if web
development isn't considered as "hard-core" as working on compiled
applications in C++, there are still a decent amount of jobs available.

------
smh
A good complement to this would be to work through the exercises in K&R.

------
RockyMcNuts
Can't help wondering if CodingHorror.com posted this because they were running
out of material.

~~~
RockyMcNuts
learned my lesson... any attempt at humor loses karma lol

~~~
RockyMcNuts
let me give the humor police one more to downvote lol

