in

Diferenças entre o Brasil e Canadá para um Software Engineer

Desde a entrevista até a cervejinha de sexta-feira com a galera do escritório

Se você chegou até aqui, então existe um interesse em saber mais sobre desenvolvimento de software no Canadá e quais as diferenças entre os dois países neste ambiente.

Tenho 12 anos de experiência passando por todas as mil categorias de desenvolvedor no Brasil: Estagiário, trainee, junior, pleno, senior, consultor, ninja, jedi…

Foram 8 no Brasil e 4 no Canadá, mais especificamente em Vancouver, BC. Quero deixar claro que vou compartilhar o meu ponto de vista e as principais diferenças que senti desde a entrevista até a cervejinha de sexta-feira depois do trabalho.

A entrevista

Photo by Daniel McCullough on Unsplash

A primeira diferença que percebi ainda no Brasil foi a entrevista de emprego. No Brasil normalmente você tem uma entrevista técnica bem leve e uma outra entrevista com o RH. Não me lembro de nenhuma entrevista técnica que tenha sido complicada, ou que tenham explorado mais os meus conhecimentos para garantir que estavam contratando uma pessoa que realmente iria dar conta do que estava por vir.

Para conseguir entrar na minha primeira empresa no Canadá passei por 4 entrevistas com o time:

  1. Por telefone — Para ver se eu poderia realmente trabalhar no Canadá e se tinha conhecimento na sopa de letrinhas que eles estavam buscando.
  2. Por vídeo — Entrevista técnica com perguntas básicas de orientação a objetos, padrões de projeto, conhecimento e aplicação de alguns frameworks e no final resolver um problema de lógica de programação.
  3. Presencial 1— Entrevista técnica onde pediram previamente para ler o livro Grails In Action. Durante a entrevista perguntaram diferenças entre Grails e Java. Como funcionava o TDD, perguntas sobre integração contínua e descrever algumas arquiteturas de projetos que trabalhei.
  4. Presencial 2 — Etapa para garantir que os dois lados estavam satisfeitos com as propostas, apresentar a equipe e me darem a tão esperada oferta de trabalho.

A entrevista foi bem completa e pude entender o que eles estavam buscando, o cargo que estaria exercendo e conhecer um pouco da cultura da empresa antes mesmo de começar a trabalhar. Eles também tiveram oportunidade de me conhecer melhor, ver se eu tinha o conhecimento e o perfil necessário para a vaga.

A princípio achei que fosse apenas essa empresa, mas depois fiz entrevistas para outras empresas e o processo de todas elas foram bem semelhantes.

Bem vindo à empresa

Photo by rawpixel on Unsplash

Aqui foi a primeira vez que tive a experiência de ter algum treinamento antes de começar a trabalhar de fato. Nas três empresas em que trabalhei passei por um período de adaptação com treinamentos, mentores e conhecendo mais o funcionamento da empresa. Desde a equipe com quem iria atuar diariamente até a equipe de vendas nacional e internacional. Também pude conhecer e conversar com o CEO da empresa e ter uma visão do rumo que estávamos tomando.

Hora Extra

Photo by NeONBRAND on Unsplash

Se você trabalha como programador, desenvolvedor ou arquiteto no Brasil é certo que você já fez ou ainda faz longas horas extras até hoje. Aparentemente isso é algo que já faz parte das suas atividades.

São três horas da manhã. Você levanta, vai pra casa e tira um cochilo. E então o relógio desperta. Seu novo dia começa a todo vapor com um belo copo de café. Quem nunca?!

Quatro anos e três empresas no Canadá. Ainda conto nos dedos quantas vezes fiz hora extra. Como isso é possível?

O profissional aqui é valorizado como pessoa. Todo mundo tem família, amigos e coisas para fazer depois da sua jornada de trabalho. Os projetos são bem planejados para que os deadlines sejam alcançados. É claro que algumas vezes vão surgir problemas urgentes, mas o último recurso vai ser a hora extra.

Na maioria das vezes em situações de emergência fazíamos uma força tarefa com o time para resolver o problema dentro da sua jornada de trabalho. Se não fosse possível resolver no mesmo dia o deadline era estendido.

E se der um erro em produção? Aí meu amigo, não tem jeito. A roupa de sapo é a mesma, mas até o momento não aconteceu comigo. Já precisei trabalhar algumas vezes até 20h. Outras vezes trabalhei nos finais de semana. Mas nunca fiz o famoso corujão aqui.

Metodologias Ágeis

Photo by rawpixel on Unsplash

Quando saí do Brasil as empresas ainda estavam no período transitório entre o modelo cascata e metodologias ágeis. Eram páginas e páginas de documentações mal escritas, com pouco ou nenhum escopo de informação onde praticamente ninguém lia. Resultado? Meses e meses desenvolvendo um sistema incompleto, inconsistente e completamente diferente do que o usuário estava buscando.

As empresas em que trabalhei até agora respiram metodologias ágeis. Poucas documentações, entregas curtas e constantes, feedback rápido do cliente, visibilidade extrema das atividades da equipe, reuniões rápidas e diárias. As páginas e páginas de documentos mortos deram espaço a documentos vivos e colaborativos através de wiki pages. Pontos de risco são identificados rápidamente e toda a equipe colabora para o sucesso do projeto.

Não sei como está a situação hoje no Brasil, mas pelas redes sociais me parece que teve um avanço considerável em direção a metodologia ágil. Como funciona na empresa em que você trabalha?

Home Office

Photo by Kari Shea on Unsplash

Não conheco muita gente que tem a liberdade de trabalhar de casa no Brasil. As empresas têm toda a estrutura necessária para isso, mas continua prendendo o funcionário ali na mesa do escritório o quanto puder. Nem mesmo em situações de emergência você consegue trabalhar de casa.

Aqui no Canadá parece ser bem comum. Todas as empresas em que trabalhei permitiram trabalho remoto ao menos uma vez na semana. Umas delas me permitiu viajar durante 4 meses enquanto trabalhava remotamente e minha equipe de trabalho atual está mais dispersa que as esferas do dragão. Cada um em um país diferente.

Outro ponto importante é que o trabalho remoto pode ser negociado. As vezes pessoas com filhos querem trabalhar de casa para estar mais perto da família, ou moram um pouco mais distante do escritório. Isso tudo pode ser acordado durante o processo de contratação.

Férias

Photo by Jake Bradley on Unsplash

No Brasil teoricamente você só pode tirar 30 dias de férias corridos (ou dividir em três desde que uma delas tenha no mínimo 14 dias e as demais no mínimo 5) e com pouquíssima flexibilidade de quando vai tirar suas férias. Isso considerando que você batalhou e realmente vai conseguir tirar suas férias!

Aqui as férias vão de 15 a X dias úteis que podem ser utilizados como desejar. Mas claro, em acordo com o time para não prejudicar a equipe. A quantidade de dias de férias podem ir aumentando com o passar do tempo na empresa e pode ser algo acordado entre o funcionário e a empresa. A quantidade mínima de 15 dias é de acordo com vagas na área de desenvolvimento. Não vi nenhuma empresa oferecendo menos que isso de férias. Então você já começa a perceber um nível maior de flexibilidade.

Tem um feriado na sexta? Você pode utilizar um dia de férias na Segunda e fazer um feriadão mais prolongado.

Quer ir para um evento do seu filho durante a semana? Sem problemas. Combina direitinho e está tudo certo.

Mas e se não precisar do dia inteiro? Então usa só 4 horas e está tudo ok.

Essa forma de férias é muito interessante porque a qualquer momento você pode tirar alguns dias e dar uma descansada. Tem muitas promoções relâmpagos de viagens para Hawaii, Vegas, Cancun. Ou então vem alguém da família passear e você quer um tempo para curtir e passear também.

Além dos dias de férias que são designadas para o seu descanso, viagens e deixar o trabalho um pouco de lado, algumas empresas também oferecem “sick days” ou “personal days”. Normalmente são 5 dias para você utilizar quando estiver doente ou precisar resolver algum problema urgente. Nestes casos você manda um e-mail informando que vai utilizar um “sick day” e que não vai comparecer no trabalho.

Mito do Profissional especializado (Full Stack x Backend x Frontend)

Photo by rawpixel on Unsplash

As equipes aqui normalmente são muito bem divididas entre front e backend. No Brasil maior parte do tempo trabalhei como full stack, mas aqui comecei a trabalhar mais com backend. Uma vez ou outra mexia com frontend. As empresas tentam separar para que as equipes consigam focar nas melhores práticas do que estão fazendo.

Mas logo que cheguei ouvi algumas pessoas falarem que dificilmente conseguiria vaga full stack e que seria melhor ajustar o curriculum para me especializar em algo. Eu não ajustei meu curriculum e continuei procurando vaga full stack. Durante os 4 anos no Canadá, apenas na minha empresa atual trabalho completamente com backend. Nas outras empresas trabalhei em projetos menores de backend, mas que precisava atuar com frontend eventualmente. Então esse mito de que não tem vaga full stack não existe.

Faixa Salarial

Photo by rawpixel on Unsplash

Não posso falar pelas outras tecnologias. Sendo assim vou falar do que vejo para desenvolvedor Java (Fullstack ou Backend). Eu classificaria a faixa salarial dessa forma:

  • Junior — Em torno de CAD$ 50.000,00.
  • Intermediário — Em torno de CAD$ 75.000,00.
  • Senior — A partir de CAD$85.000,00.

Atribuições do dia-a-dia

Photo by Jefferson Santos on Unsplash

Essa era uma dúvida que eu tinha antes de vir. Queria saber se as atribuições e atividades do dia-a-dia eram as mesmas que no Brasil e o que eu estaria fazendo diariamente no trabalho.

É um pouco diferente do que eu fazia no Brasil, mas não muito. Vou falar como são os meus dias normalmente e as ferramentas que utilizo ou utilizei no período em que trabalhei no Canadá.

  • Stand up meeting pelo menos três vezes na semana (Zoom)
  • Auto gerenciamento de atividades (Jira Kanban board)
  • Code review para garantir a qualidade do código (Gerrit, Bitbucket)
  • Desenvolvimento e manutenção de features (Java 8, Eclipse, IntelliJ, Maven, Gradle, Spring, Springboot, Hibernate, MySQL, Postgres, MongoDb, Mulesoft, Apache Camel)
  • Clean coding com testes e designs bem definidos (JUnit, Mockito, Padrões de projetos)
  • Otimização de processos e Integração contínua (Jenkins, Shell)
  • Containerização de ambientes para auxiliar no desenvolvimento (Docker)

Você não vai precisar ser um expert em tudo isso, mas assim como no Brasil vai precisar continuar estudando para se manter atualizado no mercado. Por exemplo, ainda não tive a oportunidade de trabalhar com AWS profissionalmente, mas já é algo que estou adicionando na minha caixinha de ferramentas para quando precisar.

Cervejinha de Sexta-feira

Photo by rawpixel on Unsplash

A cervejinha de sexta-feira aqui é um pouco diferente. Logo que cheguei me chamaram para tomar uma cerveja na sexta-feira e fiquei todo animado. Me programei direitinho e fomos para o bar. E foi exatamente isso. Chegamos, tomamos uma cerveja e todo mundo estava pedindo a conta.

Não são todas as empresas que são assim, mas achei díficil encontrar uma empresa com integração entre as equipes e com um ambiente mais descontraído. Felizmente fui acolhido pela minha empresa atual que tem um “toque de recolher” a partir das 16 horas na sexta-feira com músicas, snacks, jogos de tabuleiro e todas as equipes reunidas para uma cervejinha (ou vinho) celebrando o início do final de semana.

Valeu a pena

Photo by Gabriel Santiago on Unsplash

Esse foi o meu ponto de vista e foi a experiência que eu tive aqui no Canadá nesse perído. Tanto pessoal quanto profissionalmente foi incrível e não me arrependo da troca que fiz em ter saído do Brasil.

Espero que tenha ajudado ao menos uma pessoa a esclarecer dúvidas e ter uma idéia melhor das diferenças entre ser um Software Engineer no Brasil e no Canadá. Fico à disposição para responder dúvidas que possam vir a ter sobre o mercado de trabalho por aqui.


Este artigo é um repost do original criado por Igor Schkrab Alves no Medium. As opiniões expressas neste artigo são de responsabilidade do autor. Todos os direitos reservados ao autor.

Masaru Hoshi

Written by Masaru Hoshi

A última coisa que você vai imaginar olhando pra cara dele é que ele é japonês. Engenheiro de software e co-fundador do Canada Agora. Mora no Canadá desde 2008 e é um apaixonado por viagens.