top of page
Foto do escritorMarcos Baião

Guia para quem quer iniciar na carreira de programador !

Você está prestes a mergulhar em uma jornada cativante: Aprender a programar !

Que emocionante ter você aqui, para tentar te apoiar nessa jornada!


Minha trajetória profissional me levou a participar de diversos programas de formação de talentos, além de ter a honra de trabalhar com profissionais novatos em minha equipe.


Inspirado por essa vivência, criei este guia conciso, repleto de informações valiosas, para conduzir você através dos passos iniciais no mundo da codificação.


A arte da codificação é uma competência indispensável na era contemporânea, abrindo um leque infinito de oportunidades tanto para sua carreira quanto para seus projetos pessoais.


1. Construa uma base sólida: Foco nos Fundamentos!


Antes mesmo de digitar a primeira linha de código, é imperativo dominar os conceitos fundamentais da programação. Nesse processo inicial de busca pelo conhecimento, divida suas explorações nestas quatro frentes cruciais:


  • Lógica de Programação: Desvendar o funcionamento intrincado da mente dos computadores é um passo primordial. Compreender como os dados são processados e tarefas são executadas é fundamental. Para mergulhar mais profundamente nessa área, você pode explorar o livro "Estruturas de Dados e Algoritmos com JavaScript" de Loiane Groner, que oferece uma visão clara e prática sobre esses conceitos. Sites como Codecademy e LeetCode também fornecem exercícios interativos para fortalecer sua lógica de programação.

  • Estruturas de Dados: Organizar e armazenar informações é uma arte em si. Aprofunde seu entendimento nesse aspecto com "Algoritmos e Estruturas de Dados" de Niklaus Wirth, um guia abrangente para estruturas eficientes. Além disso, o site GeeksforGeeks oferece uma vasta gama de tutoriais e exemplos sobre estruturas de dados.

  • Algoritmos: Dominar a habilidade de resolver problemas passo a passo é essencial. "Algoritmos: Lógica Para Desenvolvimento de Programação de Computadores" de José Augusto N. G. Manzano e Jayr Figueiredo de Oliveira é uma referência nessa área. Plataformas como HackerRank e Project Euler fornecem desafios de algoritmos de vários níveis de complexidade.

  • Identificação de Desafios: Desenvolver a capacidade de identificar problemas e aplicar abordagens passo a passo é um diferencial. "Como Pensar Como um Cientista da Computação" de Allen Downey é uma leitura inspiradora nesse sentido. Plataformas como Codewars e Exercism oferecem uma série de problemas do mundo real para resolver.

  • Dominar o Inglês Técnico: Além dos conceitos técnicos, o domínio do inglês é uma habilidade inestimável na programação. A maioria dos recursos, tutoriais e a comunidade global estão em inglês. Invista no aprendizado do idioma para acessar uma vasta gama de informações e acelerar seu crescimento na área.

Neste período inicial, construa sua base com esses pilares sólidos. Eles serão a âncora para o seu sucesso na carreira de programação!


2. Escolha a rota de atuação e a linguagem:


Dentro do vasto mundo da programação, temos um panorama diversificado de linguagens e finalidades, cada uma carregando suas próprias peculiaridades e propósitos.


Selecionei algumas das linguagens mais acolhedoras para iniciantes na minha experiência e opinião, e dividi por trilhas de aprendizado. Organize seu pensamento e foque numa das trilhas abaixo para iniciar.


Trilhas:


Trilha 1 - Linguagens para Front-end de Software: Navegando pelo universo do desenvolvimento web, você encontrará ferramentas cruciais para construir a estrutura e o estilo da internet.


Ponto de partida:

  • HTML/CSS: A base da web, o HTML é utilizado para estruturar o conteúdo, enquanto o CSS cuida do design. Dê uma olhada em "HTML e CSS: Projete e Construa Websites" de Jon Duckett para uma introdução cativante. Plataformas como freeCodeCamp e W3Schools oferecem tutoriais abrangentes sobre HTML e CSS.

  • JavaScript: A linguagem do navegador, JavaScript acrescenta interatividade e dinamismo aos websites. "JavaScript: O guia Definitivo" de David Flanagan é uma excelente leitura para começar. Para aprimorar suas habilidades, o site MDN Web Docs oferece guias detalhados.

Evolua e ganhe produtividade:


Após dominar a tríade HTML,CSS e JavaScript, vc está pronto para o próximo passo.


As bibliotecas JavaScript são conjuntos de códigos pré-escrito e reutilizáveis que oferecem funcionalidades específicas para o desenvolvimento web. Elas são projetadas para simplificar a vida dos desenvolvedores, permitindo-lhes incorporar recursos complexos em seus sites ou aplicativos com maior facilidade e sem a necessidade de escrever todo o código do zero.


Vale mencionar as duas principais do mercado atualmente:

  • React: Uma biblioteca JavaScript de código aberto para construir interfaces de usuário. "Primeiros Passos com React: Construindo Aplicações Web" de Stoyan Stefanov é uma leitura recomendada para começar. Além disso, você pode encontrar tutoriais detalhados no site oficial do React.

  • Angular: Um framework JavaScript mantido pelo Google, usado para criar aplicativos da web dinâmicos. Para começar, confira "Angular para Iniciantes" de Vasudev Ram. A plataforma Angular também oferece guias e documentações detalhadas para auxiliar no aprendizado.

Trilha 2 - Linguagens para Back-end de Software: No reino do desenvolvimento de software, as linguagens são a base de aplicativos robustos.

  • Java: Amplamente usada em softwares de grande escala, Java oferece robustez e versatilidade. Para os iniciantes, o guia abrangente "Use a Cabeça! Java" de Kathy Sierra e Bert Bates é uma excelente escolha. O site oficial do Java e a plataforma Codecademy oferecem cursos detalhados para um aprendizado mais aprofundado.

  • C#: Orientada para softwares de alta performance e jogos que usem a plataforma Unity, C# é uma escolha vibrante. Se você está começando, o "C# Yellow Book" de Rob Miles é um recurso valioso. A Unity Learn oferece uma variedade de cursos para explorar o uso de C# no desenvolvimento de jogos.

  • Node.js: Uma plataforma que permite aos desenvolvedores criar softwares escaláveis e rápidos. Se você deseja entrar no mundo do back-end, "Node.js Design Patterns" de Mario Casciaro é uma leitura útil para entender os princípios. O site oficial do Node.js e tutoriais no W3Schools são excelentes recursos para aprender mais sobre essa tecnologia essencial para o desenvolvimento de servidores e aplicações web.

Trilha 3 - Linguagens para Aplicativos Mobile:

No mundo em constante evolução dos aplicativos móveis, a escolha da linguagem certa é fundamental para criar experiências atraentes e funcionais. Aqui estão algumas opções essenciais para explorar:

  • Kotlin: Uma linguagem moderna voltada para o desenvolvimento de aplicativos Android. Se você está começando, "Dominando o Android com Kotlin" de Nelson Glauber é um guia prático. A documentação oficial do Kotlin e cursos online, como os da Udemy, são ótimos recursos para aprender essa linguagem em ascensão.

  • Swift: A linguagem criada pela Apple para desenvolver aplicativos iOS. Se você está mergulhando no ecossistema Apple, "Desenvolvimento em Swift para IOS" de Catarina Silva. A Apple oferece uma variedade de cursos e tutoriais em seu site para ajudar os aspirantes a desenvolvedores iOS.

  • Flutter: Uma estrutura de UI da Google para criar aplicativos nativos para iOS e Android a partir de um único código fonte. "Flutter na Prática" de Frank Zammetti é um livro recomendado para iniciantes. A documentação oficial do Flutter e cursos online, como os da Udemy, oferecem uma base sólida para iniciar sua jornada na criação de aplicativos móveis.

Trilha 4 - Linguagens para Ciência de Dados e Análise:

Dentro desse domínio fascinante, as linguagens de programação se transformam em ferramentas poderosas para explorar, entender e interpretar dados.

  • Python: Reconhecida por sua sintaxe clara e versatilidade, Python é uma escolha ideal para quem busca se aprofundar na análise e manipulação de dados. O livro "Python para Análise de Dados" de Wes McKinney é uma referência excelente para começar. Além disso, plataformas como DataCamp e Kaggle oferecem cursos interativos e desafios práticos para aprimorar suas habilidades em Python.

  • R: Especializada em estatísticas e visualização de dados, a linguagem R é uma escolha poderosa para quem deseja mergulhar a fundo na análise estatística. O livro "R para Ciência de Dados" de Hadley Wickham é altamente recomendado para construir uma base sólida nessa linguagem. Além disso, o site RStudio oferece uma abundância de tutoriais, recursos e ferramentas para aprimorar suas habilidades de análise de dados com R.

A escolha da trilha certa e dedicação aos estudos é o primeiro passo na jornada de se tornar um mestre em programação. Explore, aprenda e construa suas habilidades!


3. A Importância da Prática Constante:


No mundo da programação, a prática incansável é a o divisor de água para um desenvolvedor se destacar. Assim como um atleta aprimora suas habilidades por meio de treinamento constante, a jornada para se tornar um programador habilidoso requer dedicação contínua à prática e muita resiliência. Quanto mais você codifica, mais confiança ganha em suas habilidades e mais competente se torna na solução de problemas complexos.


O Caminho para a Excelência:


Imagine a prática como a fundação de um edifício. Quanto mais sólido for essa fundação, mais alto e firme o prédio pode se elevar. Da mesma forma, cada linha de código que você escreve, cada projeto que você cria, adiciona um tijolo à sua fundação de conhecimento e experiência.


Projetos para Inspiração:

  1. Construção de um Site do Zero: Iniciar um site desde o início é uma excelente maneira de aplicar seus conhecimentos em HTML, CSS e até JavaScript. Você pode criar um blog pessoal, um portfólio ou até mesmo uma página dedicada a um hobby.

  2. Criação de um Aplicativo Exclusivo: Transforme suas ideias em realidade, criando um aplicativo que resolva um problema específico. Isso envolve a aplicação de conhecimentos de design de interface, lógica de programação e talvez até a integração com bancos de dados.

  3. Automatização de Tarefas Repetitivas: A automação é uma habilidade valiosa. Escrever scripts para automatizar tarefas rotineiras economiza tempo e minimiza erros. Pode ser algo tão simples quanto automatizar o envio de e-mails ou tão complexo quanto automatizar um processo de análise de dados.

  4. Resolução de Enigmas Matemáticos ou Científicos: Desafie-se com problemas matemáticos ou científicos que exijam abordagens criativas para resolução. Sites como Project Euler ou LeetCode oferecem uma variedade de desafios desse tipo.

  5. Explore Códigos de Outros Desenvolvedores: Para projetos de código aberto, você pode explorar o GitHub e contribuir para software real enquanto aprende.

Lembre-se, assim como um músico pratica diariamente para dominar um instrumento, a prática constante é a chave para se tornar um programador habilidoso. Desafie-se regularmente, mantenha-se atualizado com as tendências e não tenha medo de errar, pois é assim que você aprende e evolui.


4. Persistência é a Chave


Aprender programação é uma jornada que exige paciência e dedicação. Não desanime se as coisas não fluírem perfeitamente logo de cara. Continue praticando e, com o tempo, você verá seu progresso.


Também é importante lembrar que não existe uma abordagem única para aprender a programar. O que funciona para uma pessoa pode não ser a melhor opção para outra. Experimente diferentes métodos e encontre o que melhor se adequa a você.


5. Junte-se à Comunidade: A Força do Coletivo


Uma multidão de comunidades de desenvolvedores, tanto online quanto presenciais, está à disposição para auxiliá-lo nessa jornada. Essas comunidades são um manancial de apoio e inspiração.


Participe de fóruns, grupos de discussão e eventos para se conectar com colegas desenvolvedores e aprender uns com os outros.


Vou deixar algumas dicas abaixo:


Participar de fóruns online no Stack Overflow (https://stackoverflow.com/) é possivel obter imenso valor. Nessa plataforma, você pode fazer perguntas, compartilhar seu conhecimento e aproveitar a experiência de outros desenvolvedores.


A interação em grupos de discussão em redes sociais, como o FrontendBR (https://www.facebook.com/groups/frontendbr/) e React Brasil (https://www.facebook.com/groups/react.br/), também pode ser extremamente enriquecedora. Esses grupos proporcionam um espaço para compartilhar ideias, esclarecer dúvidas e estabelecer conexões com outros profissionais da área no Brasil.


Participar da comunidade Flutterando (https://flutterando.com.br/) é especialmente relevante para quem está interessado em desenvolvimento móvel com o Flutter. Lá, você pode encontrar discussões, tutoriais, projetos e eventos relacionados ao Flutter, uma estrutura de UI da Google para criar aplicativos nativos para iOS e Android a partir de um único código fonte.


Além disso, participar de eventos, conferências e workshops é outra maneira poderosa de se engajar na comunidade. A plataforma Eventbrite (https://www.eventbrite.com.br/) pode ser usada para encontrar eventos e encontros relacionados à programação perto de você.


Por fim, mas igualmente significativo, é essencial mencionar a Confraria Tech, a comunidade que hospeda este texto e à qual tenho a honra de fazer parte.


Lembre-se de que a jornada de aprendizado em programação se torna ainda mais gratificante quando compartilhada com outros entusiastas. Contribua ativamente nessas comunidades, participe, faça perguntas, compartilhe conhecimento e absorva as experiências dos outros. A força do coletivo pode impulsionar o seu crescimento como desenvolvedor de formas extraordinárias.


Conclusão: A Jornada é a Recompensa


Dominar a arte da programação é uma jornada acachapante, não o destino final. Não se cobre perfeição desde o início. Estude bastante e continue praticando sempre e seus objetivos profissionais e profissionais serão alcançados!


Lembre-se, a estrada é longa, mas cada passo vale a pena!



65 visualizações1 comentário

1 Comment


Luis Gustavo Amaral
Luis Gustavo Amaral
Aug 31, 2023

Da hora, toma meu like

Like

Junte-se a nossa Confraria Tech

Deixa seu email, que assim que tiver novidade te envio!

Obrigado pela Inscrição

bottom of page