10 projetos de desenvolvimento para melhorar seu portfólio e aprender a programar

10 projetos de desenvolvimento para melhorar seu portfólio e aprender a programar

Uma das questões mais comuns quando se trata de aprender a programar é: "Quais são as melhores ideias de projetos para construir?"

Recentemente, as respostas mais comuns para essa pergunta, são "construa um jogo de xadrez" ou "crie uma interface de linha de comando". E não há nada de errado com essas respostas.

No entanto, acredito que, hoje, esses exemplos não atendem mais às necessidades de desenvolvimento.

Uma grande parte dos softwares criados hoje em dia são SaaS e aplicativos. Isso significa que você precisa saber como programar online.

Existem muito mais complexidades quando se trata de desenvolver de um site ou aplicativo que possui usuários/as, requerem servidores, autenticação e bancos de dados.

Isso força você a interagir com tecnologias que você nunca precisará ao desenvolver uma linha de comando para um jogo da velha, por exemplo.

Parte disso também pode ser gerenciada por AWS e outros terceiros que são comumente usados por grandes empresas.

Mais uma vez, expondo você a tecnologias que são úteis e muito usadas na indústria. Isso será muito mais prático em um currículo, além de ter ajudar a aprender como usar essas novas tecnologias.

Dica: Se você escolher um projeto complexo, concentre-se em criar um componente por vez. Criar um site ou aplicativo inteiro de uma só vez é difícil.

Comece criando uma página de login, ou talvez a página inicial, depois que a pessoa efetuar o login. Se você tentar executar o projeto inteiro de uma só vez, provavelmente irá falhar.

Entretenimento

1. Um web scraper que publica os 10 melhores blogs sem intervenção humana

10 projetos de desenvolvimento para melhorar seu portfólio e aprender a programar

Um dos problemas que encontrei em alguns posts de recomendação de projetos para aprender a programar é esses projetos não são implementados de maneira a excitar o programador para continuar o desenvolvimento.

Por exemplo, vejo que muitas pessoas recomendam a construção de um web scraper.

Uma vez que você cria o web scraper e extrair os dados, o que você fará com eles?

Em vez de apenas extrair os dados, por que não criar um site com esses dados? Não precisa ser chique ou ter muitas visualizações.

Esse scraper pode extrair os dados para um banco de dados e selecionar as postagens mais populares. Daí, ele pode copiar o título, junto com algumas frases, e criar uma postagem que ele compartilhe online.

Este seria um projeto impressionante e simples que você pode realmente mostrar.

Aí sim, você pode mostrar que pode fazer mais do que apenas codificar um pequeno segmento de um sistema. Em vez disso, você pode pensar em um sistema inteiro.

Você precisa considerar como automatizar o processo, gerenciar o banco de dados, criar o site e selecionar as postagens. Isso também permite que você realmente tenha um produto final tangível.

Sem um produto final tangível, é muito fácil ficar desmotivado/a e simplesmente parar com apenas um web scraper.

Além disso, vai saber, talvez o seu site fique popular!

Habilidades: banco de dados, web scraper, automação, desenvolvimento web (para o blog) e programação geral.

2. Um sistema de alerta de eventos usando APIs do Meetup e Eventbrite

Você já quis ir a um stand-up ou show de alguma banda, mas percebeu que era na semana anterior?

Talvez tenha ocorrido um evento gratuito perto de você sobre data science ou big data e você tenha perdido, porque esqueceu de verificar.

Por que não criar seu próprio agregador usando as APIs do Meetup e Eventbrite, que avisarão quando as palavras-chave estiverem nas descrições ou nos títulos dos eventos?

Eu suponho que o Meetup e o Eventbrite já tenham opções semelhantes. Mas é sempre mais divertido tentar criar seu próprio sistema.

Você pode personalizar o sistema para funcionar da maneira que desejar e, talvez, até permitir que outras pessoas façam seus próprios alertas, se você tornar o projeto em um site.

O que gostamos nesse projeto é que você pode praticar o trabalho com duas APIs diferentes. Isso permitirá identificar e comparar o que você gosta e o que não gosta neles.

Dessa forma, se você precisar criar uma API, terá um melhor cenário do que funciona e não funciona.

Habilidades: APIs, banco de dados, automação, desenvolvimento web e programação geral.

3. 9GAG copy cat

Você nem sempre precisa tentar reinventar a roda ao criar seus próprios projetos.

Projetos simples, como um site que permite fazer login, publicar fotos, GIFs e rolar por um feed, oferecem a oportunidade de criar uma base de site primeiro.

Depois, você pode adicionar muitos recursos interessantes, como seguir, curtir e pesquisar.

A pesquisa, em particular, seria uma grande chance de aprender como os sistemas de recomendação e machine learning funcionam!

É sempre divertido tentar replicar sites populares. Na verdade, é realmente uma ótima maneira de aprender a programar, porque você precisa fazer a engenharia reversa de cada recurso.

A engenharia reversa é uma grande habilidade, pois como engenheiro/a de software você manterá constantemente o código de outras pessoas e precisará entender o que se passa na cabeça delas.

Habilidades: machine learning (para sistema de recomendação), banco de dados, automação, desenvolvimento web e programação geral.

4. Um aplicativo de recomendação de presente

Você já passou perrengue para conseguir encontrar o presente certo para um/a amigo/a?

E se você pudesse criar um site que ajudasse a prever o que comprar para um presente? Você pode permitir que o/a usuário/a final crie uma conta ou apenas receba uma recomendação de presente.

Novamente, isso permite a oportunidade de criar uma conta que requer autenticação, desenvolvimento de banco de dados, etc.

Além disso, outra coisa legal desse projeto é que você pode usar a API da Amazon para links de afiliados. Isso permitirá que você faça algumas coisas.

  1. Aprenda como usar APIs e fique à vontade com a leitura da documentação da API;
  2. Se você fizer bem, poderá obter uma comissão por cada produto que alguém comprar.

Este projeto também dá oportunidade de tentar criar um protótipo básico de machine learning.

Você pode criar um quiz que tente descobrir qual é o melhor presente e, com base nos cliques que as pessoas derem - ou não - no presente, orientar o protótipo a aprender com base na taxa de resposta.

Habilidades: APIs, banco de dados, programação geral e desenvolvimento de aplicativos.

5. Um site para permuta e negociação

Pense no OfferUp (ou no Mercado Livre), mas ao invés de dinheiro, por que não criar um site que permita transações apenas?

Esse conceito forçará você a desenvolver vários recursos que precisam de reflexão. Você não poderá simplesmente botar a mão na massa neste projeto sem um plano.

Como as pessoas postarão, onde encontrarão itens postados recentemente e como elas irão procurar. Todos esses são recursos separados que você pode criar.

Além disso, você precisa pensar em como os/as usuários/as irão interagir e talvez até em como farão as negociações.

A ideia não precisa ser 100% prática para a vida real - ela só precisa ser prática no sentido de melhorar suas habilidades e te ajudar a aprender a programar.

Habilidades: banco de dados, desenvolvimento web, programação geral e desenvolvimento de aplicativos (se você optar por torná-lo um aplicativo).

7. Sistema de gerenciamento de tarefas

Os painéis de tarefas como o KanbanFlow são criados com vários recursos modulares que o tornam um ótimo projeto para brincar e aprender a programar.

Ok, vai dar um pouco de trabalho para começar, pois você precisará configurar uma UI que seja robusta e dinâmica também.

Na verdade, este projeto seria um trabalho para duas pessoas. Uma pessoa para trabalhar no front-end e outra pessoa para trabalhar no back-end.

Mas, não deixe que isso te desencoraje!

Isso é, na verdade, uma chance para você trabalhar em suas habilidades de comunicação e trabalho em equipe.

Você precisará conversar sobre os projetos para garantir que ambos/as entendam completamente e saibam onde seus módulos irão se conectar.

Isso é sempre mais desafiador do que parece.

Leia também: O que são soft skills e como isso pode acelerar minha carreira?

Habilidades: Comunicação, front-end, banco de dados, desenvolvimento web e programação geral.

8. Um quadro de empregos

Qualquer projeto que te force a permitir que as pessoas usuárias insiram como vários tipos de usuários, adiciona um aspecto interessante do design.

Como você garantirá que a maneira como os/as empregadores/as utilizam o site atenda às suas necessidades em relação à prospecção de empregos?

Como a maioria dos outros projetos, você não precisa se concentrar em tudo de uma só vez. Comece tentando criar a capacidade de criar um anúncio de emprego.

Então, você pode se concentrar nas pessoas que buscam emprego e em como elas respondem.

Habilidades: banco de dados, desenvolvimento web e programação geral.

9. Um site que prevê lucros com base em conjuntos de dados padronizados

Existem muitos conjuntos de dados que são bastante padronizados para a maioria das empresas.

Isso inclui dados contábeis, geralmente baseados em centros de custo, contas, descrições de linhas e, finalmente, o custo real da transação.

O que é ótimo na padronização de qualquer conjunto de dados é que isso facilita a criação de análises sobre eles.

Por que não criar um painel padronizado que possa ajudar as empresas a prever gastos, despesas mensais e, possivelmente, ajudá-las a melhorar seus gastos?

Para este projeto, você provavelmente precisará gastar muito tempo aprendendo sobre como manter seus dados protegidos.

Obviamente, recomendo primeiro tentar criar os módulos que se concentram na recuperação, padronização e exibição dos dados - antes de se aprofundar na segurança.

É uma toca de coelho da qual você nunca pode escapar!

Habilidades: Previsão, lógica de negócios, banco de dados, desenvolvimento web e programação geral.

Ideias de jogos

10. Snake (ou "Cobrinha")

10 projetos de desenvolvimento para melhorar seu portfólio e aprender a programar

Se você teve um celular no início dos anos 2000, provavelmente jogou Snake.

É um jogo simples, ok, mas você sempre pode tentar tornar as coisas mais complexas!

Primeiro, comece apenas tentando fazer o jogo.

Isso exigirá que você descubra como desenvolver um jogo online. Esta serpente de néon do Sebastian Opperman é uma ótima forma de começar.

Mas, depois disso, talvez você possa adicionar novos recursos como itens ou poderes especiais.

Essa seria uma boa chance de se divertir. Este projeto não é tão técnico do ponto de vista de ter muitos/as usuários/as que se inscrevam e usem seu site.

No entanto, é um bom desafio para descobrir como fazer um jogo rodar online.

Habilidades: desenvolvimento Web, programação geral e UI;

Aprender a programar = mão na massa!

Espero que esta lista te inspire a criar um novo projeto tão incrível que você possa adicionar ao seu currículo e falar em entrevistas.

Talvez vejamos você como próximo/a CEO de uma startup de bilhões de dólares!

Este é um artigo traduzido, você pode acessar a versão original em inglês aqui.
Todos os créditos para o autor: SeattleDataGuy.

10 projetos de desenvolvimento para melhorar seu portfólio e aprender a programar 1

Últimos Artigos

ASSINE NOSSA
NEWSLETTER

Curtiu nosso blog? Inscreva-se na nossa newsletter e receba nossos melhores conteúdos.
twitterfacebooklinkedinyoutube-playinstagram