Sunday, November 3, 2013

HOW A BLACKSMITH LEARNED TO CODE


Everyone everywhere is pushing this whole "Learn To Code" movement, but is it actually possible? This former Blacksmith/Farrier says a resounding: "YES!"

I wrote a Book on how to do what I did, but here's the condensed version of how I went from zero experience writing code to getting hired 9 months later as a junior developer and how you can do the same! I finally decided to teach myself to code after getting my hand kicked real bad and breaking my thumb while shoeing a horse. I came home and told my wife that I was done with shoeing and I was going to teach myself how to code and get hired, despite no experience and no degree. That was October 23rd 2012. (9 months and 2 days later I was hired by ZipList in Reston, Virginia).

Month 1
~Pick a language to learn. I recommend Ruby on Rails because it's fairly easy to learn and there are a lot of entry level jobs for Junior Developers. In order to get hired 8 - 9 months from the day you start, especially with no degree as such in my case, you MUST start marketing/networking NOW!
~ Start a blog today and blog 3x per week.
~ Start a Twitter account and start getting some followers (they may later become your employer).
~ Join every local Ruby on Rails Meetup group within 50 miles and attend EVERY meeting. Start making relationships now and let people know what you are doing. You'll also learn more than you can imagine just by listening to "coder lingo".
~ Start installing stuff and getting your "dev" environment set up.
~ Download and start learning how to use Sublime Text 3 .
~ Complete Zed Shaw’s excellent book: "Learn the Command Line the Hard Way". If you are not familiar with using the terminal.

Month 2
~ Start Chris Pine's "Learn To Program" Book.
~ Complete the first 15 lessons of Git Immersion which is free online.
~ Take Mattan Griffel's excellent course www.onemonthrails.com which cost $99. Trust me it's the best money you'll ever spend and I don't receive a penny for recommending, it's just that good!

Month 3
~Complete Zed Shaw's other awesome book "Learn Ruby the Hard Way". It's tougher than Chris Pine's book but you should be ready for it at this point.
~ Spend the rest of this month catching up on all the loose ends of stuff you didn't totally understand or got done in the previous month. Completely "flesh out" the Rails app you made while doing "One Month Rails". "Learn Ruby the Hard Way" is a lot to do in and of itself in one month.


Month 4
~ Make a basic web app and get it online and DNS working correctly.
~ Find a friend with a TINY small business (any business) or you can just find a crappy old site that needs a serious facelift (farmers markets are a great place to find these).
~ Make a basic site using Twitter bootstrap (look at Michael Hartl's Rail's Tutorial for help).
The goal is to make and deploy online a real website for a small business. You will learn so much from having to make something from scratch and have it online in 30 days. You'll struggle but don't give up!


Month 5
This is where things get real, by the end of this month you should have made a pretty kick butt Twitter app. Now is the time to take on the BEAST of all tutorials:
~ Michael Hartl's Rails Tutorial, all 547 pages of it. The first 3 of the 11 chapters should be easy because of the other things you've done. Go through all 11 chapters and NO "copying and pasting".
This tutorial will probably take you a solid month if you work hard on it. You have now made 2 sites to show potential employers down the road! You should volunteer to speak at local meetup groups and give a talk on how to do something basic for beginners, this is the best marketing you can do.

Month 6
You are getting close and at the 6 month point you want to really let people know that you are serious and are actively pursuing a junior dev job.
~ This month you will want to launch your own personal site. Make a video on your site about who you are and what you've done and that you are looking to be hired.
~ Put your resume up on Dice.com, Indeed.com
~ Make a Linkedin portfolio to get the word out.
~ Give another talk at a meetup group because this is where you'll more than likely make your connection to get hired.

Months 7 & 8  
This is where you start juggling.
~ Give as many short talks at local meetup groups.
~ Get back to recruiters, do phone interviews, respond to emails.
~ All the while within these 2 months you need to make a web app with 2 other developers to show employers that you can work on a team and also to make a really cool app to demo to potential employers.  Stay the course, you’re almost there. Soon you will be sitting in engineering meetings and drinking free espresso every morning!

The last 2 months were the hardest for me personally to keep up with. From interviewing to working full time, with a family and still trying to learn and make an awesome web app so needless to say- I didn't sleep much. Plan on getting around 4 - 5 hours of sleep until you are hired. Know this though: if you study hard and follow the plan, you can get hired 8 - 9 months from today!

I studied 21 hours per week mostly from 10pm - 1am or until I fell asleep on the couch. If you can study 3 hours per night you can get in 84 hours a month, which is really good! Don't give up, stick with it and you can change your life, start a cool career, and make great money in a short amount of time!

52 comments:

  1. figured I'd be the first to assert that this is spot on advice. also, the macro template works for rapid technical skill acquisition. stay curious, stay thirsty.

    and grats on the red pill.

    ReplyDelete
    Replies
    1. Thanks Karsten, I appreciate the encouragement!

      Delete
  2. Congratulations on your achievement. +1 for going through One Month Rails for beginners; I'd made it most of the way through Hartl's tutorial but even though I've coded WordPress for several years (making a living as a web designer/developer) the Hartl tutorial is still pretty heavy going.

    One Month Rails is great for getting something 'real' up and running (Pinterest clone) to keep your enthusiasm levels up before tackling Hartl and the added testing/deployment skills you'll need if you want to get hired.

    Looking to start getting some Rails freelance work in the new year, to hear stories like this is inspiring so cheers for the post.

    ReplyDelete
    Replies
    1. Thanks Luke, I'm glad you are honest and admit that you've done WordPress stuff for years and yet the Michael Hartl Rails Tutorial is hard. I remember struggling SOOO bad and thinking to myself :" How am I going to "get" this!"...I'm sure your comments will encourage others....good luck with the freelancing coming up!

      Delete
  3. Awesome!!! I work with a lot of students from a non-technical background and put together a website to teach web development at www.learnhowtoprogram.com - I'd love to hear what you think, as somebody who recently went through teaching yourself.

    ReplyDelete
  4. Big ups to you. I've been a professional dev for 9 years and that sounds like a damn fine way to start your career.

    ReplyDelete
    Replies
    1. Thanks erickj, that means a lot coming from a guy who's been at it a while :-)

      Delete
  5. Hi Josh, I stumbled upon your blog from a friend's tweet. I am founder of www.codelearn.org , probably one of the lesser known DIY & learn Rails website. I created it to be able to graduate our users to be able to create their own Rails app. It would be of help to me if you can have a look at it & pass on your feedback as to how successfully you think we are achieving our vision :).

    ReplyDelete
    Replies
    1. Wow, your site looks pretty cool! Keep up the good work!

      Delete
    2. Thanks for good words :). I am still trying to figure out where in a Rails developer journey Codelearn could fit the best. Unlike Michael Hartl tutorial, I tried excluding non-Rails (git/heroku) & a little advanced things (setting up test framework). Still, Codelearn really did not get kind of publicity other players have specially Michael Hartl & onemonthrails.com . I am still trying to figure out the reason for it.

      Delete
  6. Inspirational write-up and congrats! I have a family member who's gone through some rough times (he's 30) and he doesn't like the industry he's in and right now he's just scrapping by.

    I told him many times that I would point him in the right direction of where to start coding and in time he could get a reasonable paying developer job with enough work. Sadly he still hasn't taken me up on the deal because I believe he lacks the confidence. Maybe reading this could show him it is possible.

    ReplyDelete
    Replies
    1. Sulfus, I feel for him, after breaking my right thumb and then my left pinky and losing $1,000 a month worth of clients in the winter time, I know what it's like to just be scraping by...your family member can do it...it's a lot of work, but it is SOO worth it once you make the switch :-) All the best!

      Delete
  7. you do realize that now I'm going to have to do this too lol (but seriously). congrats on making it happen man, I wish more people had stories like this to tell

    ReplyDelete
    Replies
    1. DO IT!...I'll put you up on my blog and mention you from time to time giving updates if your serious....we need more examples of others learning to code :-)

      Delete
  8. If you actually did all this you are way more prepared than a lot of people I've seen get hired! Good on you...

    ReplyDelete
    Replies
    1. Hobbs, kind words my friend, most people do things out of inspiration or desperation....mine was certainly the latter which was quite motivating, thanks for reading!

      Delete
  9. Hi Joshua!

    I have spent the last month researching various ways to start learning Ruby on Rails because I am in a similar predicament as you were in (fed up with my current line of work) and I would like to become a Junior Developer (with zero experience) as soon as possible.

    I cannot thank you enough for this detailed and inspiring plan of action.

    That said, I am still slightly overwhelmed by one element of your Month 1 guidelines:
    " ~ Start installing stuff and getting your "dev" environment set up." - What do I need to install and what will I need for my "dev" environment set up?

    Also - are there any things you would do differently in retrospect when starting out?

    Thank you for inspiring me to pursue this!

    ReplyDelete
    Replies
    1. Setting up a dev environment can be tricky, and is very different if you have a Mac or PC. I'd actually recommend you start by learning JavaScript, as it's more immediately useful and far easier to set up than Ruby on Rails. I teach a class on web programming for people who want to change careers (www.epicodus.com), and our curriculum is online for free at www.learnhowtoprogram.com if you want to check it out - it includes instructions on setting up your dev environment for JavaScript and Ruby.

      Delete
    2. @Davide Grody Send me your email address, and I'll send you a free copy of my book "No Degree, No Problem", It will answer your questions on exactly what to install, this article is just the 2 minute overview of the book. The book has a "road map" that will show you the way and keep you on course :-) Although I like Michael Kaiser-Nyman's site he's made and my hat is off to him for doing it. I disagree with learning Javascript. because you could spend a year learning just that alone and still not get hired as a junior dev. Most company's want you to know Javascript as a secondary skill or "complimentary" skill. If you only know Javascript they will want you to be a HTML and CSS wizard and have 3+ years of Javascript experience. I personally would learn how to install some Javascript Plugins and maybe spend a few hours doing 1 Javascript tutorial or something, but Javascript is no joke, trying to learn it and everything else is tough. Keep me posted how you do, I'll cheer you on and mention you here, if you work hard :-)

      Delete
    3. This comment has been removed by a blog administrator.

      Delete
    4. @Joshua Kemp - Thank you!
      I emailed you a few days ago - I'm sure you're very busy, but please let me know whenever you get the chance if my email did not get to you.
      Being an absolute newbie, I am currently going through the 'Web Fundamentals' course on Code Academy. Please let me know if I should be starting elsewhere.
      Thanks again, I'll be sure to keep you posted, and I am looking forward to reading your book!

      Delete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. I love this. This sort of attitude is what made America great. This is very motivating stuff indeed. I wish that in my country most people had this approach to life.

    ReplyDelete
    Replies
    1. Dude or Dudette :-) You are too nice...thank you I really appreciate it!

      Delete
  12. You've inspired me to start my journey :) http://byte-oscar.blogspot.com/

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. After reading some nice stuff in your article I really feel speechless, because it is quit pretty article. Web developmentBeside this it is also a long lasting article. Thanks for giving me such type of useful information..

    ReplyDelete
  15. Nice post, thanks for sharing this wonderful and useful information with us.
    Wordpress Developers

    ReplyDelete
  16. Josh, just want to personally thank you for this blog and your book. I am surprised how quick I got my first app done using onemonthrails with a little tweeking. ilikerobot.com

    ReplyDelete
  17. Valuable info. Fortunate me I discovered your web site accidentally, and I am stunned why this accident didn't came about earlier! I bookmarked it.
    web development

    ReplyDelete
  18. Hey Josh, I just wanted to say that I finished your book and was so moved by your story that I actually bought a MacBook (lifelong PC owner) and have begun my journey to learn to code as well. I bought Chris Pine's book and I am reading it now. I have started a blog as well chronicling my experiences and just wanted to say thanks for what you've done. I really appreciate it. If you want to check my progress from time to time, my blog is at skywardabyss.blogspot.com.

    ReplyDelete
  19. Wow-this is a great blog. As someone who's self-taught, I can appreciate the hard work and dedication it takes to go from zero to hero. I fell down the rabbit hole in 2010, and had to tell my family and friends that I'm going to be a web designer and developer, despite them thinking I'd lost my mind. Chronicling your experience here and giving others a workable timeline is fantastic, and I'm sure you're going to be able to inspire some people to change their lives, for the better in my opinion(I'm a little biased). I got sucked in by WordPress, so I began learning PHP, then HTML/CSS, then JavaScript, then preprocessors, MySQL, Apache, the WordPress templating system, and on and on. And as you know by now, it will never end. It feels good to know we'll always have work, always be using our noodle, and always have something new to explore. I just wish I had thought of this career path 30 years ago. But it's never too late.
    Thanks for the work you've put in here.

    ReplyDelete
  20. Great post.. It gives me lots of ideas and information...
    Hire Dedicated VA

    ReplyDelete
  21. If you actually did all this you are way more prepared than a lot of people.
    Dedicated Developer

    ReplyDelete
  22. you do understand that now I'm set to need to do this excessively lol (however genuinely). well done on getting it going man, I wish more individuals had stories like this to tell

    Web Designers London//Apps And Webs Development

    ReplyDelete
  23. Hello Joshua, I've followed your journey for a while now and you've convinced me anything is possible if you work at it. I'm in a similar situation finding myself in a job I do not enjoy with little opportunities for advancement. I have 4 kids aged 12, 8, 5 and 1 so school is not an option (too expensive). I would appreciate any advise you can offer, I need a plan or path I can follow. I'm also undecided as to RoR or PHP since i'm a beginner.
    Thank you

    ReplyDelete
    Replies
    1. @Richard, Send me your email and I'll send you a copy of my book...RUBY all the way though! But yes, this is not magic, it is within reach of anyone who puts in some serious effort for 5 -8 months and they can get hired, thanks for reading man!

      Delete
    2. Thank you Josh, you definitely hava a nice following here. Very inspiring. My email is ojeda.richard@gmail.com

      Delete
  24. You're a smart and plucky young man, Josh. I'd hire ya!

    ReplyDelete
  25. Josh, thanks for putting this timetable up. I've been investing a couple of hours almost everyday trying to learn to code some, but it's been tinkering with a couple of different languages. I didn't know which one to invest some time in. Now, I'm gonna go with Ruby all the way.
    It's inspiring for me to see that you were able to learn and find work in such a short amount of time as 9 months. I've been homeless (in Reston btw) for a bit now and working to get out of it now (at a deadend job), but it would be nice to have a good job where I'm able to provide a good living for myself. I can't thank you enough for the inspiration!
    -Brian

    ReplyDelete
    Replies
    1. Hey @Brian send me an email at joshuakemp85@gmail.com maybe we can get lunch some time :-)

      Delete
  26. This comment has been removed by a blog administrator.

    ReplyDelete
    Replies
    1. @BABATUNDE ,.......I am SOOOO sorry I accidently removed your comment :-( Please send me an email to: joshuakemp85@gmail.com but the short answer to your question is a resounding: "YES!" feel free to recomment and I promise to do click on 'remove' by mistake :-)

      Delete
  27. Hello mr Josh, Sent you a mail.... Thanks.

    ReplyDelete
  28. what made you change your mind about one month rails? in your early posts, it didn't see like you were that impressed? I'm debating if I do it or not.

    ReplyDelete
  29. @stephanie I originally took the first One Month Rails, and I completed it in 2 days easily. I was not impressed and felt mislead. Since that time One Month Rails allowed me access to each of their new "updated" releases of One Month Rails and I am now a fan of it. I do think they charge a lot, BUT it really is good and the teaching style is incredibly easy for new people to understand. If you are new to Rails it really is the best in my opinion. Hope that helps :-)

    ReplyDelete
  30. wow! fast response! thanks. i think this sways me to take it soon. I'm trying to finish up Chris Pine's Learn to Program first. PS good luck, saw your post on being let go. hang in there. you are a great inspiration to me!

    ReplyDelete
  31. @stephanie, Thanks! good things to follow in the next couple of weeks, glad you are enjoying the blog! :-)

    ReplyDelete