Quer um emprego para trabalhar com desenvolvimento de software? Quer ser um programador, analista de sistemas ou algo nessa linha? Tentarei ajudá-lo(a) você nesta jornada.
Antes de tudo, porém, adianto que se você quer apenas arranjar um emprego, ou talvez esteja pensando em entrar nessa área porque sua avó disse que é coisa de gente moderna, ou porque viu no telejornal que a área de TI está pagando bem, ou porque você sabe usar o Word e o Facebook e acha que conhece informática, este artigo não é para você.
Tenho feito entrevistas, ministrado aulas em faculdades e trabalhado com diversos desenvolvedores. Com esta experiência, talvez consiga abrir um pouco a sua mente para a realidade do mercado de TI.
Alguns podem ter um choque de realidade, outros podem achar óbvio demais. Mas espero que, em algum grau, você tire algum proveito.
Entenda sua vocação
Ao contrário do que alguns cientistas sociais pregam, as pessoas são particularmente diferentes umas das outras e tem inclinações diferentes. Antes de qualquer outra coisa, é importante saber se você tem a vocação para trabalhar com Tecnologia da Informação. Não é uma tarefa fácil descobrir sua vocação, mas quanto antes você conseguir mais rapidamente obterá o tão almejado sucesso profissional.
Pense que talvez você simplesmente não tenha jeito para trabalhar com TI. Desenvolver software, seja como um programador ou analista, não funciona como em uma linha de produção, onde as coisas fluem de forma automática e basta você decorar onde se encaixam os parafusos e quais os botões certos para apertar.
Você deve gostar e dominar o que faz para ser um bom profissional. Claro que isso pode ser aplicado em qualquer área. 😉
Conheço muita gente que seria mais feliz vendendo côco na praia ou fabricando salgados e doces ao invés de ficar trancado o dia inteiro num escritório com luz artificial e um ar condicionado que ora está fraco, ora está forte demais. Além de passar a maior parte do seu dia na frente de um computador, você terá que lidar com informações abstratas e longe da realidade da maioria das pessoas “normais” (tenho dúvidas se uso aspas ou não…).
Características de um bom programador
Uma característica essencial a quem trabalha com software é a capacidade de concentração. Se você não consegue focar sua mente em uma tarefa por muito tempo, terá dificuldades em entender códigos e processos complexos.
Outra característica é a curiosidade sobre detalhes técnicos. Se para você um computador é uma caixa preta que o assusta quando algo estranho ocorre, terá problemas em conseguir dominar essa “fera” em todos os seus aspectos.
Além disso, mesmo que você tenha uma afinidade com TI, ainda precisa compreender em qual área você se encaixa melhor. Alguns jovens tornam-se especialistas em sistemas operacionais como Linux por sua curiosidade em entender como esses sistemas funcionam. Outros (como foi o meu caso) descobrem uma linguagem de programação qualquer e começam a fuçar todos os comandos para ver o que eles fazem.
Você consegue se identificar com algum desses estereótipos?
Conciliando vocação com a demanda do mercado
Muita gente tem “jeito” para trabalhar com computadores, porém não tem um perfil adequado para as vagas disponíveis.
Embora seja louvável que as pessoas busquem mais conhecimento no que se refere à sua vocação e interesses, também faz-se necessário chegar a um equilíbrio entre o que gostamos e as demandas da vida real.
Para ser um bom empreendedor, você deve compreender muito bem as necessidades e desejos do seu público alvo e adaptar-se. Para conseguir um bom emprego, você deve descobrir as necessidades do seu provável futuro empregador e adaptar-se.
A forma mais simples de fazer isso é olhar as vagas atualmente abertas. Não faça uma busca superficial. Olhe todas as vagas que puder e chegue a um denominador comum de quais tecnologias e perfis profissionais são mais requisitados pelo mercado e que estejam alinhados com a sua vocação.
Assim, direcione seus estudos, seu conhecimento e sua paixão para algo que também lhe dê um retorno profissional.
Por exemplo, hoje Java e .NET são as plataformas mais comumente usadas no mercado brasileiro. Entretanto, muitos dos que gostam de programação e estão por dentro das tendências tecnológicas preferem trabalhar com Ruby on Rails, Python/Django, etc. Mas você deve entender que muitas empresas não têm escolha ou não tem know-how para isso, então você deve ser flexível para trabalhar com as tecnologias “de mercado”, tanto quanto suas tecnologias “preferidas”.
Uma forma de conciliar isso é conhecer as plataformas usadas no mercado, onde geralmente se concentra o investimento financeiro, e usar nossas tecnologias prediletas em projetos pessoais e ferramentas internas, construindo um ambiente de desenvolvimento saudável.
Tenha bons fundamentos técnicos e teóricos
Independente da vocação e das experiências que você tenha, conhecer os fundamentos sobre Orientação a Objetos, protocolo HTTP, gerenciamento de memória, funcionamento dos sistemas operacionais, lógica e algoritmos é essencial para seu sucesso desenvolvendo software.
Algumas pessoas argumentam que a teoria é muito diferente da prática e que essas coisas em geral são ensinadas de forma equivocada. Na verdade, concordo com isso. Porém, como a codificação de um programa consiste justamente em trabalhar com conceitos abstratos, esta é uma das poucas áreas onde a teoria pode se aproximar muito da prática, desde que o desenvolvedor realmente entenda os conceitos que está aplicando.
Tenha experiência prática
Se você não tem experiência em programação, e com isso quero dizer tempo programando de verdade, sem contar algum estágio muito básico, cursos ou aulas em laboratório, então dedique-se a desenvolver algo por conta e a participar de desafios de programação.
Assim como andar de bicicleta ou dirigir, teoria não basta para ser um bom programador. Quanto mais quilômetros rodados, mais qualidade e eficiência terá o código que você cria, e maior será seu valor no mercado de trabalho.
Uma enorme vantagem da área de desenvolvimento de software é que apenas com seu computador pessoal e internet é possível aprender e ter algum contato com praticamente qualquer tecnologia. Então sem desculpas! É claro que, em contrapartida, acaba sendo também uma exigência que os novatos na área já tenham algum nível de contato com as tecnologias.
Encare a realidade
A realidade é que provavelmente você é um programador bem ruim.
Como ter certeza disso? Responda a si mesmo: quantos softwares você já entregou ao cliente final e os deixou plenamente satisfeitos?
Algumas empresas procuram apenas por pessoas que já tenham entregue software de qualidade para o cliente ou, como dizemos, já tenham colocando bastante código em produção.
Ao programar apenas para si mesmo, você nunca vai encontrar seus erros. Há relatos de sistemas desenvolvidos durante meses com “altos padrões de qualidade”, mas que não resistiram ao primeiro clique do usuário.
Somente tendo suas habilidades confrontadas e questionadas por pessoas mais experientes, desenvolvedores e usuários, você pode vir a ser um bom programador.
Converta-se da sua mentalidade MEC
Se você quer mesmo conseguir um bom emprego, numa boa empresa, não espere que lhe ensinem tudo o que você precisa saber. Seja ou torne-se capaz de correr atrás do conhecimento sozinho.
Já vi muita gente reclamar que a faculdade tem uma grade ruim, o professor não ensina direito, a empresa não oferece cursos de aperfeiçoamento. Embora tudo isso seja muito bom e útil alguns para dar algum impulso inicial, nenhuma iniciativa será capaz de automatizar o seu aprendizado.
Você não pode depender de professores, chefes ou colegas para realizar seu trabalho, ou vai ficar somente com as piores vagas, enquanto outras pessoas mais proficientes ficarão com as melhores.
Faça uma lavagem cerebral em si mesmo. Esqueça diplomas, certificados, cursos. Isso não vale de nada. O que conta é o que você realmente sabe fazer.
Torne-se desejável
Ter vocação e habilidades técnicas não basta. Para obter um bom emprego você deve ser alguém que as pessoas queiram perto de si. Note o destaque no verbo querer.
Se você não possui nenhuma área de destaque, é uma pessoa difícil e os outros precisam suportar você, é mais um peso do que uma ajuda, dá mais trabalho aos outros do que os alivia, então isso precisa mudar!
Torne-se desejável para as empresas
Não, não quero que você seja como um cachorrinho que faz tudo o que a empresa pede. Tornar-se desejável significa ter algo que elas querem e que fariam elas pagarem para ter você no quadro de funcionários.
A grade questão é: o que as empresas procuram? Isso varia.
Empresas pequenas tem um quadro de funcionários enxuto e precisam entregar mais código por desenvolvedor. Nem sempre a qualidade é a melhor, mas os sistemas precisam atender no mínimo às demandas essenciais dos clientes da empresa. Além disso, empresas pequenas não tem recursos para realizar treinamentos extensivos ou custear um funcionário que não dá um retorno mais imediato.
Empresas grandes tem mais recursos para arcar com empregados menos produtivos e treinamentos, mas ainda assim, você deve chamar atenção suficiente ser chamado para a entrevista, demonstrar proficiência em alguma tecnologia e saber se virar de alguma forma.
Em geral ter experiência em tecnologias específicas e conhecimentos específicos é o principal ponto para qualquer vaga. Porém, como já foi mencionado anteriormente, você não precisa ter necessariamente trabalhado numa empresa para conhecer essas tecnologias. Se você for ser capaz de demonstrar que consegue produzir algo útil, tendo trabalhado talvez em projetos pessoais ou com amigos, de forma que tenha conhecimento pleno do seu funcionamento, isso será suficiente.
Enfim, você deve ter no seu currículo algo que demonstre sua vivência com programação e tecnologias específicas, não apenas uma lista de siglas que você ouviu seu professor falar ou já esbarrou em algum projeto, mas não tem domínio algum.
Torne-se desejável para seus colegas
Muita injustiças ocorrem nas entrevistas e cada entrevistador tem seu jeito próprio. Alguns não tentam realmente achar os pontos fortes do entrevistado, outro ficam com o ego inflado por terem o poder de decisão nas mãos e acabam desprezando pessoas boas. Acontece, mas não se apegue a isso.
Um princípio praticamente universal que pode lhe direcionar neste aspecto é pensar como se estivesse do outro lado. Se você estivesse se entrevistando, o que o levaria você a se contratar? Você é alguém com quem os outros gostariam de trabalhar?
Não há uma norma absoluta de como ser ou tornar-se alguém bom para se trabalhar. Você simplesmente é.
Nesse ponto, certamente há diferentes opiniões. As pessoas tem exigências diferentes. Alguns chefes são mais exigentes, outros mais compreensivos. Alguns colegas gostam de ajudar os novatos, outros nem tanto. Mas num ponto todos eles convergem: eles amariam um colega que os aliviasse da sua carga trabalho atual e de precisar saber detalhes técnicos desnecessários.
Você consegue dar conta da parte técnica de um projeto ou pelo menos no que se refere às suas atividades? Ou sempre precisa de ajuda para fazer qualquer coisa e os outros precisam despender muito tempo entendendo o seu trabalho?
Você dá trabalho ao fazer o seu trabalho?
Muita gente pense que, ao ser contratado, a empresa lhe deve o salário, uma séria de obrigações e ainda é obrigada a lhe ensinar como trabalhar. Bem, até certo ponto isso pode ser verdade. Mas é esperado que você retorne algo em contrapartida, contribuindo para o trabalho que precisa ser feito.
No entanto, o que muita gente não enxerga é que muitas vezes ela dá mais prejuízo do que lucro para a empresa.
Façamos uma conta simples. Você entra como desenvolvedor júnior na empresa ganhando 1.000 reais. Seu chefe, que ganha 4.000 reais, gasta duas horas do dia dele entre lhe passar atividades, tirar dúvidas, cuidar da burocracia no que se refere a você. Caso você não seja produtivo o suficiente, seria melhor ele usar as duas horas que ele gasta com você para fazer o seu trabalho e a empresa ainda economizaria o seu salário e impostos.
Estudos relatam que programadores com o mesmo nível de experiência podem ter diferenças de produtividade num fator de 10, o que significa que algumas pessoas produzem 10 vezes mais do que outras. Portanto é de se esperar que uma hora do seu chefe, líder ou colega vale muito mais do que a sua.
E as coisas podem ficar ainda piores. Se fizermos uma média de quantos bugs cada programador costuma introduzir por linha de código, certamente os mais novatos ficarão com os maiores índices. E código mal feito também custa dinheiro, porque cedo ou tarde alguém vai ter que perder tempo para arrumá-lo. O problema é que correção de bugs e refatoração de código custam muito tempo e dinheiro.
Portanto, se você produz código de baixa qualidade, ninguém vai querer lhe passar tarefas e você vai ficar como aquele que é o último escolhido para o time de futebol. No entanto, se o seu código não causa dor de cabeça para seus colegas e líderes, então você será sempre um dos primeiros escolhidos para os projetos.
Tiramos daqui duas lições:
- Valorize as oportunidades que lhe dão, pois um júnior é quase sempre um investimento e não lucro para a empresa.
- Ninguém em sã consciência (a não ser o Governo, talvez) vai manter um funcionário numa posição de forma que dê prejuízo, que seja um empecilho para a empresa e não contribua para o bom andamento das atividades.
Se você mais dá trabalho aos outros do que elimina trabalho, vai ter dificuldades em encontrar um bom emprego. Não adianta conhecer todas as APIs e linguagens do mundo se isso efetivamente não resolve o problema de alguém.
Por outro lado, se você é alguém que resolve as coisas, sabe se virar, consegue tirar o peso dos ombros dos chefes e colegas, então será mais do que bem-vindo em qualquer equipe ou empresa.
Habilidades técnicas não bastam
Vocação, conhecimento técnico e um perfil desejável são fundamentais. Entretanto, algo impeditivo na vida de muitas desenvolvedores está na falta de bons relacionamentos profissionais, dificuldade em se expressar e comunicar.
Você precisa melhorar suas habilidades sociais. Isso deve ser feito em dois níveis, pelo menos.
Tenha contato com outros desenvolvedores
Ter uma rede de amizades é essencial para o aprendizado como profissional e decisivo para saber onde estão os bons emprego. Não tenho uma estatística exata, mas posso afirmar categoricamente que, de todos colegas que tive em todas as empresas que trabalhei, 99% deles estudaram ou trabalharam juntos anteriormente.
As indicações não apenas ajudam a colocar pessoas dentro das empresas devido ao conhecimento antecipado do perfil do funcionário, mas também faz com que o candidato tenha um pré-conhecimento da empresa em que pretende trabalhar.
Um amigo lhe diz que trabalhar na empresa X é legal, logo seu interesse em trabalhar para X será automaticamente maior do que para Y ou Z, afinal você conhece um pouco sobre a empresa.
Da mesma forma, seu amigo lhe indica na empresa como alguém que ele conhece. Embora você ainda tenha que passar normalmente pelo processo seletivo, se os entrevistadores tiverem que escolher quem vão entrevistar dentre 100 candidatos, é muito mais lógico que eles confiem na indicação de um conhecido do que em currículos recebidos pela internet de pessoas desconhecidas.
Indicação não significa contratar pessoas menos qualificadas para trabalhar. Pelo contrário, consiste em indicar pessoas qualificadas de forma muito mais direta e eficiente, afinal há um conceito de que “bons programadores em geral tem como amigos outros bons programadores”.
Não que é impossível quebrar essa barreira. Às vezes o RH funciona como deveria. Às vezes.
Saiba comunicar-se com programadores e não programadores
Programadores geralmente não tem dificuldades em comunicar-se com programadores. Mas programadores também são gente, então habilidades sociais são necessárias. Você deve saber explicar suas atividades, tecnologias, aquilo que você sabe. Se você não consegue passar algum conhecimento para novatos ou explicar o seu numa entrevista, será impossível que os outros olhem dentro de você e vejam que você é um bom programador.
Por outro lado, gerentes não técnicos, funcionários de RH e outras pessoas que você encontrará pelo caminho não vão se impressionar pela sua “nerdice”. Além de conhecer bem a parte técnica, você deve saber se comunicar com pessoas que não são da área.
Nesse aspecto, uma mentalidade abstrata pode funcionar bem. Sempre que conversar com essas pessoas, ao invés de falar em “techenês”, procure sempre usar analogias com coisas cotidianas para explicar o que você faz. Isso demonstra que você tem segurança e ainda é capaz explicar coisas complexas de forma simples para pessoas que não dominam o assunto.
Seja persistente
Não é agora que vou começar com mensagens positivistas. Quando falo sobre persistência, estou me referindo a um aspecto bem prático.
Explico: é comum ser rejeitado ao concorrer para uma vaga.
Pode ser que você (ainda) não tenha o perfil adequado para aquela vaga ou empresa. Pode ser que, justamente naquela ocasião, outro candidato mais qualificado tenha surgido. Pode ser que seu desempenho não tenha sido ideal. Talvez você pisou na bola justamente em um tópico importante para o entrevistador. O entrevistador pode ter sido injusto.
Mas saiba que é muito comum pessoas serem chamadas tempos depois da entrevista, quando pensavam não ter mais chance. Também acontece de se fazer uma nova entrevista alguns meses depois e conseguir o emprego.
Então, se você quer conseguir um emprego numa determinada empresa, não desanime se não for chamado para entrevista ou não passar logo na primeira tentativa. Tudo pode ser uma questão de ocasião e oportunidade. A paciência e a persistência desempenham um papel fundamental.
Um erro comum, que eu mesmo já cometi, é mandar o currículo para o e-mail padrão do RH da empresa. Ao não ser respondido, assumi que eles não tinham vagas ou não queriam me contratar. Poucos meses depois. um head hunter contratado por essa mesma empresa encontrou meu currículo no LinkedIn e me chamou para uma entrevista. O que mudou nesse tempo? Absolutamente nada. O e-mail para o RH simplesmente deve ter sido ignorado. Se tivesse insistido, talvez conseguisse o emprego meses antes.
Conclusões
Não existe fórmula mágica para conseguir um emprego, ainda mais um bom emprego.
Espero que tudo o que eu disse até agora não tenha soado abstrato ou superficial, mas lhe tenha feito enxergar algo novo.
Estudar o que o mercado demanda, através da análise das empresas e das vagas, geralmente é um bom começo. A partir disso, estabeleça suas próprias metas e se esforce para chegar lá. Não se esqueça também de fazer contatos com empresas e profissionais para manter sua rede de networking.
Cada aspecto mencionado neste artigo não deve ser abordado de forma isolada. Ser um bom técnico é importante, mas não garante um emprego. Ter alguém para fazer indicação é muito bom, mas se você não tiver bons conhecimentos ou não souber expor suas habilidades a situação pode ser constrangedora para você e para quem lhe indicou.
Aliás, pense duas vezes antes de pedir para alguém lhe indicar para uma vaga. Não espere conseguir um emprego somente por questão de amizade. E se a pessoa se negar a fazer a indicação, não fique triste ou indignado. Pode ser que ela saiba que você não ter o perfil necessário e, se isso for verdade, ambos podem ter a reputação abalada.
Uma ideia melhor é perguntar a seus amigos se eles acham que você tem o perfil para a vaga e, com humildade, indagar o que poderia fazer para vir a ter esse perfil.
Construir um bom perfil profissional, ter bons conhecimentos e uma boa reputação não é algo que se faz em poucos meses. Talvez você leve alguns anos, mas nunca vai se arrepender.
Para resumir tudo: se você quer um bom emprego, precisa antes ser um bom funcionário, empregado e colega, com o qual os outros gostariam de trabalhar.