I'm about to pivot my life from using my marketing degree to devoting myself to becoming a Rails developer. My wonderful and analytical wife wants to see some hard data on the number of open junior Rails dev positions vs the number of applicants, or anything of that sort. She's too careful to believe my "everyone says we're in the middle of a Great Dev Drought" protestations.
Please help me find the right data. And if you have some anecdotal evidence, we'll consider that too!
Thanks a ton!
EDIT: Since there is a consensus that having an active GitHub profile is a good thing, no matter how messy, here's a link: https://github.com/BrainScraps
As someone trying to hire Rails devs right now, I have two things to say - one good, one bad.
* The Good News: I started coding 18 months ago, and now I'm a lead developer at a funded startup and a two-time contributor to Rails (along with other contributions to open source).
* The Bad News: While there is a hiring drought, there is NOT a drought for hiring guys who just learned Rails three-to-six-months ago at a dev bootcamp somewhere. We get literally dozens of cold emails a week from people like this. The amount they can contribute is almost nothing and 95% aren't capable of holding down a FT junior position.
I think my point is don't think that you'll go to some bootcamp at have a job for 90k with benefits in 6 months. You need to work your ass off to be employable in that amount of time, although it's possible.
I am among those who want to work as a Rails developer eventually, and I would be very much interested in hearing your thoughts about what you are looking for in hires. Things like what applicants lack the most, what you look for the most, and so on. I work my ass off towards my goal nights and weekends (as I have a day job doing something else), but I haven't started applying for jobs yet.
Good Rails devs are hard to find and in large demand. As a beginning Rails developer, though, you'll need to convince your new employer that you are a net gain. A junior dev can need so much hand-holding that they can steal away precious time from a senior dev.
Put some good Ruby code on github. If you can, you'll improve your chances of getting hired quite a bit. If you can't then you're not ready to be hired yet.
I'm actually making a part of my transition plan to attend an intensive course like those offered by General Assembly and CodeFellows.org
Those programs are designed to give me plenty of opportunity to put up live projects and public code. I have some stuff now, but it's so messy and noob-tastic that I'm not showing it to anybody for fear of being put in the stocks. It's that bad. :/
I'm throwing this out there as a tech lead who interviewed and made hiring decisions on juniors in the Austin, TX market.
First, working apps are big: put them on Heroku, link them up. I don't care how "straightforward" or "noob" they may seem, I want to know you're capable of shipping working products. If you can only get me 90% of the way to a solution, having to solve the last 10% for you on a regular basis makes you far less valuable to my team. Blog about the challenges or one interesting aspect of each of these projects: even 3 paragraphs can show me you know how to communicate technical things.
Second, GitHub all the things. Show that you know the "full stack": front-end markup, data modeling, a bit of jQuery can't hurt. HAML/SCSS are all the rage, not too difficult to pick up, and show you're "hip."
Third, go to Rails meetups: in Austin, we have a hacknight every Tuesday, and a monthly Rails meetup. If I've worked on a problem with you over a beer, your resume will naturally gravitate to the top when I have an opening.
All of those things are doable over weekends and evenings, and running with just these three tasks for 6 weeks would put you, in my experience, a hundred miles ahead of everybody else looking for a junior position.
I'm a tech lead who does interviews and makes hiring decisions for Rails developers, and I completely understand your sentiment, but I encourage you to push past that and publish anyhow.
More published code is better than less published code irrespective of quality, because it tells me that you're engaged and devoted to your craft, and it gives me a sense of what projects and technologies you're interested in and have been exposed to. Additionally, publishing code gives me a way to see your progression through the craft, and to get a sense of not only how developed you are as a programmer, but how you're growing.
A junior programmer who shows growth and improvement is a much better hire than a junior who is competent but shows no growth. When I hire people, I want to hire people who will grow into strong senior developers over their career, which means that I'm primarily looking for ability to learn and grow rather than a specific buzzword checklist. Hiring a junior comes with the expectation that I'm going to have to train and hand-hold them, but I want to hire a junior who will progress out of that stage, and will be able to start taking care of those things for new hires down the road.
Publishing code on Github doesn't mean that you're asking other people to use it; it just means you're publishing it. A Github profile on a resume is a +1 for me; a Github account with a lot of forks is another +1, an account with original code is yet another +1, and an account with original code that other people use is the big cherry on top. In all cases, though, I'd rather see an active account filled with "noobish" or "messy" code than an empty account.
I'm curious about GitHub and the code you review. Like many, I can hate my own code and sometimes feel that it will be used against me in a hiring process. So I guess what I'm asking is how much does it count against a potential hire that they have bad code and/or bad ideas on GitHub?
> More published code is better than less published code irrespective of quality
This is the path I try to walk. I'd rather put something out there than nothing at all.
Crudely speaking, no code < bad code < good code. However, what I tend to be interested in is curiosity and improvement in the case of a junior programmer. One technique I've seen that's worked well with me is for the applicant to list their 3 favorite repos on their resume, which guides me towards looking at them, rather than just poking around randomly at the "bad stuff".
As an interviewer, I don't care that you've written bad code in the past (any developer who says he hasn't is lying). I do care that you have written code up to the standard of the job I'm hiring for (which is going to be quite lenient for a junior position), but I'm mostly going to be looking for cues demonstrating improvement and curiosity. The more technologies, languages, and concepts you touch, the better. To me, your Github profile is a showcase of your interests first and foremost.
I've shown her some raw data from Indeed and DICE, but the reason why I've turned to the community is this:
She's not impressed with the raw number of open positions. If that were a conclusive indicator, then getting a marketing job would be a snap in the Bay Area, but I assure you that it is not.
I tried explaining to her that price (or salary) is a good indicator of the saturation rate of the market, but she's not convinced by that argument. (I'm not sure that I am either. It could be that the salary averages are being driven up by more senior ruby positions that I wouldn't be able to qualify for in less than a few years.)
That's why I'm hoping to get some data points from employers who know whether or not there is actually a dev shortage like many people claim.
Wanted Analytics released a press release on January 8 2013, showing that "The number of product management or product development job ads posted during December rose 23% compared to December 2011, 30% versus 2010, and 99% from 2009" which, is a good indicator of growth in the market.
There is definitely a shortage of good talent across the majority of languages as a good developer is in demand. However, you have to prove to potential employers that you're a good developer which is why they usually as to see Github profiles etc in the application (and if you haven't got one already you should definitely make a Github account). Likewise, since you're learning you could even blog about learning Ruby on Rails and even create some mini-working products on Heroku to show that you're capable of shipping & able to communicate in technical terms.
Furthermore, for further evidence of employers trying to attract Ruby on Rails talent then, you should have a look what LivingSocial are doing to attract Ruby on Rails devs with http://www.hungryacademy.com
But you give no indication that you enjoy programming. As someone who has made significant career changes myself, I caution you that choosing a profession solely to follow demand, and not based on your true interests, can turn out badly.
This is great advice that I was pretty certain I'd see here.
I do enjoy programming! I've been working with HTML/CSS/jQuery for a couple of years and PHP/mySQL for about a year on and off and I absolutely enjoy the feeling of accomplishment when everything clicks and you get that one little line of output in the console that you've been driving at for 3 days.
I enjoy it enough to build things at hackathons just to see if I can. And sometimes I win and get interviewed on TechCrunch. Okay, so maybe that just happened one time.
I have recently been accepted to www.launchacademy.co, which is a full stack/Rails developer "bootcamp" in Boston, and I am also interested in this data. Entry level Rails devs get paid differently, regionally. That being said, I know 30 of us have put our life on hold to do this school. I am sure you made the right decision.
EDIT: Quora has a lot of data about this. I am told that junior Rails developers in Boston can expect to make between 70-90k salary starting out. SF and NYC is higher.
You are correct, we are in the middle of a "Great Dev Drought," keyword being "Great" or rather talented. I don't have any hard data for you per se, but I can tell you that of the ~100 candidates we've interviewed for a junior Rails position, we've accepted approximately 2%.
Our entire pool is filled with software engineers and web developers that look very qualified on paper. However, it's hard to find someone with a good mix of (1) theoretical computer science knowledge, (2) practical programming experience, (3) problem solving skills, and (4) the drive to be truly great.
I have one piece of advice: If you are simply looking to "pivot" into programming for a job and because it's the hot thing to do, then don't! But if anything programming and computers is truly your passion; if it excites you so much that you have trouble sleeping; if you couldn't imagine your life doing anything else, then go for it by all mens. The odds are stacked against you, but you can beat them if you work hard. Good luck!
I hate this sort of advice that's centered around passion. I don't think you have to be passionate about programming necessarily, just passionate about accomplishing something meaningful while having the requisite problem solving skills to get the work done. I think someone with an analytical mind, who is at good problem solving and enjoys accomplishing STUFF will probably come to love programming if she or he throws themselves at it.
The kind of person that knows already that she loves programming probably already has a job as a programmer.
There are so many jobs and freelance projects available for Rails developers. The thing I find amazing is that anyone I talk to looking for Rails developers is that they can't find enough talented people.
Also, Rails is so easy that you can slide by being junior.