Publicado por Levy Carneiro Jr. em 11 de Março de 2009
Como conseguir um emprego em uma grande empresa de Ruby

A despeito do que parece estar acontecendo no mundo, não parece haver escassez de empregos no mundo Ruby e Rails - pelo menos, não em certas cidades. Também não parece existir escassez de desenvolvedores Ruby e Rails, mas ainda assim os empregadores ainda estão desesperados para encontrar pessoas para preencher estas vagas. Alguns empregadores reclamaram para mim que não encontraram a qualidade necessária e que há um monte de pessoas indecisas também.
A minha opinião é que talvez as pessoas que estão animadas sobre Ruby (e Rails) e que querem um emprego nesta indústria não estão exatamente seguras sobre o quê os empregadores estão procurando - principalmente já que existem muitas contratações dentro da comunidade acontecendo, onde as pessoas já se conhecem. Então decidi perguntar a vários empregadores o que eles realmente estão procurando, além do que é mencionado nos anúncios de empregos.
Várias e ótimas respostas retornaram e parece que existem alguns pontos-chave...
Contribuições para projetos open source e ser conhecido
O maior ponto-chave que recebi, e-mail após e-mail é que ser um membro visível e ativo da comunidade que contribui para projetos open source ou que mantém projetos próprios, é o que importa.
Algumas das melhores frases:
O que realmente importa para nós é o que você pode fazer, então fazer contribuições open source são as coisas mais importantes que nós consideramos e analisamos quando estamos contratando. "Amostras de código" são boas, mas elas geralmente são só pedaços inteligentes de código para mostrar o quanto esperto você é. [..] Código open source que outras pessoas estão usando é um grande qualificador porque ele mostra quão bem você é capaz de integrar coisas juntas em um pedaço de software (ou ser capaz de contribuir para um projeto existente), ele mostra o quanto você realmente se preocupa com testes e outras práticas importantes, e, até mais importante, mostra quão bem você se encaixa em nossa cultura já que, bem, é assim que fazemos.
Se ainda não escutamos seu nome, há uma boa chance de que seu processo será simplesmente ignorado. Se não te vimos em conferências ou encontros, em salas de IRC, se ainda não lemos seu blog, ou seguimos um de seus projetos no GitHub, provavelmente você não é a pessoa certa para o emprego, de qualquer forma.
Lista de conhecimentos em um currículo é simplesmente conversa. Projetos open source e participação na comunidade são uma prova real de quem você é e o que você faz.
James Golick (@jamesgolick), Giraffesoft.ca
Se é um emprego com Rails, contribuições feitas ao Rails Core valem mais pontos do que qualquer outra coisa. Mais do que 5 patches, e isso já vale mais do que 500 palavras em seu currículo. Aliás, só existem 200 pessoas nessa situação! Depois disso, seria analisar código fonte de plugins que eles escreveram e procurar por eles no github / twitter / lista de discussão do Rails. Eu procuraria pessoas que NÃO estão amarradas a uma única metodologia, seja TDD, BDD ou Pair Programming e que possam quebrar as regras para conseguir fazer as coisas.
Pratik Naik - Action Rails
Habilidades de comunicação são peças chaves
Em segundo na lista estavam habilidades de comunicação e negócios. Você não precisa ter um MBA ou algo assim, mas ser capaz de entender os clientes, seus requisitos, e ser capaz de se comunicar bem dentro de seu time de desenvolvimento é uma obrigação. Você tem que encontrar uma forma de trabalhar isto em seu currículo (e depois em sua entrevista!).
Robert Dempsey e Seth Walker resumiram isto da melhor maneira:
O que eu realmente quero saber é se o candidato irá se encaixar dentro de nossa cultura. Eles precisam ser capazes de se auto-gerenciar, trabalhar com nossa equipe, e trabalhar diretamente com nossos clientes, usando o telefone, skype, IM, Campfire, etc. Habilidade para comunicar e se adaptar conosco é o fator número 1, enquanto o conhecimento técnico é o fator número 2. Eu verifico os locais de sempre, sejam online ou offline - referências, blog pessoal, LinkedIn, Facebook, Github, etc - para ver qual imagem eles passam online, mas eu não me apoio nisso. Prefiro falar com eles por telefone ou, se possível, pessoalmente. Então combino minhas emoções com isso tudo e tomo uma decisão.
Robert Dempsey (@rdempsey), CEO, Atlantic Dominion Solutions
Para nós é mais importante que um potencial empregado conheça e entenda nossos clientes e suas necessidades, do que saber tecnicamente os pontos altos e baixos das últimas novidades técnicas do Rails. Dito isso, nós procuramos por alguém que possa se integrar com nossa equipe rapidamente, usando as ferramentas que nós usamos e que possa agregar valor o mais rápido possível [ah, e que seja um usuário vim].
Seth Walker, Radical Designs
Paixão, entusiasmo e talento
E, obviamente, ser apaixonado pelo que você faz é muito importante também. Isto vem abaixo na lista porque se você é apaixonado por Ruby e Rails, provavelmente você já está fazendo o item 1, que é contribuir de volta para a comunidade.
Ainda assim, tivemos algumas respostas interessantes:
“Young Guns” são o ingrediente chave na Mocra, a empresa de Dr Nic. Os recrutados são inspirados pelo amor à programação: participar em grupos locais de desenvolvedores e RailsCamps, ter contribuído para open source, e estar preparados para dizer a outros caras no escritório que eles estão errados ou fazendo algo de forma não eficiente. Especialmente o chefe deles.
Dr Nic Williams - Mocra.com
Nós procuramos pessoas com paixão e talento, que se empolgam com construir grandes softwares com grandes pessoas. [..] Ter ajudado a criar e distribuir um produto é importante. Nós também procuramos pessoas que pensam sobre o que nossos clientes gostariam de ter, que focam no sucesso do produto e do negócio e não se deixam levar em guerras religiosas sobre processos de desenvolvimento.
Lew Cirne - New Relic
Um Resumo Legal
Austin Putman da Radical Designs enviou um excelente e-mail que resumiu praticamente tudo que falamos acima:
Nós somos uma empresa bem pequena e só contratamos um desenvolvedor no último ano. Nós não contratamos o cara que ficava twitando.
Porque nós estamos tão focados em servir organizações comunitárias de base, nós estamos procurando alguem que se identifica com esta missão - alguém que será uma adição de longo prazo à equipe. Esteja preparado para ficar por alguns anos - não estamos procurando ser comprados por ninguém.
Nós pegamos alguém que deu explicações completas e claras de suas escolhas de programação enquanto estávamos programando em par. Programação em par é um requisito para nós, e nós pagamos nossos candidatos mais importantes para gastar horas conosco trabalhando em tarefas derivadas de nossos projetos em andamento.
Blogar é maravilhoso - isso te dá uma janela para como o candidato pensa e trabalha. Se você tem um blog - mostre código! Se seu blog é só sobre opiniões sobre o design das capas dos livros da Pragmatic Programmers e as últimas estranhezas no baile de segundo grau que é a comunidade Rails - eu penso "Você não está tão ligado assim em código". Se você não tem blog, ao menos poderia significar que você estão *tão* ligado em código que não tem tempo sobrando para blogar.
Nós também seguimos o conselho sempre repetido de pedir código com testes antes de convidar candidatos para uma entrevista. Isto filtrou um bom número de candidatos que estavam no meio do caminho, poupando nosso tempo e esforço. Existem muitas pessoas que estão simplesmente respondendo a todo anúncio de emprego com a palavra Rails, especialmente no ambiente atual. Este grupo simplesmente não respondia ao pedido para uma amostra de código.
Austin Putman, Radical Designs
Desejo a você toda a sorte em sua empreitada em empregos com Ruby e Rails - seja você o contratante ou o contratado! Não esqueça de conferir o Job Board do Inside Ruby (em inglês).

Clique aqui para adicionar ao del.icio.us

O que eu realmente quero saber é se o candidato irá se encaixar dentro de nossa cultura. Eles precisam ser capazes de se auto-gerenciar, trabalhar com nossa equipe, e trabalhar diretamente com nossos clientes, usando o telefone, skype, IM, Campfire, etc. Habilidade para comunicar e se adaptar conosco é o fator número 1, enquanto o conhecimento técnico é o fator número 2. Eu verifico os locais de sempre, sejam online ou offline - referências, blog pessoal, LinkedIn, Facebook, Github, etc - para ver qual imagem eles passam online, mas eu não me apoio nisso. Prefiro falar com eles por telefone ou, se possível, pessoalmente. Então combino minhas emoções com isso tudo e tomo uma decisão.



18 de Março de 2009 às 7:55
Sensacional esse artigo,é por essa e por outras e vejo a grande necessidade de rever meus códigos e analisa os modulos de teste.