Perguntas frequentes
Alguma das respostas abaixo já foram abordadas em lives e estão disponíveis como cortes no meu canal. Dê uma olhada nas playlists:
Dicas e opiniões
Tutoriais
Qual linguagem começar?
A trilha é organizada para ter Javascript como primeira linguagem, mas outras linguagens como C ou Python também são boas opções.
Python/Java/PHP/etc são boas? Qual a melhor?
Todas linguagens tem seus prós e contras. Apenas tempo com uma linguagem pode te mostrar o que é bom e o que é ruim em cada uma delas. Enquanto isso, apenas escolha uma, aprenda muito sobre ela e construa um projeto relativamente grande.
Quanto tempo leva para conseguir um estágio/emprego?
É difícil dizer, pois isso depende do tempo que você pode empregar, da sua facilidade em aprender e das tecnologias que você escolheu.
Mas é possível estimar que leve entre 2 a 5 mil horas após iniciar seus estudos.
Qual o melhor curso?
Não existe o melhor curso de todos. Busque não se apoiar demais em um conteúdo específico. Nem mesmo essa Trilha de Estudos.
Seguir o conteúdo programático de um curso de forma rígida pode te deixar "mimado" em receber todo o conteúdo mastigado e sem necessidade de refletir e ligar conceitos que não estão relacionados de modo imediato. Estudar dessa forma estimula pouco sua criatividade e capacidade de resolver problemas.
Na minha opinião, a melhor forma de aprender é ter um grande desafio que você precisará quebrá-lo em desafios pequenos e então buscar recursos (como livros, tutoriais ou cursos) que abordam cada uma desses pequenos desafios, até que o problema principal possa ser resolvido.
Falo (e desenho) sobre esse assunto no vídeo: Pra programar de verdade, você precisa fazer isso!
Preciso de faculdade para ser programador?
Não, mas é um diferencial e em alguns (raros) casos é exigido.
Uma alternativa, é fazer o curso de Ciência da Computação na Universidade Brasileira Livre.
Comento sobre esse curso no vídeo: Aqui eu vou aprender tudo sobre computação
Dá pra aprender a programar sozinho?
Sim. Essa Trilha de Estudos é destinada para quem deseja se profissionalizar estudando por conta.
Dei algumas dicas no video: Do que um autodidata precisa?
Vale a pena fazer faculdade?
Sim. Principalmente se você ainda não se formou em nenhum curso ou não tenha experiência em autoeducação. Além do conteúdo em si, a parte social é muito enriquecedora: fazer trabalhos em grupo (mesmo se precisar fazer todo o trabalho sozinho), negociar com professores, conversar e conhecer potenciais parceiros profissionais ou até mesmo românticos.
Estou começando uma faculdade, quais dicas pode me dar?
Em resumo, já esteja ciente que você deve estudar por fora do conteúdo principal do curso. As matérias obrigatórias não são suficientes.
Leia e estude a fundo os livros recomendados de cada disciplina e se envolva em atividades extra-curriculares como empresas junior ou na criação de um produto ou serviço.
No caso específico da computação, dê mais atenção ao conteúdo de fundamentos da computação, como Algoritmos, Organização e Arquitetura de Computadores, Sistemas Operacionais, Redes de Computadores e Compiladores.
Veja minha resposta a essa pergunta durante uma live: Aproveite melhor sua faculdade de computação
Qual a diferença entre os cursos de Engenharia da Computação ou de Software, SI, CC e ADS?
Engenharia da Computação: está mais ligada com hardware.
Engenharia de Software: além de lidar com a programação, também se preocupa com a análise, gestão, operação e manutenção do software.
Sistemas de Informação: inclui matérias de Administração além das matérias de desenvolvimento.
Ciência da Computação: estuda mais a parte de software.
Análise e Desenvolvimento de Sistemas: focado em software, mas costuma ser mais curta e superficial.
Front-end ou back-end?
Seja capaz de trabalhar com o básico de cada uma, mas vá fundo em um dos dois.
Quando eu sei que já estou preparado para o mercado?
Essa não é uma resposta simples, pois depende das tecnologias que você decidiu usar, do estado atual do mercado, entre outras coisas.
Eu exploro essa questão no vídeo: O que eu preciso para ser um bom dev?
Qual projeto eu desenvolvo para o meu portfólio?
Veja o último módulo: Portfólio
Meu portfólio/currículo/linkedin tá bom?
Você pode me pedir para avaliar o seu portfólio durante minhas lives, mas você também pode olhar as avaliações anteriores: Avaliação de currículo dos inscritos!
Onde procurar emprego?
Prefira plataformas como Infojobs, Programathor, Indeed, Backend Brasil, canais de vagas no Discord como o da Rocketseat e outras.
No LinkedIn, dê preferência às publicações do feed de recrutadores em vez da funcionalidades "Vagas". (Saiba mais nesse vídeo: As vagas fantasma do LinkedIn)
O que fazer em uma entrevista de emprego?
Definitivamente você deve gastar algumas dezenas de horas se preparando para entrevistas. Algumas recomendações que tenho para você:
- Procure estabelecer uma conexão com a(s) pessoa(s) que te entrevistarem. Sua chance de ser contratado é muito grande se ela conseguir responder SIM para a questão: "Eu gostaria de trabalhar com esse candidato?"
- Leia artigos e veja vídeos sobre o assunto.
- Treine responder a perguntas comuns em entrevistas.
- Se você já tem alguma experiência anterior (mesmo que seja freelance ou sem fins lucrativos), comente sobre isso em termos de soluções, desafios e valor entregue. Mencione as tecnologias usadas que possuam relação com a vaga em questão, mas prefira sempre falar em termos de realizações, em vez de aspectos técnicos.
- Se você ainda não tem experiência profissional, aposte em um projeto que impressione. Dê preferência a construir um sistema que um entrevistador comum deve conhecer, como um gerenciador de tarefas. A familiaridade com esse sistema irá lhe gerar interesse em explorar seu projeto e ajudá-lo a elaborar boas questões. Com um projeto potente, você pode evitar que a pessoa entrevistadora precise recorrer a um desafio algorítmico ou de arquitetura, que ainda que seja simples, pode ser desafiadora para responder em uma situação estressante como uma entrevista. Para saber mais sobre o que um projeto "perfeito" tem, veja o último módulo: Portfólio.
- Em algum momento da entrevista, afirme as seguintes ideias:
- Suas habilidades te capacitam a contribuir signitivamente para atingir os objetivos da empresa
- Você será capaz de aprender quaisquer habilidades que ainda não possui
- Você conseguirá gerar valor ao projeto em pouco tempo e com o mínimo de ajuda de outros colaboradores
- Seu objetivo não é apenas escrever código, mas também entender o problema do usuário final
- Você é um bom ouvinte e valoriza opiniões contrárias
- Você irá ajudar seus colegas e irá dar ideias quando necessário
Posso usar IAs para codar?
Enquanto você ainda está aprendendo, evite usar uma IA para criar funcionalidades inteiras. Use principalmente para tirar dúvidas e explicar conceitos.
Se você estiver realizando uma atividade que já está familiarizado, use e abuse delas. Elas são uma ótima ferramenta!
Mas atenção: as IAs são falíveis. Verifique os resultados. Você é o responsável pelo seu código.
As inteligências artificiais vão tirar o emprego do programador?
Começo reafirmando: IAs são ferramentas.
A demanda por programadores pode até diminuir ou o nível de conhecimento exigido seja maior.
Mas considerando que a automatização de outros tipos de trabalhos é feita justamente por programadores que criam soluções utilizando IAs, concluo que o trabalho de desenvolvedor será um dos últimos afetados.
Porém é provável que as atividades e habilidades necessárias sejam modificadas, exigindo um maior nível de conhecimento técnico, capacidade de resolver problemas ou de definir escopos e restrições usando linguagem natural.
Contudo essa mudança será gradual. Hoje nós vemos que as IAs ainda tem grande dificuldade em resolver problemas nem tão complexos. E quanto mais capaz ela é, maior o consumo de energia (e consequentemente maior o preço). E energia não é um recurso infinito. Na verdade, o mundo está perto de uma crise energética, pressionado pela demanda crescente.
Ainda que existam múltiplas iniciativas para a construção de novas usinas de energia, a construção dessas geradoras demanda alguns anos para serem finalizadas. Além disso, tanto os chips que rodam as IAs quanto as geradoras de eletricidade, demandam matérias primas que também possuem capacidade limitada de produção.
A operação em larga escala das IAs sofisticadas bate no teto da nossa infraestrutura.
Para que issa aconteça em maior escala e mais rápido, uma nova tecnologia deve ser desenvolvida. Mais avançada e mais eficiente que as LLMs.
Preciso saber inglês para programar?
É possível se virar sem dominar o Inglês, mas isso pode limitar suas oportunidades e dificultar sua própria evolução, já que os melhores recursos e a maioria das documentações não possuem tradução.
Preciso saber matemática para programar?
Dominar a matemática básica é o suficiente para a maior parte dos trabalhos.
Estou começando um produto, quais dicas pode me dar?
Considere usar um boilerplate ou um projeto open source! Saiba mais sobre isso com esses vídeos:
Posso começar já com ReactJS ou devo usar Javascript "puro" primeiro?
Antes de usar um framework, é conveniente aprender a construir algo sem eles.
Discuto esse assunto em: Primeiro isso, só depois aprenda React
Como aprender uma tecnologia nova?
Particularmente, gosto de ler a documentação da ferramenta e alguns tutoriais, mas principalmente olhar aplicações reais que utilizam essa tecnologia.
Nesse vídeo dou algumas dicas para encontrar bons exemplos: Pq "gastar" tempo lendo códigos?