It’s taken me a year’s worth of hard work and lots of dedication to get to this point. I’ve officially accepted a software developer position and will be starting at the end of this month. I’d like to share my experience with others so they know what a possible route in landing a developer gig could look like. Full disclosure, this is my path and I definitely don’t believe it’s the only one.
First, I’d like to put everything in perspective. I think level setting the field will give you an idea of who I am and what my skill set was at the time I decided to start my journey to Ruby/Rails development.
I’d say the story starts back in middle school. I was always interested in computers. I was an avid PC gamer and built a few websites when Geocities was huge. I took a semester long course in high school that covered the basics of HTML. This was back in 2004 when web development wasn’t all the rage it is today. I even (dare I say) played around with MySpace for a short while. It was in high school that I strayed away from technology and decided to pursue a career in human resources (they said average salary was $90K…boy were they wrong). I graduated with a bachelor’s in HR, got a job in HR, then made a pivot into becoming a business analyst at a software company. I played around with a few WordPress sites here and there, but this is where it gets interesting.
The BAs at this company weren’t your traditional BAs. Not only did we do all the requirements gathering and analysis, we actually did all of the coding as well. We build HR software, working in our own DSL and framework. So we are actually grouped with the development department. That being said, we went through the typical SDLC. Although we worked within our own framework that nobody else would ever know, we were still a development team that went through the same process any other development team does: analysis, design, coding, documentation, maintenance, etc. What I’m trying to get across is that I was essentially a developer already, just not working with common frameworks. This, I strongly believe, was an advantage over someone who comes from a completely different background.
After a few months in my new role, I came to the early conclusion that none of my technical knowledge was transferable. If I wanted to stay in development, I needed to learn other languages. That’s when, almost exactly a year ago, I decided to learn Ruby on Rails.
- I bought a used mid-2009 Mac Book Pro 13″ for $300. Rails development does not require a whole lot of power, so this thing has gotten me very far. It was strictly used for Rails.
- The first tutorials I started: JumpstartLab’s Blogger, Rails Guide’s Blog Tutorial, and Hartl’s tutorial.
- Started this blog (something I highly recommend everyone does).
February 2014 – April 2014
- Attended a few Meetups. There’s a great one here specific to Rails.
- Continued my learning path. I started a personal project to help learn since tutorials are a bit of a spoon feed.
- Scoured Google and StackOverflow.
- Landed an interview with a local company for a Ruby developer. It was a decent size company. I think they said it was around 140 people. I want to stress that this was for a Ruby development position, not strictly Rails. This deserves its own post because boy was I humbled. There was an initial lunch meeting to get a feel for who I was, then a 4 hour interview where I was grilled by 8-10 people on my technical knowledge. We pair programmed for the last part of the interview and it did not go well at all. I have an HR background and did recruiting for many years. I’m generally comfortable in interviews, but boy was this an eye opener. I’ll explain my experience more specifically on this in a separate post. For now, just know I bombed a Ruby developer interview.
June 2014 – October 2014
- After my dismal interview, I actually became more encouraged. It really showed me what to expect if I wanted to break into real development. I NEVER want to feel like an idiot again.
- I continue my personal project and actually have a few under my belt. I use a variety of resources to further my knowledge.
- Things start to click for me during this time. I start to understand a little more on how to tackle certain issues and can build skeleton apps.
November 2014 – Today
- I release a Udemy course that goes over how to build a Craigslist Clone. I’ve received good feedback. 24 students and counting!
- I apply for a Ruby/Java developer position and get an interview. It’s with a smaller company, 40 – 50 people. It’s actually a great thing because then I have more chances to get my hands dirty with all different parts of development. I start my new role end of this month :).
Essentially, a lot of persistent and resilience to the challenges that you will most definitely encounter. Being a self taught developer takes a strong will, and I think companies know that. Ruby is one of the few languages I’ve seen to be primarily self taught. The community is very supportive and it seems like most of the senior developers have all been in our shoes. There is a certain level of empathy, and if you’re willing to learn and stick with it, it shows commitment and perseverance. All of which, regardless of your title, are great assets to have in an employee.
Depending on where you are located, your path may be a lot shorter. I’m located in the Twin Cities. We don’t necessarily have a booming tech scene. Therefore, it took me a lot longer to find a gig since companies were less willing to take a chance. If you were out in California or New York, I’m positive you will take a lot less time than I did to land a developer position.
Here’s a blog I posted a few months ago on what I used to help my learning:
List of Resources to Learn Ruby on Rails
My hope is to further my knowledge, only to return the favor and help others learn.