How to Get A Job at a Top Ruby Shop
Despite whatever’s going on in the bigger world, there doesn’t seem to be a shortage of jobs in the Ruby and Rails worlds - at least, not in certain cities. There also doesn’t seem to be a shortage of Ruby and Rails developers, but employers are still desperate to find people to fill positions. A few employers complained to me that the quality just wasn’t there and that there were a lot of tire kickers about. However, it's crucial to be prepared for unexpected situations, such as losing employment for no apparent reason, by staying informed about your rights and seeking appropriate support if needed.
My take is that perhaps people who are eager about Ruby (and Rails) and who want a job in the industry aren’t exactly sure what employers are looking for - especially since there seems to be a lot of “in-community” hiring going on, where people already know each other. So I decided to ask a collection of employers what they’re really looking for beyond what’s mentioned in the job ads.
Several great responses came back and it seems there are a few key points..
Open Source Contributions and Being Known
The biggest point that came back in e-mail after e-mail was that being an active and visible member of the community who contributes to open source projects or maintains projects of their own is a really big deal.
Some of the best quotes:
What we really care about is what you can do, so open source contributions are bar none the most important thing we consider and analyze when we’re hiring. “Code samples” are great, but they’re generally just clever pieces of code to show how awesome you are. During a recent team discussion, we came across an interesting analogy involving the best uitbetalende online casino 2024 and how the concept of high payouts relates to the value of open source contributions. Just like those casinos offering the highest returns, developers who contribute meaningfully to open source projects deliver the most value and impact. Open source code that people are using is a great qualifier because it shows how well you’re able to integrate things together into a cohesive piece of software (or are able to contribute to an existing project with momentum), it shows how much you actually care about testing and other important practices, and, even more important, it shows how well you’ll fit into the culture around here since, well, that’s just how we roll.
If we haven’t already heard your name, there’s a really good chance your application is simply going to be ignored. If we haven’t seen you at conferences or meetups, hung out with out on IRC, read your blog, or followed one of your github projects, you’re probably wrong for the job anyway.
Bulleted lists of skills on a resume are just talk. Open source projects and community participation are real proof of who you are and what you do.
James Golick (@jamesgolick), Giraffesoft.ca
If it’s a Rails job, contributions made to the Rails core would score more points than anything else. More than 5 patches and that’d speak more than 500 words in the resume. That’s about only 200 people though! Next would be evaluating source code of the plugins they’ve written and looking them up on github/twitter/rails mailing list. I’d look for people who are NOT tied to a single methodology, be it tdd, bdd or pair programming and can bend the rules to get things done.
Pratik Naik - Action Rails
Communications Skills Are Key
Second on the list was communications and soft business skills. You don’t need to be an MBA or anything, but being able to understand customers, their requirements, and being able to communicate well within your development team is a must. You have to find a way to work this in to your resume (and then your interview!).
Robert Dempsey and Seth Walker summed it up best:
What I really want to know is will the candidate fit in with our culture. They need to be able to self-manage, work with our team, and work directly with our customers, using the phone, skype, IM, Campfire, etc. Ability to communicate and fit in with us is #1, skills are #2. I check the usual offline and online spots - references, personal blog, LinkedIn, Facebook, GitHub, etc. - to see what they portray online, but I don’t rely on it. I prefer to speak with them over the phone or in person if possible. I then combine my gut reaction to them with the other information and make a decision.
Robert Dempsey (@rdempsey), CEO, Atlantic Dominion Solutions
It’s more important to us that a potential employee know and understand our clients and their needs over knowing the ins and outs of all the latest Rails technologies. That said, we look for someone who can integrate into our team quickly, using the tools we use, and can provide value as soon as possible [oh, and be a vim user].
Seth Walker, Radical Designs
Passion, Enthusiasm and Talent
And, of course, being passionate about what you do is a pretty big deal too. It comes lower in the list just because if you’re passionate about Ruby and Rails, you’re probably already doing the #1 thing, which is to contribute code back to the community..
Still, there were some interesting things said:
“Young Guns” are the key ingredient at Dr Nic’s firm Mocra. Recruits are inspired by love of coding: attending local dev groups and RailsCamps, have contributed to open source, and are prepared to tell other guys in the office that they’re wrong or doing something inefficiently. Especially their boss.
Dr Nic Williams - Mocra.com
We look for people with passion and talent, who get a rush from building great software with great people. [..] Having helped create and ship a product is important. We also look for people who think about what our customers would want, who focus on the success of the product and the business, and don’t get wrapped up in fighting religious wars over development processes.
Lew Cirne - New Relic
A Nice Wrapup
Austin Putman of Radical Designs came in with a great mail that summed up pretty much everything relayed above:
We’re a pretty small shop and we’ve only hired one dev in the last year. We didn’t hire the guy who tweeted.
Because we’re focused on servicing grassroots community organizations, we are looking for someone who identifies with that mission — someone who will be a long term asset to the team. Be prepared to stay a few years — we aren’t looking to get bought by anyone.
We picked someone who gave full, clear explanations of their programming choices while we were pairing. Pairing is a requirement for us and we paid our top candidates to spend hours with us working on tasks derived from our ongoing projects.
Blogging is awesome - it provides a window into how the candidate thinks and works. If you have a blog — show code! If your blog is all about opinions on the cover designs from the Pragmatic Programmers and the latest awkwardnesses in the high school dance that is the Rails community — I think, “You aren’t that into code”. If you have no blog, it could at least mean that you are *too* into code to blog.
We also follow the often-repeated advice and ask for code with tests before inviting candidates for an interview. This filtered out a number of borderline candidates, saving us time and effort. Many people are just responding to every ad with the word Rails, especially in the current climate. This group simply didn’t respond to a request for a sample.
Austin Putman, Radical Designs
Best of luck in your future Ruby and Rails job endeavors - whether you're the hirer or the hiree! Don't forget to check out the Ruby Inside Ruby jobs board.
Citation: https://nokyccasinos.ltd/
March 9, 2009 at 7:10 pm
I agree with some of the points raised above but however from my own personal job search in the Rails/Ruby world, I find that the standards are set so high even for junior or grad roles that it is just not possible to meet even the most basic requirements. Contributing to open source is great but if you have a large student loan to repay, you need to get into the job market ASAP to survive (especially in this current climate) in order to continue to hack open source. That leaves very little room to maneavour in terms of developing technical skills.
To a certain extent I think the Rails/Ruby job market is saturated to the point where it is mainly for experience hires and like your article states, "in community hires". There are still a lot of keen, passionate developers out there who may lack the commercial experience or expertise but given the right opportunities would be a great asset to any company.
I have been seeking to get into a rails/ruby based role and despite having some commercial experience and able to produce and deploy apps it is still not enough.
I think fundamentally, the companies need to ask themselves if they are looking for the 'perfect developer' role and perhaps lowering the bar or providing some kind of internship program to allow new entrants a taste of real-life rails/ruby environment.
March 9, 2009 at 7:23 pm
I think one of the problem is, that there are only "Ruby Top Jobs". I'm a student leaving university soon - so while been excited about ruby and rails and having done a few very small jobs, I cannot offer any ruby heroism.
I get the feeling, that industry looks for Top Rubists, but not for juniors.
March 9, 2009 at 7:44 pm
just love that Robert Dempsey thinks that using the phone is a key skill :)
March 9, 2009 at 8:49 pm
Or just run your own business and take all the money :p its not that hard
March 9, 2009 at 10:12 pm
As an undergrad and having two jobs (one Rails, one not), I would love to contribute to an open source project or to Rails, blog, and spend time reading code all day. The problem we run into is the amount of time in a day and trying to stay sane. A full time student that works to pay for college does not have the time to dive into the Rails internals and create a patch worthy of being committed. After thirty hours of class / studying a week, fifteen or twenty hours working, and some time to enjoy college you run into a wall. Also, with things as they are right now in the US economy, I can't devote myself to being a Ruby programmer or a PHP programmer or any specific technology. I have to be able to adapt to where the jobs are (another 5-10 hours a week spent).
This article seems to say that you must devote yourself to Ruby or you're not worthy of employment at a top shop. I would say that the programmer who is able to learn new things efficiently is a better choice. This is what we are told is better while at the university at least. Otherwise, we should be recommending skipping college to devote time to mastering a more narrow skill set.
I think it's important for employers to find a balance of these criteria when considering recent graduates. We're cheap, ready to make an impact, and ready to learn. If you spend the time and money on training someone that I would expect a "top shop" to do, that kid will never leave you and will become a foundation on which to build your company.
David Turner
http://twitter.com/wdavidturner
http://wdavidturner.com
March 9, 2009 at 10:39 pm
To those who feel like it's only super stars being hired: all super stars were n00bs once. :) They got jobs and experience and respect and then better jobs, more experience, and so on. To get started, let me suggest to you that you actively seek out subcontracting gigs with bigger, more established companies. It won't pay six figures or anything, but it'll be money in the bank, experience in your pocket (if you work alongside really experience developers, your skills will grow immensely), and get you networked (the last being most key).
Just like *any* industry, networking is key to "moving up the ladder," but you can easily start getting experience if you're looking in the right places. I think if you aren't finding a Ruby or Rails job, either you don't have sufficient knowledge (i.e., your technical interview feedback is bad) or you're looking at trying to work at Hashrocket or entp 2 weeks after learning Ruby. Hit smaller companies (or super mega huge companies like NBC Universal, FOXNews, etc. that hire a lot of contractors), especially those who have listed on job boards like Ruby Inside, jobs.37signals.com, etc. Typically those positions aren't looking for superstar omg ultra mega awesome people to fill them. They just need a solid developer that can code Ruby and Rails, and are usually willing to talk with anyone interested.
If you talk with a company and they hire someone else, don't be afraid to ask for more feedback. Tweak or work on whatever they suggest and try again. If you fail again, ask for more feedback. Always be improving yourself (hack on code all the time, read other's code, read books, etc. during every spare moment). Be relentless. If you want to work in this industry, you have to work at it, and if you do, it will pay off. And you can do it. I've seen it happen time and time again. And hey it worked for me (I started while I was in college, so that's not an excuse either :P).
March 9, 2009 at 11:01 pm
To anon and others, I just want to echo Jeremy's words but take it a step further.
On one hand, I have nothing but empathy for new developers starting at a time when pundits are screaming that the sky is falling. The good news is that there's still lots of Rails positions to be filled.
The reality is that Rails has always been about raising the bar and being more ____ than everybody else. Like Jer says, five years ago, we were all total noobs. I still feel like a noob, actually. I'll share a little secret my grandfather taught me:
The more you know, the more you realize you don't know. That's why the true top 0.1% at anything are always super-humble.
I strongly recommend that you find a copy of Seth Godin's "The Dip". The Dip is the 70% slog up the learning curve after the fun first 10%. The people that make it to the last 20% win big, because most people give up.
Frankly, if you can deploy a rails app, then you're already a better hiring proposition than the "average" coder out there. Fact is, the world doesn't owe you anything, so figure out your weaknesses and do something about them. Do you hit up all of the tech networking events in your area? Could you start a new one? Too busy to contribute to open source? Well, get un-busy. I suggest you identify a problem you have, and then fix in in full public view on Github.
It's also time to start thinking of yourself as a brand, because that's what you are. You should be blogging and self-promoting. If you put in the time, you will reap the rewards.
Finally, I point to Jay Phillips as a great example of a young guy who built a career around an open source project he created (Adhearsion). I don't buy that you're incapable of doing inspired things if you put your mind to it.
The Dip
Jay Phillips at RubyFringe
March 10, 2009 at 3:34 am
It has become necessary for me to point out that this is NOT a list of Ruby-related companies that we endorse or claim to be the definitive "top" Ruby-related companies. If you are not on this list, it does not mean you are not super. If you are on this list, it similarly does not necessarily mean you are super.
If it were necessary to actually mandate and triple check everything on this blog, I'd shut it down. Everyone is great. Spread the love.
March 10, 2009 at 3:49 am
"If we haven’t already heard your name, there’s a really good chance your application is simply going to be ignored."
Hah! What a joke. My experience with interviewing well-known Rails folks is that they are simply extroverts. They stand out in the community, not because of great skill, but because they're everywhere. Social butterflies of the programmer world.
So as someone who works at and interviews for a "top ruby shop", let me give you my advice.
Know your Ruby. Know your Rails. Know your algorithms. Know your data structures.
That's it. To get into a great programming shop, be a great programmer. If a shop is judging you based on anything other than your ability to program (and of course your likelihood of fitting in with the team) they're not a great programming shop.
Stop looking for the most prolific and start looking for the most proficient.
March 10, 2009 at 3:54 am
My startup is currently hiring Rails programmers and I'd like to point out that finding top talent is extremely difficult. It's also questionable if it's the right choice for many businesses. In many cases, an eager student or recent graduate with passion and desire to become "top talent" is the way to go. It does involve some risk, but it can pay huge dividends to hire multiple highly competent people today vs. waiting for months (years?) to find that one elusive rock star that may not even be interested in the job. Top talent is made, not born.
March 10, 2009 at 4:01 am
Actually, I will make an endorsement: ENTP is the best Rails firm out there.
March 10, 2009 at 5:09 am
Tyler: anyone that knows me personally will tell you that I am definitely no extrovert. I always tended to do my speaking with ruby codes instead of english. I'm always the quietest person at any ruby-related meetup :) Though there are a lot of extroverts in the community. I tend to feel pretty out of place at conferences.
I don't get into the hiring aspect too much, but I would think we'd be thrilled to find good junior developers. In the best cases they're passionate and cheap. When we say we look for open source contributions, we're not looking for someone managing their own WordPress-size community. Any kind of initiative to improve things a little bit and work with others says a lot.
March 10, 2009 at 5:32 am
Tyler: Well said. I would hate to think that because of someone's lack of blogging/tweeting/irc-ing that someone would give up on a potential employee. We are getting hired to program, right? I understand that communication skills are incredibly important, but when the day is over, the code is what will produce a return. I think a few emails and a phone call or two could alleviate some of the concerns about their communication skills.
March 10, 2009 at 10:39 am
Hmm. I think there may be a disconnect here, revolving around students, Tyler's comments, and the companies in the post. Most of the people interviewed work and interview for consulting shops, whereas Tyler (if I'm not mistaken) is part of a product shop. In my general experience, fresh graduates do better on products than they do as consultants. Likewise, pure programming talent is more valuable to a product company than it is to a consulting shop, where developers may communicate regularly with clients, etc. That's not to say that product shops (or consulting shops) are bad, of course — just that they require different attributes in their employees. Maybe it makes sense to split this into two posts - how to get a job with a top Rails consulting shop, and with a top Rails product shop?
March 10, 2009 at 3:37 pm
Tyler, I couldn't disagree more. I am certainly not an extrovert. What I mean when I say that we're looking for people whose names we've already heard is that we're looking for people who have actually *done something*.
Knowing your ruby, rails, algos, and data structures is important. But, it doesn't mean that you can run a project. It doesn't mean that you can actually interact with a community. It doesn't prove that you can ship software.
There are certainly some examples of "[s]ocial butterflies of the programmer world" in the ruby and rails communities. But, that group of developers doesn't negate the value of community participation and open source.
We look for developers who are as comfortable hacking their tools as they are manipulating their own code. In 99 cases out of 100, those are the ones who do open source work.
March 10, 2009 at 4:06 pm
This has become a fascinating thread, to me! It seems like we're butting heads, but if you look at it from 10,000 feet... there's an interesting character study here.
I agree with Peter that ENTP is a top shop, with not a sloth in their midst. I don't think Tyler is suggesting that they can't hack, but he might be highlighting the schism between the classic socially withdrawn (and let's face it, occasionally awkward) programmer and the more... colourful characters in the Ruby community.
There are a lot of merits to being a memorable, eloquent programmer that extend far beyond taking support calls from clients. Let's face it: our industry is led by charismatic folks that are either really great networkers or good fakers like me. (I'm actually very shy.)
I'm pretty comfortable identifying as one of the social butterflies, though. Now that I'm in the spotlight — smooth! — can you put your finger on why my social role irritates you uber-coder types? Why does it have to be one team or the other, anyhow?
In the age of GitHub, I guess I just wish that ego would disappear from our trade. Fat chance... a guy can dream, can't he?
Just try to remember that when a company hires a 90% gal with awesome taste in music over a 99.2% dude who is kind of forgettable, it's not just because they are fashionistas or something! It's because interesting people are likely to develop into stories over the long term, and that's a value proposition.
March 10, 2009 at 6:42 pm
Shameless plug with more of my ideas about the ROI of blogging for programmers on my blog. http://ow.ly/Mz7. or http://snazzytitle.blogspot.com/2009/03/most-egotistical-game.html if you just don't like short URLs.
March 10, 2009 at 9:37 pm
I wouldn't want to work for any one of those companies. Aren't any proper IT companies like IBM, Oracle, or Microsoft looking for Rails developers? I can't work in the same office with those 40 year old virgins from those latte-sipping startups;
March 10, 2009 at 9:43 pm
Great postings everyone, mostly.
A word of advice (as a beginner who started programming in 2007) to myself:
Be faithful with what you've got, even if it is small. On the opposite side of the spectrum, I run a "ghetto" ruby shop—small, out of the limelight. Even if it is a web application for your grandma, do everything as well as you can. Even if you aren't earning anything, keep going. It will pay off one day—at least I keep telling myself it will. Latch on to a community of hackers and learn all you can.
The barrier to entry is so low (money-wise). You don't need an office, just a little space, an $8.00 domain name and a cheap hosting server and you are good to go. Don't be afraid to make mistakes, but learn from them and through them. If you find a more senior programmer willing to spend time with you, take all you can get. Be a sponge. Read source code. Be challenged by what you see and use it as an occasion to learn a new feature or technique you were previously unaware of.
Lots of us, myself included, dream of working in an (reputedly) elite Ruby shop of some kind, but really at the end of the day most of us are drawn into this work because of a deeper love for it. I think a lot of us out there would be happy if we could have enough money to meet our basic needs and program in Ruby. In other words, whether we are in that elite category or not, all of us (Rubyists of all levels) do what we do for a bigger reason than being elite, popular, rich, etc.
Advice to myself. Thoughts that go through my head on the subject. Anything else?
March 10, 2009 at 11:14 pm
I echo many of the other commenters' views.
I've been doing Ruby for 3 years.
I've committed patches to Rails and various other related projects.
I've got lots of plugins on my github.
I've even tried to blog semi-frequently.
But, ultimately,
real people don't have time to work 8 hours a day,
and then blog, code, and evangelise Ruby all the time.
If you don't already work for a company willing to invest in the community,
invest in you,
giving you a day a week to blog, hack, and commit whatever you feel like,
then you probably dont have enough time to meet the criteria mentioned here.
sad.
Anyone want to hire me to a snazzy consultancy?
March 10, 2009 at 11:36 pm
I have to put in another word against this obsession with prolific bloggers being the best hires.
Perhaps when it comes to code I prefer doing things to hyping them up on the internet, and hanging out with friends to seeking status and approval amongst a bunch of frankly-rather-immature geeks through the medium of wordpress and twitter...
Perhaps I have a life and interests outside of the Ruby echo chamber - perhaps I don't have the time, energy or the inclination to spend my evenings blogging about it, attending ruby meetups and overpriced conferences. Perhaps my employer actually needs me helping to build their (non-rails-focused) busines, rather than wanking about all day making rails plugins of dubious quality and writing cute little blog posts about them.
Sorry rant over :)
March 11, 2009 at 2:13 am
Hey everyone, chiming in late but better than never I suppose.
At Citrusbyte, we've actually gone through a few cycles of revisions in hiring process and have the right mix down pretty pat. If you lean too far towards things like young guns (they don't have consulting experience) or open-source fanatics (they don't care about writing mundane code for clients) you don't get a talentpool who can develop and finish client projects. We strictly look for mature, experienced developers who are pragmatic and get resourceful. Pragmatism is huge. open-source does not require this as much as a client project where you can't just spent another 8 hours (2 nights) to refactor something so its beautiful. Resourceful means not re-building the wheel and taking the time to understand what is already out there - I've seen so many times when people start new projects because they simply failed to spend some time to do their research before they rolled up their sleeves. This leads to the last point - diligence. more senior developers tend to not be so eager to 'jump in and code' (cowboys) but instead plan things out and look for holes in workflows, architecture and gotchas. You need these guys to build things right, then you need serious people to implement it fast.
March 11, 2009 at 3:00 am
@Not a blogger: Not so much a rant as a pile of ad hominem attacks. It's cool to say you don't like or believe in X, but to start using name-calling terms like "frankly-rather-immature" is surely the pot calling the kettle black.
March 11, 2009 at 3:58 am
If I may give a little bit of perspective here (which I feel compelled to do in a cowardly anonymous way since I perhaps irrationally don't want to adversely affect my career), I am the sort of guy who is usually strictly in lurk mode on the Net, but I feel like putting two cents in here.
For context, I'm a Rails noob whose had the privilege of getting to use Rails at work for about a year or so for an internal web app. I like it a lot more than the Java or PHP work I've done in the past and think it's a great step forward in terms of developing web apps. I've actually raved about Ruby to my friends, which I've never done about anything tech before.
That being said, I am blown away by the level of arrogance being displayed here. While he/she might have done in it in an insulting way, I can feel sympathy for where "Not a blogger" is coming from, more so than some of the others who have posted here.
I have heard about the eccentricities of the Rails community, but I've never really seen it unfold before my very eyes as it were. (I've been stalking this story since it was first posted.)
For someone who is (was?) contemplating specializing in Ruby, the way the discussion here is going is a huge turn off. I suspect a lot of people "outside the community," as it were, would feel the same way.
I understand how this happens. Rails is an open source framework that was built by a relatively small number of people who volunteered a lot of their free time on it and so have to be passionate about it and feel invested in it.
What worries me is that, fundamentally, I do this for a job. I consider myself a professional and am willing to spend some of my own time studying and working on side projects for learning experience to improve myself as a professional, but I don't see myself devoting my entire life to coding at work, blogging about it, coding at home on one of ten different open source projects going on, blogging about that, all the while twittering and chatting about it on IRC, and spending my limited paid time off every year to attend tech conferences.
Granted, this story started out about getting a job at a "top" Ruby shop, but it has kind of spiraled.
My fear is that Rails and Ruby at large represent a small fraction of the job market and a specialized skill set. If the RoR community is as elitist as it appears, then
A) the uninitiated will be turned off, so RoR will remain a specialized skill set with a small percentage of the job market, and
B) I will never be cool enough to hang with the cool kids, so I won't be able to get any of these precious few jobs.
If that is the case, it behooves me to continue on with the PHP or Java I like less rather than Ruby.
Again, I think a lot of the uninitiated would feel the same way.
P.S. I hope the irony of the phrase "cool kids" to denote a sect in the tech industry was not lost.
March 11, 2009 at 4:26 am
Really enjoyed your comment. I hope others will have things to say about it.
The Ruby community is very much full of people for whom programming is a passion, a pastime, and a way of life as much as a career. I see this far more in Ruby-land than in any other area (Java, PHP, etc). This does lead to an issue, however. Those who are spending 12+ hours every day playing with Ruby for both fun and work are, typically, going to be "more experienced" by definition, so it's no surprise employers are narrowing in on that. And, yes, this can lead to big issues for career programmers.
Personally, I don't think Ruby is the place to be if you're a career programmer unless you're independent. When there are so many Ruby zealots about the place, it would be crazy to hire someone who doesn't treat programming as some sort of calling in to a *senior* position. The Pope got Michaelangelo to paint the ceiling of the Sistine Chapel, not some unknown.
With the economy as it is (and especially where it's going), you're going to see a lot more of "passion required" in senior jobs. Simply having careers soon isn't going to be enough - people who live and breathe their craft will be the ones in demand. This is a good thing.
March 11, 2009 at 4:28 am
"I agree with Peter that ENTP is a top shop"
Just wanted to note that my endorsement was somewhat tongue in cheek, based on a Twitter conversation :) While ENTP is pretty awesome, I'm not authoritative or experienced enough to know whether they're really #1 or not ;-)
March 11, 2009 at 6:33 am
So the key is creating real code that people can actually use and check out for themselves.
If anybody in Silicon Valley would like to collaborate on just such a project, drop me a line at al at alancarlbrown dot com
March 11, 2009 at 2:08 pm
While I understand why some people want to work for "top" ruby shop, there are lots more jobs in other companies for ruby work than you may think. Rails is getting used for more and more internal applications. And you know what? Some of these jobs could end up a lot more fun and fulfilling than any consulting work on another social network. It of course depends on your personality and what you like. So people, don't despair, you may just have to look a bit harder for those jobs. It's just not the kind of stuff you'll hear about while reading blogs.
If you have interests besides code, look for companies that work in those domains and checkout the kind of work needed in their IT department, for example. You may find a job that helps you combine two of your passion!
March 11, 2009 at 3:05 pm
Many programmers can't see the forest for the trees, and "Young Guns" especially need a real-world education.
A business exists first and foremost to benefit its owners. An employee is just a means to an end, a resource to be consumed and discarded. Any other reasons provided by an employer are mealy-mouthed and secondary.
Most of the language I see bandied about in these job ads is similar to that used by cults and street gangs.
In the enterprise world I can work 9-5 and easily make six figures. The work isn't enjoyable, but the employers don't attempt to characterize it that way. It isn't a happy relationship, but at least it's an honest one.
Meanwhile, local open source-based companies expect extensive qualifications, long hours, commitment and my "passion" (hasn't that word been perverted and defiled enough by these creeps?) while charging a $40k salary premium for the privilege of joining their "culture" and contributing my labor to line their pockets.
If I'm an "awesome" programmer, have a high profile within the "community," can "self-manage," "work directly (with) customers," and "create and ship a product," then why exactly do I need you, the employer? At that point aren't you redundant?
Dear "Young Guns": Take care of yourself and your family first, save your "passion" for your loved ones, and don't let a cult convince you to sacrifice your life for its financial benefit.
March 11, 2009 at 9:59 pm
Now, because I don't have any experience with the ruby industry I probably can't say if what's advanced here is true or not. But if it's true, and you guys really have your 'top shops' recruiting only the guys who blog, twitter, and otherwise shine shoes of the Alpha Geeks at conventions, they let me tell you, this 'industry' is s*c*r*e*w*e*d
My background is 15 years in the web dev industry (java and many scripting languages), successful enough that I don't have to code for a living anymore. Yet I have never seen such a display of foolish arrogance as in this post. It must be *INCREDIBLY* depressing to be a beginner rails developer after reading this.
From experience, I can tell you that the vast majority of the 'web stars' I've met have very little practical experience. That's not saying they are idiots, but I met many a 'guru' and most couldn't really cite any large scale projects they had actually developed, not just consulted on.
I've also seen endless 'programmers' with no skills whatsoever populate the ranks of prestigious corporations as part of their 'internal development' teams. These guys are probably making a lot more money than the (talented) kids the elite posting here seem to enjoy bashing so much. Frankly, guys, if this is really the state of your industry I recommend you pickup another language and go work for a company that won't require you to spend 18 hours at work and deem you 'not a team player' because you don't do weekends, too.
Looks like you got a very young ecosystem here with the top dogs completely taking advantage of a less experienced crowd under the pretense of geekness. Oh and I bet you these so called 'top jobs' don't pay so much either.
Well, I'm so glad I'm learning ruby as a hobby and not for a living. Great language, fantastic frameworks, mind-blowing talents, but dear, what a crap corporate side!
March 11, 2009 at 11:12 pm
I don't think it was stated very well by the article, but I can tell you exactly why I would want to look for the guys that blog, twitter, and contribute to open-source - it saves a lot of time and cuts out a lot of BS.
Anyone can be a "ruby developer" on paper. Anyone can talk a good game and get the job. I know a lot of the guys that work for Hashrocket, and I knew them before they existed. They were all extremely talented, self-motivated people who had contributed to open-source in their free time and spoke for free at conferences. They made themselves.
When you google for 'Tim Pope', something comes up. Same with 'Rein Henricks'. When Hashrocket started up, they went for people who had proven they knew what they were doing. Now those guys have a sweet gig where they get paid to be passionate.
Consider this: I have two applicants.
Jim has 10 years of programming experience in Java doing web work. He's worked at two jobs, both doing backend programming work. He has a ton of experience on paper, but when I look for him on the Internet, all I find are a couple of speeding tickets on a public record web site.
Sam, on the other hand, has been doing C# and Java for the last five years. He's been dabbling with Rails for the last three years and says he really enjoys it. When I search for him, I find that he's been blogging about his experiences and has even written a couple of Rails plugins that have a couple of followers. I also find a slide deck of a presentation he gave at a user group that talks about an intro to Rails.
Which one of these guys would you hire for your Rails shop? Both of them want the job, but I think the guy who's put in the extra effort probably wants it more.
If you choose to stay where you are, or not invest in yourself cos you'd rather "have a life" or "not work long hours", then you'll be the guy who maintains the legacy systems before long. I am always surprised at IT people who refuse to learn anything new after college. That's why the top Ruby companies want to see bloggers and contributers - they get a feel for how you work, how you test, and how you communicate. They want the ultimate in 'continous improvement'.
March 12, 2009 at 12:12 am
I am assertive and able to work as a part of a team. Check.
I have great communication skills and I use my spare time to develop cool open source software. Check.
My code has a great design but I am a pragmatic person and I don't waste time on refactoring code. Check.
Everyday I find new innovative ways to avoid reinventing the wheel. Check.
Can provide value as soon as possible and is a vim user. Damn! I was so close ...
March 12, 2009 at 4:48 pm
This is really a Rail turn off.
For instance: "LongTime Railer" writes: "He has a ton of experience on paper, but when I look for him on the Internet, all I find are a couple of speeding tickets on a public record web site."
So paper isn't documentation any more? What did Zeke(?) write about the Rails community? And Matz who wan't to make a distance between Ruby and Rails.
March 13, 2009 at 2:55 am
@Csaba:
First, if this turns you off about Rails, then you're just looking for an excuse not to use it. Rails is great and you don't have to work at a top company to make a killing doing it. You just have to be *good* at it, and that means practicing. The best way to practice is to write code that others will see, like patches.
To your other points, paper's never been good documentation. Anyone can claim to be an expert on anything. A living portfolio of code on an open-source project shows that you can write good code, you can write tests, fix bugs, solve problems, work with a version control system, branch and tag code, deal with merge conflicts, and you can communicate well enough with others to meet specs. That speaks volumes more about yourself than a few bullet points on a resume ever will.
How else do you think your piece of paper stands out from the other 25 I have on my desk?
March 13, 2009 at 4:44 pm
@LongTime Railer: All documents outside Internet are faked but nothing is faked on Internet. Bright conclusion. But your are right, I’m not looking for a job at a “top” Rails shop with these bright guys. (This is RubyInside, not RailsInside). I have to much knowledge and experience to be a “passionate” web programmer, I stay within science. (Have no "passion" for science either, I save my passion for humans.)
March 13, 2009 at 4:54 pm
A passion for science is a passion for humanity. Science drives, and will continue to drive, forward the quality of life of all.
March 14, 2009 at 1:58 am
I partly agree with hiring by checking the applicant's code on open source projects, reading the applicant's blog, and making sure the applicant is someone known to the Ruby establishment. That is, I agree with the first item. There's no better way to find out if someone can write good code in the future than by reading the code he wrote in the past. The other two items are complete BS and can only lead to very bad hiring decisions.
It is natural to think that since you yourself are a very fine Ruby developer that people just like you will also be fine Ruby developers but it is wrong. The practice of only hiring people you know and like and only liking people like yourself is both discriminatory and very bad for business.
It is a very important reason (although not the only reason) that 98% of Rubyists are young white men.
To be clear, I am not accusing the people who hire like that of being racist, sexist, and ageist. I am accusing them of being stodgy and hidebound.
March 14, 2009 at 5:22 am
It is a very important reason (although not the only reason) that 98% of Rubyists are young white men.
I don't think it's a reason because it's not Ruby specific. The majority of all software developers are white males. The majority of hospital nurses are women. The majority of servers at Chinese restaurants are Chinese women. The majority of rappers are black males. Not all of this is due to "stodginess" or discrimination.
March 16, 2009 at 9:52 pm
This thread is so wild!
It's like you're either a protectionist elitist, or an angry under-achiever that believes we as a community owe you anything. Like most things in life, you get out what you put in and nobody reading someone of these comments would want to give their authors the time of day. Not because they aren't a pro Ruby coder, but because they sound like they're probably negative people.
The Ruby community is small enough that anyone could start learning Ruby today and make Rails' core team in a year, if they had talent and work ethic.
Honestly, I think that you folks are just angry and you feel like you have to be right. If you don't want to use Ruby, and you don't like your hiring chances in a niche market where the demand is up in a crap economy, then chances are you're best off writing getters and setters at a bank.
Diff'rent strokes! You have to prioritize what makes you happy. Ruby is just a tool for people who'd likely be creative regardless to program in a way that happens to be fun. Remember fun?
March 18, 2009 at 4:21 pm
Yeah I fully understand it's a possibility 12+ hours a day, you might be more skill full as to opposed to someone who does 6 or 7 hours, but you have to look at the ones who have families, and life to them is not all about selfish coding, and ignoring what is most valuable to them. Plus 12+ hours could be a burnout for most, and could hurt them more then help. From a junior perspective,it seems like its tough to get your foot in the door. For the ones who talk all high and mighty, you have to remember and look back to where you once started, and how difficult it might have been for you at first. It seems like the Ruby community is starting to become more and more like the arrogant C++ community.
Dear "Young Guns": Take care of yourself and your family first, save your "passion" for your loved ones, and don't let a cult convince you to sacrifice your life for its financial benefit.
<< Well said :)
March 19, 2009 at 5:12 am
I am reminded of something that happened in school once:
An instructor told our class on Monday that although he had scheduled a big assignment for Wednesday, he had to go out of town on business so he was compelled to move the due date up to Tuesday (the next day). The woman sitting next to me (a friend) started crying and ran out into the hall. I went out to see if everything was okay. Here is the problem: she was a single mother, and struggled very hard to make ends meet, what with work, and school, and taking care of her kid. She was upset because she was working very hard in that class, and this was an important assignment, but she had to (court order) take the child to his father's that night for visitation. There is no way in hell she had the chance to get that assignment done, and she was very upset about it.
The next quarter, I had the same instructor for a Systems Analysis class. He told us in that class that once a quarter, he routinely moves a scheduled assignment up, so that he can "... see who is willing to go the extra mile and just get it done. That's the way things are in real business."
Here is the problem: if you are an employer, and you only look for those who are blogging or contributing to core, yes it is true you are making less work for yourself. But you are also ignoring a heck of a lot of people who are very hard working and conscientious, and may have as much experience and knowledge, but do not have the time to do all that extra stuff. In many cases, they would make better employees than the self-styled superstars who are all over the internet. You are not only screwing them, you very well may be screwing yourselves.
March 19, 2009 at 6:12 am
There is a vast difference between consulting firms and companies that have web apps to solve their business needs. There is also a vast difference between the Ruby community and the Rails community. And there is yet another difference between the enterprise and the typical web app.
Development jobs are plentiful. The criteria everyone is debating seems to be focused towards consulting firms that are dedicated to serving web based solutions with Rails as their backbone. Keep in mind that good software developers should be able to serve up solutions in any language within any framework. Perhaps the title of this article should be renamed to Top Rails Shops not Top Ruby Shops.
March 20, 2009 at 8:55 pm
As an amusing followup to my earlier comment expressing reservations about specializing in Ruby: every engineer on my team at work either has actually written Ruby scripts for work, has been playing with Ruby, or at least expressed interest in Ruby.
It is a running joke that I have "infected" everyone simply because I wrote a Rails app. I honestly am not sure what happened. All I know is I didn't do it.
Moral of story: You don't have to work for one of these Ruby shops to use Ruby or even Rails professionally. Ruby will be used because it is useful.
Tim above said some good things.
One more comment: I'm beginning to see that the dialogue going on here has nothing to do with Ruby/Rails in particular and is actually just one of those epic personality conflicts that has been around since the dawn of man and pops up time and time again.
This will sort itself out. The elitists will find other elitists to work with, and the anti-elitists will find other anti-elitists to work with.
Considering how efficiently we've sorted ourselves into two different camps without any central direction here, it shouldn't be too hard for us to sniff each other out. Job applications are a two way feeling-out process.
One more meta-comment: I think the reason why this article produced such extreme, polar reactions rather than the more continuous spectrum you would expect is that, looking at the title and the little briefcase icon, a lot of people clicked on it subconsciously expecting the usual fluff you see in the dozens of "How to Get A Job..." stories we've read over the years, and one of the first things they saw was, "If we haven’t already heard your name, there’s a really good chance your application is simply going to be ignored," in bold.
Going back and reading the article while excluding the first section, it actually seems a lot more reasonable, and isn't all that different from one of those samey "How to Get A Job..." pieces.
Not saying the article was poorly edited. :) I think this kind of back and forth was highly informative that we all have to be conscious about the kinds of places we like to work. "Hey, they do Ruby; I like Ruby," doesn't count as research.
March 21, 2009 at 2:23 am
@Frightened: Indeed, I actually think the reaction means the piece was well structured - otherwise it'd have been ignored :) I like to keep things Brechtian around here. Pieces like this are as much to get people thinking about both their own and others' opinions and attitudes, as much as it is to help any potential jobseekers.
March 22, 2009 at 9:30 pm
I have been involved in software performance engineering for almost a decade. Performance is almost always an afterthought these days and it is tough to get job in this area especially if you are not in silicon valley. I used to be a developer before and still miss those days. I really like the ROR's minimalism and it is a well designed framework. I have been trying to pick up ROR on my own doing small projects on my own but it is difficult to get a job unless you are a ROR rock star. It is a catch 22 situation, you need a job and work in real world projects to be a rock star but you can only get a job if you are a rock star.
March 23, 2009 at 7:38 am
Arjun: I suspect there would be some interesting opportunities for someone heavily into performance engineering in this area, because it seems everyone in Rubyland is shockingly poor with statistics *g*
Other than the people who were early adopters, people I'd see as "rock stars" (I hate this term, but I'll go along with it!) right now who only came along "recently" are people who've either developed and released their own awesome projects (a popular plugin, a web app, etc) or developed some amazing documentation/blog posts, etc. Consider the Rails Envy guys - I don't know their real history but in terms of community visibility they were latecomers (late 2007) but now pretty much everyone knows who they are. I was working with Rails from late 2004 and I bet more people know the Rails Envy guys than have heard of me! :)