<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Davi da Silva Bento</title>
    <description>The latest articles on DEV Community by Davi da Silva Bento (@davisbento).</description>
    <link>https://dev.to/davisbento</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F338461%2F20a273b7-3747-409f-a05d-58adfdf1437a.jpeg</url>
      <title>DEV Community: Davi da Silva Bento</title>
      <link>https://dev.to/davisbento</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davisbento"/>
    <language>en</language>
    <item>
      <title>Como é trabalhar com clientes internacionais?</title>
      <dc:creator>Davi da Silva Bento</dc:creator>
      <pubDate>Thu, 06 Jul 2023 16:40:04 +0000</pubDate>
      <link>https://dev.to/davisbento/como-e-trabalhar-com-clientes-internacionais-20pp</link>
      <guid>https://dev.to/davisbento/como-e-trabalhar-com-clientes-internacionais-20pp</guid>
      <description>&lt;p&gt;Muita gente me pergunta como é trabalhar com clientes internacionais e vou tentar passar um pouco do que vivenciei nesses 2 anos trabalhando com eles, e baseado nas minhas experiências pessoais como freelancer trabalhando para empresas tipo start-up e médias, principalmente para os EUA e Canadá, de forma &lt;strong&gt;full-remote&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qual nível de senioridade para trabalhar pra fora?
&lt;/h2&gt;

&lt;p&gt;Não existe uma regra, mas na maioria das vagas eles preferem devs com pelo menos 3 anos de exp, dificilmente eles contratam como junior ou estagiário, eles preferem alguém mais "maduro profissionalmente" e que consiga tomar decisões técnicas. Como o trabalho é remoto, envolve fuso horário e nem sempre o seu time vai estar online no mesmo horário que vc, então vc precisa saber desenrolar sem alguém te dando suporte/apoio.&lt;/p&gt;

&lt;h2&gt;
  
  
  O código deles é melhor que o nosso?
&lt;/h2&gt;

&lt;p&gt;É normal a gente pensar que a grama do vizinho é sempre mais verde. Nós pensamos que os gringos sabem programar melhor do que nós brasileiros, eles são mais exigentes sim nos processos seletivos, como citei no meu &lt;a href="https://dev.to/davisbento/meu-processo-de-preparacao-para-entrevistas-internacionais-1j4"&gt;artigo anterior&lt;/a&gt;, mas no dia-a-dia do trabalho o código em si não muda muito, nem pra pior nem pra melhor, até por que consumimos muito conteúdo gringo, como vídeos, tutoriais, e podemos ver que o código não tem nada de "outro mundo". Então não precisa ter medo pois &lt;code&gt;if&lt;/code&gt; é &lt;code&gt;if&lt;/code&gt; em qualquer parte do mundo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como é a comunicação no time?
&lt;/h2&gt;

&lt;p&gt;Como o trabalho remoto envolve fuso horário, nem sempre seu colega de time vai estar online no mesmo momento que vc, mas no geral sempre temos alguns horários predefinidos para o time todo estar online, para dar suporte, fazer reuniões (daily, por exemplo). Na maioria dos casos eles são mais "diretos ao ponto", dificilmente vc participa de reunião que leva horas, ou reuniões sem sentido. Eles gostam de ir direto ao ponto e perder menos tempo possível, tanto o seu quanto o deles, e se for possível eles resolvem a maior parte das coisas via chat (slack, por exemplo). E isso vale tanto para as reuniões quanto para as tarefas em si, normalmente quando a tarefa chega no desenvolvedor, ela já foi validada com o time de produto/marketing e precisando de pouquíssima mudança, o que diferencia do Brasil (em algumas empresas que passei) onde o processo de criação/planejamento de tarefas era caótico, e muitas vezes o dev tinha que ficar mudando a tarefa ou dando opiniões sobre regras de negócio para o time de produto.&lt;/p&gt;

&lt;h2&gt;
  
  
  É preciso ter inglês fluente?
&lt;/h2&gt;

&lt;p&gt;Como citei no artigo anterior, não é preciso de inglês fluente para se comunicar com eles, até por que a maior parte do nosso dialogo é mais técnico, mas claro quanto mais vc souber melhor.&lt;/p&gt;

&lt;h2&gt;
  
  
  A cobrança é maior?
&lt;/h2&gt;

&lt;p&gt;Cobrança também é um ponto, principalmente para quem trabalha com full-remote como eu. Normalmente eles não gostam de "micro gerenciamento", que é quando as lideranças têm um excessivo controle pela equipe, querendo saber a todo momento atualizações sobre as tarefas. Aqui não tem essa cobrança absurda, eles entendem que fazer código de qualidade leva tempo, e eles preferem um código bem feito, mas que leve tempo do que um código feito rápido e mal feito.&lt;/p&gt;

&lt;p&gt;Claro que vc precisa dar atualizações sobre seu trabalho, se está progredindo, se está bloqueado por alguma razão, mas não é uma cobrança absurda como citei acima, nesses 2 anos que estou trabalhando remoto com gringos, nunca me senti tão confortável e "livre" para pensar e tomar as melhores decisões, com tempo necessário para entregar cada feature da melhor forma possível.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eles gostam de trabalhar com brasileiros?
&lt;/h2&gt;

&lt;p&gt;Sim, dificilmente rola preconceito no sentido de menosprezar nós brasileiros, eles valorizam bastante nosso trabalho e entendem que são culturas e idiomas diferentes, e que em alguns momentos vão haver divergências desses pontos, mas isso não interfere em nada no trabalho, eles até gostam e sempre perguntam coisas pessoais sobre nossa cultura, lugares para ir, e etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como é receber o pagamento?
&lt;/h2&gt;

&lt;p&gt;Falar de pagamento levaria um artigo inteiro pois envolve vários fatores, mas um resumo bem resumido é: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Eu recebo o pagamento (direto em dólar) numa conta da empresa, que serve apenas para eu transferir o valor para outro lugar&lt;/li&gt;
&lt;li&gt;Eu consigo transferir esse valor para o PayPal, ou fazer Wire Transfer. No meu caso eu faço uma Wire Transfer para a Husky, que me ajuda a fazer esse "meio campo", trazendo o dinheiro pro Brasil&lt;/li&gt;
&lt;li&gt;A Husky recebe essa remessa em dólar e já converte para real, na cotação naquele momento, e eu posso transferir esse valor em Real para uma conta aqui no Brasil, no meu caso eu uso uma conta PJ da Cora&lt;/li&gt;
&lt;li&gt;Recebendo esse valor em Real, eu gero uma NF de prestação de serviço (como exportação de serviços) com esse valor em Real que eu recebi&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Esse é só um resumo, não vou entrar em detalhes nem citar questões de CNPJ, taxas, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Claro que essas perguntas foram respondidas com minhas experiências pessoais e que podem variar de caso pra caso, mas no geral, trabalhando com mais de 6 clientes/empresas diferentes, foi isso que vivenciei.&lt;/p&gt;

</description>
      <category>career</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Meu Processo de Preparação para Entrevistas Internacionais</title>
      <dc:creator>Davi da Silva Bento</dc:creator>
      <pubDate>Tue, 20 Jun 2023 12:36:54 +0000</pubDate>
      <link>https://dev.to/davisbento/meu-processo-de-preparacao-para-entrevistas-internacionais-1j4</link>
      <guid>https://dev.to/davisbento/meu-processo-de-preparacao-para-entrevistas-internacionais-1j4</guid>
      <description>&lt;p&gt;Muitas pessoas que me conhecem me perguntam como foi que "entrei" no mercado internacional trabalhando remotamente do Brasil e hoje gostaria de contar um pouco sobre esse processo de aprendizado e o que fiz/estudei para conseguir.&lt;/p&gt;

&lt;p&gt;Lembrando que cada empresa tem seu próprio processo seletivo e métodos para testar os conhecimentos do candidato, então não existe uma "receita de bolo" pronta, vou contar algumas experiências e o que aconteceu comigo, principalmente em entrevistas para start ups, já que &lt;strong&gt;não&lt;/strong&gt; me candidatei para big techs como Google, Amazon ou Meta.&lt;/p&gt;

&lt;h2&gt;
  
  
  Breve resumo da minha carreira
&lt;/h2&gt;

&lt;p&gt;Minha carreira como desenvolvedor começou profissionalmente em 2016, mas comecei programar em 2014 quando entrei na faculdade (Análise e Desenvolvimento de Sistemas).&lt;/p&gt;

&lt;p&gt;Para mim a programação foi amor à primeira vista. Me apaixonei cada vez mais, e sempre me dedicava e fazia projetos pessoais (fora do horário da faculdade ou do trabalho).&lt;/p&gt;

&lt;p&gt;Em 2018 comecei trabalhar como full stack, Node e React e desde então nunca mais parei, até hoje (2023) trabalho com essa stack.&lt;/p&gt;

&lt;p&gt;Em 2021, com a pandemia surgiram muitas vagas para trabalhar remotamente do Brasil e prestar serviços para empresas gringas, principalmente EUA e Canadá. Como eu já tinha em média 6 anos de &lt;em&gt;exp&lt;/em&gt; profissional e em média 4 anos com React/Node pensei em me candidatar para vagas internacionais, como o mercado estava "favorável" a isso.&lt;/p&gt;

&lt;p&gt;Ainda em 2021 num período de 2 meses (junho e julho), fiz vários processos seletivos (~20), não passei na maioria, mas só precisava passar em um deles. E foi quando passei no processo seletivo da &lt;a href="https://www.toptal.com/"&gt;Toptal&lt;/a&gt; que minha vida mudou completamente.&lt;/p&gt;

&lt;p&gt;Hoje faço parte do quadro de freelancers da Toptal e da Lemon.io, podendo pegar jobs como freelancers das duas plataformas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meu processo de preparação para as entrevistas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Passo 1: Inglês
&lt;/h3&gt;

&lt;p&gt;Deve parecer óbvio, mas o primeiro passo para se candidatar para vagas internacionais é ter o inglês afiado. Não precisa ser fluente, não precisa ter "sotaque", não precisa falar "tudo certinho", mas você precisa se comunicar minimamente, saber falar sobre você, sobre sua carreira, sobre seus projetos passados, esse tipo de coisa. É o que chamam de inglês "técnico" já que você irá utilizar termos próprios da área de tecnologia, dificilmente você irá precisar ter o vocabulário tão abrangente. Mas claro, quanto mais palavras você souber, melhor.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;E como aprender inglês?&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Claro que não existe uma fórmula mágica, eu particularmente gosto de estudar sozinho, então o que fiz foi pegar vídeos no YouTube próprios para aprender inglês (não séries ou músicas, pois nesses há muita gíria, abreviação de palavra, o que torna o aprendizado mais difícil), vídeos como &lt;a href="https://www.youtube.com/watch?v=M6trotLYB8s"&gt;esse&lt;/a&gt;. Com esse tipo de vídeo você consegue entender claramente o que é falado, você pode pausar o vídeo, repetir em voz alta o que foi dito na frase anterior, depois anotar, escrever, para cada vez gravar mais aquelas palavras, o som delas, e quando usar determinadas frases. E também vídeos do tipo "mock interview", que são entrevistas "fakes" apenas para fins didáticos, nesse tipo de vídeo você pode ver como é um processo de entrevista e também treinar inglês. &lt;/p&gt;

&lt;p&gt;Exemplo de mock interview: &lt;a href="https://www.youtube.com/watch?v=V8DGdPkBBxg"&gt;https://www.youtube.com/watch?v=V8DGdPkBBxg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claro que existem N formas de aprender, e você precisa entender qual é a que você mais gosta. Existem outras opções como o Cambly, onde você pode fazer aulas com professores particulares, ou em grupo. E hoje em dia com o "boom" de brasileiros trabalhando para a gringa, existem muitos professores particulares que se especializaram nesse tipo de ensino, você pode encontrar alguns no LinkedIn.&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 2: Conhecimentos técnicos
&lt;/h3&gt;

&lt;p&gt;Na entrevista você precisa dominar a parte técnica, o recrutador terá pouco tempo (em média 1h) para te conhecer e decidir se vai seguir com você ou com outro candidato, então você precisa responder questões técnicas da melhor maneira possível e sem "ficar dando voltas".&lt;/p&gt;

&lt;p&gt;Eles gostam muito de saber se você domina a linguagem que você está se candidatando (ex: javascript no meu caso), se você conhece conceitos "baixo nível" que às vezes passam despercebido no nosso dia a dia, perguntas como (exemplos de perguntas que fizeram para mim, para desenvolvedor full stack JS):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;o que são cookies?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;qual a diferença de cookie vs local storage vs session storage&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;o que é promise?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;promises vs callbacks&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;var vs let vs const&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;o que é o event loop e como ele funciona?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;this context no javascript&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;qual a ordem de execução do código abaixo?&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log('one');
setTimeout(function() {
  console.log('two');
}, 0);
Promise.resolve().then(function() {
  console.log('three');
})
console.log('four');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;em&gt;o que é hoisting?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;css: quando usar grid vs flexbox?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;css: o que são pseudo-classes? cite algumas&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Até perguntas mais elaboradas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Tenho uma aplicação que está muito lenta no "initial load", o que pode estar causando esse problema e como melhorar o tempo de carregamento?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claro que são apenas alguns exemplos para você ter uma noção do que esperar/saber, então é sempre importante você dominar os conceitos do ecossistema do qual você trabalha, não só dominar a linguagem em si (fazer crud, fazer telas) mas dominar a nível de web, navegador, event loop, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 3: (o mais temido) Code interview
&lt;/h3&gt;

&lt;p&gt;Provavelmente esse é o ponto que os programadores mais odeiam, o temido "code interview".&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Code interview&lt;/em&gt; é um momento que o entrevistador vai te passar um algoritmo/situação problema e pedir para você resolver esse problema "ao vivo", normalmente com &lt;em&gt;pair programming&lt;/em&gt; compartilhando sua tela e você deve falar/comentar sobre o que você está fazendo e como está pensando em resolver esse problema, você não pode só simplesmente "sair codando", você precisa explicar o que está fazendo, mostrar como é sua "forma de pensar" e como resolve problemas no dia a dia.&lt;/p&gt;

&lt;p&gt;Claro que ninguém gosta de ser avaliado ao vivo resolvendo um problema que nunca viu antes, é uma situação bem desconfortável, mas aí que entra o ponto-chave nesse tipo de entrevista: já saber (ou pelo menos entender) o problema antes da entrevista. E como fazemos isso? Estudando algoritmos e estrutura de dados na nossa rotina de estudos.&lt;/p&gt;

&lt;p&gt;Óbvio, não existe fórmula mágica, mas de novo aqui entra o processo de preparação para esse tipo de entrevista. Quanto mais você estudar sobre &lt;code&gt;algoritmos&lt;/code&gt;, &lt;code&gt;estrutura de dados&lt;/code&gt; e se acostumar a resolver algoritmos falando em voz alta (nem que seja sozinho, eu fiz isso várias vezes, como se tivesse explicando para alguém), mais "fácil" vai se tornar esse tipo de entrevista. &lt;/p&gt;

&lt;p&gt;Entender conceitos como &lt;code&gt;Big O&lt;/code&gt;, também é de suma importância para mostrar para o entrevistador que você realmente entende afundo os conceitos.&lt;/p&gt;

&lt;p&gt;Recursos para estudar algoritmos, estrutura de dados:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sites&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://leetcode.com/"&gt;https://leetcode.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hackerrank.com/"&gt;https://www.hackerrank.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;ChatGPT&lt;/em&gt;&lt;br&gt;
&lt;code&gt;ask me questions about algorithms and data structures as you are a software engineer interviewer&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Livros&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://a.co/d/41RPm6M"&gt;Cracking the Coding Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://a.co/d/6OdmKCw"&gt;Entendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fiz algumas anotações sobre Big O:&lt;br&gt;
&lt;a href="https://davisbento.notion.site/Big-O-752aeee1c99346f29550aecc523464b9"&gt;https://davisbento.notion.site/Big-O-752aeee1c99346f29550aecc523464b9&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 4: Currículo
&lt;/h3&gt;

&lt;p&gt;Ter um currículo em inglês é absolutamente crucial, e ele deve ser minuciosamente elaborado, descrevendo as tecnologias com as quais você trabalhou e detalhando seu papel nas equipes e projetos. Você pode até utilizar o currículo disponível no LinkedIn, desde que esteja atualizado, já que grande parte das interações com os recrutadores ocorre nessa plataforma. É fundamental destacar suas habilidades e experiências de forma clara e concisa, enfatizando suas realizações e contribuições significativas. Lembre-se de que um currículo bem elaborado é a chave para atrair a atenção dos empregadores e garantir uma chance de sucesso nas entrevistas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Passo 5: Aplicar para as vagas
&lt;/h3&gt;

&lt;p&gt;A maioria das candidaturas para vagas acontece diretamente no LinkedIn. Embora algumas empresas possuam seus próprios sites de recrutamento, como é o caso das empresas em que trabalho, Toptal e Lemon.io, a maior parte dos contatos e interações ocorre dentro da plataforma do LinkedIn. Seguir os passos mencionados anteriormente é essencial para aumentar sua visibilidade e ter mais chances de sucesso.&lt;/p&gt;

&lt;p&gt;Além disso, é interessante enviar uma mensagem para o recrutador da vaga após se candidatar, demonstrando interesse e explicando por que você seria um bom candidato para a posição. Embora nem sempre essa abordagem funcione, pois em algumas ocasiões os recrutadores podem não responder, há momentos em que ela traz resultados positivos, podendo gerar um bom resultado. Portanto, é válido aproveitar essa estratégia para destacar seu perfil e aumentar suas chances de conquistar a vaga desejada.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusão
&lt;/h3&gt;

&lt;p&gt;Sem dúvida, nos dias de hoje (2023), o setor de tecnologia enfrenta um período desafiador, com poucas vagas disponíveis e demissões em massa. A concorrência nesse mercado tornou-se intensa, exigindo mais preparação/conhecimento e um compromisso com o estudo. Embora a situação seja complexa, é essencial se destacar como um profissional de alta qualidade, pois ainda existem oportunidades abertas que demandam talentos excepcionais. Portanto, é fundamental se dedicar e buscar conhecimento constantemente, a fim de se posicionar como um candidato diferenciado. Em tempos desafiadores como estes, a persistência e a busca pela excelência são aspectos fundamentais para conquistar as vagas disponíveis.&lt;/p&gt;

&lt;p&gt;Sempre acreditei que para ter sucesso nessas entrevistas era indispensável possuir um Q.I sobrenatural, ser o "gênio do JavaScript". No entanto, descobri que a realidade é diferente. Embora as gigantes da tecnologia, como Google e Meta, tenham processos seletivos extremamente desafiadores, nas start-ups menores é plenamente viável alcançar a tão desejada remuneração em dólar, mas para isso você precisa se dedicar aos estudos pois a entrevista é um processo a parte dos conhecimentos usados no dia a dia.&lt;/p&gt;

&lt;p&gt;Nos próximos artigos irei contar como é o dia a dia do trabalho remoto como freelancer, fiquem ligados ;).&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
    </item>
  </channel>
</rss>
