
How a blacksmith learned to code - joshuakemp1
http://joshuakemp.blogspot.com/2013/11/how-blacksmith-learned-to-code-and-9.html
======
joshuakemp1
@sherr Thanks for the kind words and encouragement. I guess I should have
clarified that by NO MEANS do I consider myself a Software Engineer, I am
still VERY much a junior developer who has the awesome opportunity to get to
work on an awesome development team at ZipList! I love getting to learn and be
mentored by the senior developers at ZipList. I only wrote this article and
blog to show others not to give into the naysayers and that regardless of your
prior experience or education you CAN learn, and get hired even if you don't
have a CS degree or any degree for that matter. Everyday I am SO excited to
get the opportunity to really start to learn this wonderful craft at a great
company....keep coding peeps, you can do it! :-)

~~~
e12e
I always say that everyone can (and should) learn to program -- but by that I
usually just mean that you can't be considered computer literate without being
able to make the computer automate work for you. For most people picking up a
powerful editor possibly combined with a scripting language or two
(shell+awk+grep, perl, python and/or ruby for instance -- and maybe throw in
R, Mathematica or something for crunching numbers (even SQL -- it depends on
what you need)).

It's still fascinating (and maybe a little sad, re: the state of programming)
that you could end up earning 70k after a year of part-time(?) (hard!) self-
study. Maybe even more sad that you (as I understand it) made less as a
(presumably) proficient blacksmith.

All that said, we've got few blacksmiths in Norway, so if you want to switch
back, consider migrating here ;-)

------
invalidOrTaken
Frankly, I'd be more interested in "How a developer learned to forge metal."

~~~
clarry
I don't think there's a much of a story to write about it, but I decided I
don't want to waste a life employed in IT after all (as someone who's been
coding all his life), and wanted to learn something new. Eventually I chose
metal work; now I'm learning welding and machining. I'm also hoping to learn
something about casting and forging and stuff.

Coding will remain a hobby so that I may focus on what I love about it, and
stay true to my principles & avoid making any compromises due to commercial
pressure.

It wasn't an easy decision to make and I still feel horribly uncertain about
my life and all tha. On the other hand, learning something completely
different is very very refreshing, and inspiring.

~~~
ciclista
I'm currently learning how to weld as well (full time program). There's
definitely something very satisfying in learning how to build things with your
hands.

~~~
clarry
Indeed. Thinking back what once got me into programming as a kid (and what
still keeps me interested) was the idea that with a reasonably powerful
computer and some skill & time, I could _create_ any software imaginable. It
wasn't a special affection to software in particular, but to making things --
and computers made making things very accessible because once you had a
computer, you had all the tools you needed.

Now the maker inside me must've realized that making physical objects we use
and rely on all the time isn't impossible, and can indeed be quite accessible
once you learn a few things and make some investments (or find a good
hackerspace?).

I would recommend any coders out there who code out of the love of creation
and the freedom that comes with it, to at least consider expanding their
horizon and learning to manipulate more than just bits. It doesn't have to be
metal, in fact with 3D printing and diy electronics you could end up with
something really awesome. (But don't forget 3d-fad isn't the only way to deal
with plastics; it can be machined too, for instance). Combined with your
software knowledge, who knows what great new ideas a new skill might bring
with it? It'll deepen the experience of _making_ for sure.

~~~
ciclista
I started as a kid as well. One of the wonderful things about computers being
self-contained learning environments is that there's such a wide range of
possibilities for expressing your intellectual curiosities and ideas.

Now that I'm a bit older though, I am enjoying the physicality of working with
my hands, producing something tangible and having something that can outlast
me, instead of code that most likely will just last some years.

After I'm done with my welding training, I'd like to do at least some
introductory machining classes. Perhaps even a furniture making course. I have
to good fortune of living very close my community college, and as long as I
can work part time as a developer (albeit at odd hours) I want to keep
learning how to build things with my hands.

------
elteto
I really liked this post, is full of good advice on how to implement big
changes, like having small, bite-sized goals where performance is easy to
evaluate. The networking part was very well done, forcing himself to engage
the community, it puts him out there and provides positive value. And finally,
building a very simple website for someone was a great idea, there's nothing
like getting experience from a real world project. Joshua, congratulations!

~~~
gwern
Yes, small bite-sized goals is so important for keeping going in long-term
discouraging projects - as let's face it, programming can be _infuriating_ and
tedious! lukeprog calls the focus on small bite-sized goal "success spirals"
[http://lesswrong.com/lw/58m/build_small_skills_in_the_right_...](http://lesswrong.com/lw/58m/build_small_skills_in_the_right_order/)
and I think it's definitely important.

~~~
elteto
I just noticed your username, and I have to say _thank you_ for your detailed
articles and specially for your melatonin study. It personally helped me in
improving my sleeping habits when I was having a lot of stress-induced
sleeping issues. Thanks again!

~~~
gwern
You're welcome. I think the melatonin suggestion is particularly valuable for
HNers as we all tend to spend so many hours staring at bright white/blue
lightbulbs called screens...

(I think my recently finished Redshift self-experiment will show this effect
dramatically.)

------
barefootford
I love this story (and have read his book), but this sure isn't happening in
the Valley or San Francisco.

As someone who's a similar skill level to Josh and applied to tons of jobs
here in the Valley, I've found that this is an isolated story on the other
coast. In SV/SF you have 5/6 developer bootcamps cranking out developers each
month applying for a handful of junior jobs. I'm sure the blogging helped, but
I doubt any companies would have offered the same salary here (60-80k) when
they could have had their pick of developers that just worked 80 hours a week
for 12 weeks.

------
adamnemecek
I wonder if the knowledge transfers to bare-metal programming.

------
sAuronas
As someone over 30 with two degrees and programming for 7 months now (JS and
now Objective C), I found this story quite interesting. I mentioned my two
degrees because they are worth about as much as his no degree. My masters was
from Georgia Tech in city planning (land development) and got me decent jobs
in real estate development until the Great Recession. Now, I am unemployable
in my field because I am more nerd than marketing mouth-piece.

That said, it is a little disheartening to learn than I chose to learn
technical skills (I love just learning about the differences between all the
syntactically-similar C-based languages) only to be in the same stupid
predicament of needing to rely on marketing and gimmicks to get a job.

Maybe if I did not live in the Hollywood of the programming world, that might
not be the case but I do. It was a nice story nonetheless. I see he benefited
from having friends who code to tell him exactly how to get the most out of
his code 9 months. I spent three months doing a @"Code Year" += 2 at
Codecademy --before --I formally even learned how to type (big mistake) and 6
months before I started commits to Github (bigger mistake?)... and I still
have not been to a JS event. Not even Hacker Dojo.

Anyway, good for you for getting there. I will put down the text books and
text editor and start networking...right after I finish this Objective C app.

------
NAFV_P
Fools, this is just marketing dressed up as an "inspiring story".

This guy sounds like a _self-help guru_ , he doesn't sound like a programmer.
Oh look, there's a book he has written which is available on Amazon.

He also suggests Zed Shaw's Ruby tutorial a couple of paragraphs after
mentioning Rails. What the hell is this guy smoking?

The road to success he describes is linear, with no branching points. A
complete lack of flexibility or discovery, the exact opposite of learning
programming.

------
somberi
Fantastic show Joshua. Very useful post and I passed it along to some friends,
who wanted to get into coding. To state an obvious and pervasive point, on why
I would want to hire someone like Josh, is his persistence and hard work,
which will be as important an asset as his coding skills (even more so, at
current point where his coding skills are accretive).

A point to note - The one-month rails course is now 99$, as opposed to $49 you
had paid.

------
deadghost
I read "month" as "day" and thought holy crap this guy is destroying it!

I only saw two sites he made in his resume(two including the blog itself) and
I'm surprised that's all it takes for $70k job. A lot of it is probably due to
strong self-promotion and initiative rather than raw programming prowess.

~~~
eru
Salary is also strongly dependent on location and industry.

------
toddan
everybody is learning howto code but when will people learn how to solve hard
problems. I would rather see people learning complex math and physics before
learning how to code. creating various crud applications is not really that
hard.

~~~
brianfryer
You're right, but making CRUD apps pays a lot better (and more quickly) than
complex math/physics.

~~~
downer99
[http://xkcd.com/664/](http://xkcd.com/664/)

------
gknoy
This was an amazingly inspiring article. Thank you for writing it. It was
astounding to see the degree to which you threw yourself in. Your points about
marketing and joining meetups EARLY seemed especially insightful. And, you top
it off with, "And then go build at least two awesome things that solve
people's problems".

That is awesome. Well done!

------
sherr
Congratulations Joshua. Great reading about your experience learning how to
code, sticking at it and getting the job you wanted. Your post was short on
details (I assume your book will have more) but still inspirational.
Definitely good reading something positive like this at the weekend! Good
luck.

------
ammon
I'm an erstwhile (amateur) blacksmith, now a programmer. Funny to see the two
together. Blacksmithing and programming are both areas where practitioners
make their own tools. Compilers and tongs can be bootstrapped.

------
knes
So basically it was more how to market yourself and get a job to "learn how to
code".

~~~
jasonpbecker
Actually that was pretty important advice and a huge part of the
picture/story. You can learn through non-traditional pathways just fine, but
if you want to turn that learning into a career you're going to have to know a
lot more about marketing and put it into practice than someone who has taken
the traditional route, with a familiar story, and traditional access to
employment opportunities.

This could have easily been a story about someone who spent a year learning to
code and reporting how it was a waste of time because no one wanted to hire
them. I bet a lot of folks run into that and just don't bother to write about
it or make it to the top of Hacker News. Marketing matters, and if you're
going to put in 20 hours a week as an investment in yourself you better be
thinking about how to get a return.

------
madaxe
I've a friend who principally for a living shoots things - pigeons, rabbits,
and other such pains-in-asses for farmers.

In the UK, there's a fairly complex framework as to where you can shoot, how
much you can shoot, and when you can do it. To this end, he's developed,
single-handedly, iOS and Android apps for hunters to manage such and record
their kills, principally for compliance purposes but also for their own
edification.

Either way, it's been fascinating watching him learn - his approach has been
to learn on the go, and iterate. He's gone from hacked-together PHP obscenity
to android/iOS APIs and frameworks in about two years.

