Fui demitido, matei um impostor e até ganhei medalha

Pra manter minha “veia ágil”….há algum tempo estou com a vontade de fazer um artigo de retrospectiva do que aprendi nos últimos meses.

Iria esperar um pouquinho…aguardar alguns objetivos serem concluídos….mas um pequeno acontecimento (que eu explico durante o texto) me fez adiantar este artigo.

Aviso: texto longo…

Emotivo ou prático?

Antes de começar, gostaria de expor um dogma que sigo há um bom tempo. Não sou muito fã de fundamentalismos, mas até o momento ele foi tão assertivo que eu não consigo deixar de acreditar nele. Veja por si só:

As pessoas que sabem que você possui um problema, geralmente trazem dois tipos de conselhos:

  1. O emocional, que as vezes é um pouco óbvio e não lhe ajuda muito.
  2. O prático, que faz a pessoa que o está fornecendo parecer um pouco fria e distante, mas que pode ser exatamente o que você estava precisando.

Vamos usar um exemplo. Imagine que você é um gastador compulsivo, compra mais do que ganha, está sempre endividado e tal.

O sujeito dos conselhos emocionais, bem intencionado, vai vir com frases tipo “Você tem que parar de gastar“, “Pensa no seu futuro“, “Daqui a uns anos você vai ver como isso vai te prejudicar“, “Nossa você gastou isso tudo, em 3 dias?”.

Já o sujeito dos conselhos práticos, também com boas intenções, vai chegar e perguntar:

  1. Você já pensou em procurar ajuda psicológica?
  2. Já leu livro X e Livro Y sobre Finanças?
  3. Já pensou em procurar uma consultoria sobre o assunto?

Isso é só um exemplo. Mas acho que vale a pena comentar sobre isso, porque este artigo dá um “caminho das pedras” das soluções que eu encontrei para resolver um problema pontual da minha vida. E apesar de ser um artigo bastante pessoal (e as decisões que você possa vir a tomar são totalmente pessoais) tenta dar as dicas da forma mais prática possível.

É claro, eu não sou o dono da verdade…rs. Então enchi este artigo de links, pra mostrar de onde tiro os meus pontos de vista.

Síndrome do Impostor

Se você é desenvolvedor de software (iniciante ou experiente), acredito que em algum momento da sua vida, ficou perdido com o monte de possibilidades que essa profissão pode nos oferecer de ser alguém relevante:

  1. Ser empreendedor descolado, ficar bom em Business e deixar informática pro sócio — (Como Steve Jobs e Wozniak)
  2. Ser um cara super ligado em Ciência da Computação e Algoritmos pra tentar entrar para uma empresa muito importante — (Quem nunca sonhou em trabalhar no Google)?
  3. Montar uma StartUp e criar um produto revolucionário — (Sabia que ICQ é Israelense)?
  4. Virar um hacker e fazer algo muito relevante para a humanidade — (Tipo se matar com 26 anos)
  5. Virar alguém presente na comunidade de software, de preferência bastante excêntrico — (Tipo o Richard Stallman)

A grande maioria de nós, costuma arriscar de todas as formas ser um pouquinho de cada uma das opções acima.

Daí cai na real e aceita a realidade: Ser apenas mais um cara que quebra a cabeça para gerar soluções e que na melhor das hipóteses vai deixar alguém que nem sabe seu nome completo, mais rico.

Ok Cézar, mas qual o problema? Contadores, publicitários e Gerentes fazem isso todos os dias e não reclamam. Porque nós que escrevemos código, vamos sofrer mais com isso?

As respostas são muitas, mas gostaria de citar algumas:

  1. As vezes, o software que você ficou trabalhando por meses, mesmo sendo bom para c*, não é utilizado por NINGUÉM. Seja por razões de mercado, por burocracia ou porque o cliente que pediu o software, simplesmente gosta de jogar dinheiro fora.
  2. As vezes, o software que você fez com todo o carinho do mundo, onde você utilizou técnicas avançadissímas (estou utilizando Ajax galera, nem dá refresh!!!) se torna obsoleto em pouquíssimo tempo.
  3. As vezes, o software é vivo…está sendo atualizado o tempo todo…possui milhões de usuários conectados…mas é secreto..interno…. e você não pode mostrar para ninguém.
  4. As vezes, uma feature que você demorou um tempão para implementar, tem uma correção minúscula de outro membro da equipe…e esse sujeito estranho faz questão de abocanhar todo o crédito, para agradar um outro chefe mais estranho ainda.

Essas coisas são tão comuns que, exceto alguns dinossauros que tem a sorte de ter seus softwares escritos em Cobol e Clipper rodando por diversas gerações, a grande maioria de nós tem que sofrer um pouco até se acostumar.

Sim…estou falando sério. O negócio é tão forte que ganhou até um nome: Síndrome do Impostor.

Este fenômeno foi explicado pelos gringos do Developer Tea aqui e mastigado em português com maestria pelo Daniel Filho neste podcast aqui (recomendo escutar com bastante calma depois de ler este artigo).

Além de ter vivido (e sofrido!) com a Síndrome do Impostor…achei interessante fazer este artigo porque estou vendo amigos entrando nela. E através de alguns links e algumas dicas irei tentar orientar quem pretende se preparar para fazer uma mudança profissional na vida e deixar esse negócio de impostor pro passado.

Matando o Impostor

Depois de dar esse gigante spoiler do Talentoso Ripley, gostaria contextualizar um pouco minha situação.

Após ser demitido em uma empresa onde trabalhei, com excelentes lembranças, por 3 anos e receber um e-mail muito interessante, me comprometi a me preparar para trabalhar de forma remota e global, para qualquer lugar do mundo.

Algo que a 37 Signals gosta de chamar de Nômade Digital.

O objetivo é ousado, e como disse lá em cima, não foi concluído ainda. Mas acredito que toda a experiência vivida nestes últimos 5 meses já me transformou bastante.

Resumindo bastante, a minha preparação consistia em:

  1. Tornar meu conhecimento sobre software público para todos
  2. Contribuir mais na comunidade de software.
  3. Aprender a me comunicar em Inglês

Esta é a forma emocional de descrever minha preparação. A forma analítica, racional e mais prática de conseguir estes objetivos vai ser destrinchada abaixo. Com links e tudo mais.

Sempre lembrando, estas foram as minhas escolhas…podem não servir para você.

Tornando o conhecimento público

E então eu me perguntei na época…Quais os Baby Steps para começar a mostrar para todo mundo o que eu sabia fazer?

Dica 1 — Tenha um blog

Você é um rapaz Latino Americano que ainda não tem um blog? Tsc, tsc…Que mancada. Este é o primeiro, mais rápido e mais fácil meio de começar a mostrar a sua voz para o mundo. Além de ser muito menos visceral que montar uma banda punk, pode acreditar…na hora que você menos esperar, alguém de algum lugar que você menos imagina vai comentar sobre algo que você escreveu.

Dicas para caso você nunca tenha tido um:

  1. Tenha no mínimo 3 links em seus post’s, apontando para mais conteúdo sobre o assunto que você está falando. Se não é possível arrumar 3 links sobre o assunto é melhor nem escrevê-lo. Este é uma das regras que eu usei neste artigo, por exemplo.
  2. Nunca publique um post ao acabar de escrever. Sempre há algo que pode ser alterado.
  3. Videos são uma boa opção, mas no caso de tecnologia, para nós codificadores “o copiar e colar” é quase uma constante. Então, mesmo que você coloque uma vídeo aula foda no youtube, o sujeito vai querer pegar os trechos de código que você usou em algum lugar.
  4. Imagine que você pode usar o blog como “âncora” para estudar algum tópico com bastante foco. Por exemplo, eu estava precisando estudar sobre Design Patterns e HTML5. Tudo que estudei e todos os exercícios que fiz durante todo este tempo, estão disponíveis neste post e neste outro aqui. Ou seja, sempre que precisar dar uma revisada, meu blog serve como uma espécie de “fichamento” de estudo.
  5. No início, se atenha a princípios e não a tecnologias. Fazer um post sobre Algoritmos pode ser ter mais vida útil daqui a 5 anos do que falar sobre Docker por exemplo.

Dica 2 — Aprenda a brincar no Git

Apesar dessa carinha fofa, este troço é assustador para caramba no início. Apesar de já usar há um bom tempo….até hoje ainda não me garanto em alguns tópicos, como Rebasing.

Mas calma….há alguns caras que podem nos ajudar…

Dicas principais:

  1. Dê uma olhada neste livro, totalmente em português e bastante didático.
  2. Separe algumas horas do seu sábado para esta série de vídeos do Fábio Akita
  3. Escute esse podcast da galera da Lamda3 .

É chato no inicio, muita linha de comando…mas uma coisa é certa…você NÃO vai conseguir entrar para o mundo Open Source se não souber pelos menos os conceitos envolvidos por trás de Branch, Tag, Trunk, Push, Pull, Commit, Issues e Pull Request.

Dica 3 — Procure um Projeto Open Source para participar

Aqui cabe uma atualização. Ao contrário do que disse em meu artigo anterior sobre Projetos Open Source, o Glimpse não foi a minha escolha final.E sim o…. Code Cracker! (\0/\0/\0/\0/\0/).

Em breve um artigo sobre o motivo da mudança!

Voltando ao assunto, não sei qual linguagem você utiliza, mas vou te adiantar…se você não utiliza uma linguagem que tem uma comunidade extremamente ativa como a do Ruby On Rails é atualmente…ou como PHP e Java já foram no passado…encontrar um Projeto Open Source bacana é uma tarefa que exige um pouquinho de tempo.

Uma dica legal é: depois de aprender o básico de Git, aprenda pelo menos um pouquinho sobre licenças. Abaixo vão alguns links onde você pode ir “colocando o pé na água” do Open Source:

  1. Podcast super informativo da lambda3, falando sobre passado, presente e futuro do Open-Source. (Fresquinho, fresquinho)
  2. Se o Inglês não é o seu forte ainda, o pessoal da OPS é super receptivo., tudo lá é feito em português e a liberdade para usar linguagens e skills diversos é bem grande. Só de ter gente do calibre de Diego Aranha na equipe já valeria o ingresso. Mas tive notícias que até especialistas em Machine Learning se alistaram no projeto.
  3. Como já listei aqui, os sites Up-for-Grabs e Code Triage não foram muito úteis para mim, porém talvez seja legais para você. Não custa nada dar uma olhada.
  4. Se tiver com muuito tempo livre e ainda não se sentir seguro de assumir compromissos…apanhar do git…ou simplesmente tiver dificuldade em achar um projeto que se sinta confortável…Crie um e vá incrementando ele aos poucos. Eu comecei assim mas te recomendo…não é uma estratégia tão enriquecedora quando participar de algo em conjunto. Se pudesse voltar atrás, não teria escolhido este caminho de começar algo do zero sozinho, ou teria gastado menos tempo num projeto próprio.

Dica 4 — Participe de Desafios Online

No título deste artigo, eu disse que ganhei uma medalha certo?

Bem não foi aqueeeela medalha, mas foi algo que me deu muito orgulho de participar. Me cadastrei no Site Hackerrank e após resolver alguns desafios com sucesso me dispus a conquistar pelo menos um badge de Algoritmos.

Mal sabia eu que o site é super sacana, porque se os desafios iniciais são levemente picantes, o último desafio antes de você conquistar o badge, é malagueta pura…

No meu caso foi, ninguém mais ninguém menos que, o assustador Snakes and Ladders que me forçou a ter que estudar um pouquinho sobre grafos e Busca em Largura.

Caso não se sinta a vontade com o HackerHank, eu recomendo verificar também o Code Chef que possui a interface um pouco mais cabulosa…mas permite uma gama enorme de linguagens e acredito eu que possui algoritmos um pouco mais generalistas.

Estas foram as dicas para você começar a tornar o seu conhecimento mais público. Agora como fazer para começar a contribuir na comunidade de Software?

Contribuindo na Comunidade de Software

Dica 1 — Participe de Eventos e Meetups

Gosto muito de eventos. Mas vou lhe confessar que na minha região, para mim, os Meetups tem sido mais proveitosos que os eventos. A razão é que nos Meetup’s o Networking rola um pouco mais solto, não sei bem como explicar. Se você não sabe o que são meetups eu recomendo entrar no site oficial e utilizar…simplesmente.

Parece ser uma dica um pouco óbvia se você já viu minhas outras postagens, mas se não conseguir encontrar um Meetup disponível na linguagem que você pratica (como aconteceu comigo).. vai na galera do Arduíno.

O Arduíno possui o “social” no seu DNA. Uma vez que sempre há uma ferramenta que você tem e o colega não tem e você acaba emprestando….pela facilidade de você criar coisas na hora…inventar idéias….é sensacional.

A única coisa que você precisa para começar é comprar um kit e começar a brincar. Parece lego! E dá para construir coisas sensacionais. No meu caso, o kit que eu comprei e que uso até hoje é este aqui.Infelizmente não tive tanta sorte com os Meetups de programação como Android, Git e Nodejs. Talvez tenha sido alguma falha minha..rs…vai saber.

Mais dicas:

Dica 2 — Grupos nos Slack

Além do Meetup, uma outra ferramenta que eu achei legal de conhecer durante esse meu período sabático foi o Slack. Porém, verdade seja dita: é um pouco confuso as vezes. O que eu faço é de vez em quando, para dar uma relaxada… entro no Brasil.net e acompanho o que o pessoal anda falando. Se tiver parado, pergunto alguma coisa e depois dou uma desencanada.

Para acompanhar direto, particularmente o formato me cansa um pouquinho.

Dica 3 — Participar de Hackathons

Se em eventos, você tem a possibilidade de ver gente como Martin Fowler de perto. Em Hackathons você tem a oportunidade de programar junto com caras como Pedro Markun, Ciro Costa e Matheus Zitelli.

Gente que talvez você não conheça, mas que está por trás de coisas como Metamáquina , Garoa HC , Transparência Hacker, Ônibus Hacker e Dados Abertos. Ou seja, é muito recompensador participar de um Hackathon.

Além disso, estar sob uma pressão tão grande (entregar um software funcionando com Layout, testes e código fonte organizadinho em prazos de 24 ou 30 horas) é uma experiência que mostra facetas da sua personalidade e de sua capacidade técnica que você pode nem imaginar conhecer.

Em 2015 eu peguei um dinheiro que tinha guardado, me aventurei sem GPS sem nada para cidade de São Paulo e carregando uma mala com colchonete fui participar do Hackathon da Música, que unia duas coisas que quem me conhece sabe que eu adoro: música e programação.

Dicas:

  1. Valhe a pena se planejar para pelo menos uma vez por ano ir participar de algum Hackathon de preferência, fora do seu estado. Nós que moramos em Minas não temos uma grande ocorrência de eventos deste tipo então…bora SP!
  2. Cadastre a palavra “Hackathon” no Google Alerts e receba no seu e-mail, sempre que houver uma noticia a respeito.

Há alguns bem sofisticados com prêmios de até R$ 10.000. Ou seja, além de aprender para caramba, conhecer pessoas espetaculares e fazer turismo…você ainda pode fazer uma graninha.

Bom…agora que já sabemos tornar nosso conhecimento público e contribuir para alguma comunidade, vamos ao terceiro item:

Aprender a se comunicar verbalmente Inglês

Olha o Clichêzão aí. Este é um dos motivos de eu ainda ter enrolado um pouquinho a fazer este artigo de retrospectiva.

Não gosto de hipocrisia..e como vou indicar para você algo que nem eu ainda sou bom?

Nem vou cair no lugar comum de dizer para você aprender a ler e escrever em Inglês.Mas pode ser que para trabalhar remoto, participar de equipes de bons projetos Open Source, em alguns momentos vai precisar entrar ao vivo no Skype e conversar em Inglês.

Mas não se preocupe…tenho a indicação de um cara com MUITA credibilidade para te ajudar nessa tarefa ingrata. Felipe Neto!

Apesar de eu estar sendo irônico…acho que ele mandou bem demais nessa sugestão. Direta, simples e eficiente. Uma das melhores dicas de como aprender Inglês que eu já recebi.

Infelizmente neste quesito eu ainda tenho poucas dicas. Passar a assistir filmes e séries legendados também ajuda um pouquinho.

Revisão antes do fim

Só fazendo uma pequena revisão para organizar. Conforme eu disse, os passos que estou seguindo para me tornar um desenvolvedor nômade e trabalhar de forma remota para qualquer lugar do mundo são:

  1. Ter um blog e escrever sobre tecnologia nele.
  2. Aprender a usar o básico do Git
  3. Participar de algum projeto Open Source
  4. Participar de desafios de Algoritmos no HackerHank ou qualquer outro site
  5. Participar de pelo menos um Hackathon no ano
  6. Ir em Meetups, de preferência de Arduíno
  7. Ir em eventos, sempre que possível
  8. Aprender a se comunicar em Inglês

E depois Cézar, o que fazer depois dessa preparação?

No meu caso, como o item 8 ainda está sendo concluído, o meu primeiro passo foi me cadastrar em Sites de Freelancers. Só que aqui, há um pulo do gato, uma dica de Ouro, que poucas pessoas costumam dar:

Use o plano pago desses sites, por pelo menos um mês. Eles funcionam!

Antes de qualquer coisa, uma dica regional e pessoal. Infelizmente, o GetNinjas me decepcionou enormemente. Mesmo no plano pago.

Dito isso, abaixo seguem algumas dicas mais específicas com comentários das experiências que tive.

Sites que experimentei e não me trouxeram resultado ainda:

  1. Freelancer.com — A opção mais óbvia. Porém, se o seu Inglês ainda não está afiadíssimo eu não gastaria muito tempo aqui. Se tiver com o inglês afiado, eu recomendo guardar um dinheirinho, estudar HTML e Javascript e fazer os testes online destas ferramentas. Vai te colocar na frente de muita gente.
  2. ODesk — Excelente, porém eu recomendo também dar uma caprichadinha no Javascript Avancado e no HTML, pois é possível fazer os testes online desta ferramenta gratuitamente, porém se você não passar, só dá para recomeçar no outro mês. E sem estes testes amigo, você vai ser só mais um, competindo com Indianos e um monte de programador ninja espalhado pelo mundo.
  3. We Work Remotely — Se você é bom em Rails eu recomendo fortemente. Caso contrário, eu sinceramente não consegui achar nada legal, para C# por exemplo.
  4. Remote OK — Possui um esquema que mostra o valor pago por cada tipo de linguagem. Interessantíssimo. Porém ainda não pesquisei a fundo.

Site que mais me trouxe resultado até agora: Workana

Minha primeira impressão do Workana não foi boa. Entrei como um usúario free. Pesquisei algumas vezes e me frustrei. Porém, assistindo um vídeo que irei linkar no próximo tópico, resolvi experimentar a versão Premium. Só para ver o que iria acontecer. E vou te confessar. A qualidade das propostas aumentaram consideravelmente.

É claro que fatores como um Github mais vitaminado e eu estar com um senso de auto-estima muito mais ativo, influenciaram. Porém se há uma dica que eu posso lhe dar, se você ainda não está fera no Inglês e pretende se tornar um nômade digital é dar uma olhadinha boa no Workana.

VanHack

Por diversos motivos, ainda quero me aprimorar no Inglês e “colocar o pé na água” mais um pouquinho antes de já ir direto pra procurar emprego numa empresa Internacional. Mas essa é uma decisão minha, pessoal.

Você pode ir direto para uma consultoria como a VanHack a qualquer minuto. Recomendo fortemente, assistir o vídeo abaixo e ir atrás de todos os links que o amigo abaixo fornece.

Agradecimentos especiais ao Leandro que me passou esta dica show de bola.

Conclusão

Apesar de tudo. Ainda não há nada garantido. Ainda há 3 empresas no Brasil que eu adoraria trabalhar até fisicamente…pegando ônibus…sala de cafezinho…e tudo mais. Uma delas ainda há chances de eu conseguir fazer entrevista. As outras duas (Studio Sol e Thoughtworks) infelizmente eu não consegui passar no processo seletivo.😦

De toda forma, espero que daqui a uns dois anos eu olhe para este post, para esses 5 meses tão movimentados da minha vida e tenha orgulho das minhas decisões e escolhas.

Espero que seja produtivo para você e aquele abraço.

Originally published at cezarantsouza.wordpress.com on July 6, 2016.