← Back to Upcase

Landing a Rails Job


(Upcase ) #1
Ben offers a few concrete tips on landing a new (or better) Rails job.
This is a companion discussion topic for the original entry at https://thoughtbot.com/upcase/videos/landing-a-rails-job

(Dwayne R. Crooks) #2

Hey @benorenstein,

Great tips. I’m doing some of these already.

  1. Pure Ruby code sample and a Rails code sample with tests.
  2. Blog. But it’s definitely not 2 posts per week. This I will work on.
  3. Lightning Talk. This I don’t have. There are no Rails communities where I live (which implies I should probably start one) and so no meetups. I’m thinking I can record talks and post them on YouTube in the interim.
  4. GitHub profile. I usually just send a link to my profile but I like your tip of being more specific and sending them links to specific projects or specific commits.

Given:

  1. I am not a U.S. citizen.
  2. My current job is not Rails specific. However, I have worked on small production Rails apps and in my spare time I try to build in Ruby and in Rails.
  3. I am looking for a remote job or relocation if possible.

Question:

Do you have tips that can help me?


(Renan Gurgel) #3

Excellent video! Nice tips. I hope that more videos about topics like this would appear.

Ben, do you have some type of developer curriculum layout? Maybe you could talk or show some tips about create a great developer curriculum.


(Rafael George) #4

@benorenstein Great stuff as always, I’ve been doing what you say in the video for a while but never took the guiding part into account which is a great advice. But there is a downside and is the part of training so you can be doing all of this but you also need to find time to get better at what you do to get all those high profile jobs like a Thoubhtbot developer for instance, so do you have any advice to keep learning what to tackle and how to find time for it?

Thanks again and keep the good work :wink:


(Ben Orenstein) #5

Sounds like you’re on the right track already.

What do you need help with? Are you trying to get interviews but failing? Failing at interviewing successfully?


(Ben Orenstein) #6

https://thoughtbot.com/upcase/trails is the closest thing to that right now.

My long-term goal is to make Upcase the ideal developer curriculum.

A mentor can be really good for this. At times, it’s tough to know what your weaknesses are.

For now, if you’re not strong in TDD, vim or emacs, and writing very clean code, I’d be focusing on those.


(Dwayne R. Crooks) #7

I’m getting interviews.

Just asked in case you also had some specific advice for international developers looking for remote work or relocation.


(Ben Orenstein) #8

Not my area of expertise.

@cpytel might have some wisdom to share.


(Pedro Moreira) #9

@dwaynecrooks, I never tried to get a remote position but I have relocated from Portugal to the UK this year.

From experience, the advice Ben gives is very much correct. Some other things that I find help:

  • Communicate your interest in relocating very clearly, in terms that
    it is both a professional and personal change that you are interested
    in.

I found there is a slight fear from companies on relocating people: they can be afraid the person taking the job won’t adapt well to their new location and won’t perform to their best. It also places a burden on them in the sense that they feel responsible for dragging people out somewhere.

  • If the company you are applying to is involved in their local
    community, mention that you value and appreciate that involvement and
    are keen to participate as well.

This shows that you are informed about the company and the place you are relocating to. It also strengthens my previous point.

  • You might have to travel to proceed further with the interview
    process.

I travelled to London for a pairing test/interview. I strongly believe it helped that I made myself available for this, at my personal cost. This showed I was invested in working at the company. I am very much aware that this is a tricky point: it might simply be the case that you cannot do this for a variety of reasons.

So it comes down to reinforcing all the advice Ben gave. I would supplement that with some of advice given on a couple of episodes (63 and 59) of the Giant Robots podcast. Making sure the company knows that you are interested in working for them and for some other company goes a long way to smooth over fears caused by the relocation.


(Oliver Azevedo Barnes) #10

I’d suggest contributing to open source rails projects. That’ll hone / show your rails chops and remote communication skills, while building your reputation and your professional network. People looking for, say, Spree developers go straight for contributors. Being a rails core contributor is also very highly regarded. And even fellow contributors might want to hire you.

In my experience there’s more demand for relocation than for remote international work (hired). There’s some demand for remote work within the US, less so in the EU, and a strong concern with timezone overlap. Async work isn’t something a lot of managers are comfortable with, yet, though that’s done all the time in open source.

There is demand for remote contract work, and in this case a business face helps, showing you’re able to emit invoices and give out a sense that you won’t disappear :slight_smile: But I’m getting off-topic…


(Pedro Moreira) #11

How do you guys feel about including the output of quality analysis tools in the repo? You can easily add output from rails_best_practices and flog, for instance. In case of open-source repos, there is also CodeClimate and Hound, for instance.

Also, do you think something like a scratchpad.txt would be valuable?
I seem to remember seeing a couple of Peepcode Play by Play episodes where the developers used them as guidance. They help convey thought process.

Finally, my previous reply neglected to mention a good, easy to follow git history for the project you submit.


(Ben Orenstein) #12

Wouldn’t hurt.

As far as scratchpad.txt, I think talking about your thought processes are good when you’re applying somewhere, but I probably wouldn’t actually include it in source control.