Executando verificação de segurança...
8

Como iniciantes fazem projetos ?

Olá a todos, me chamo jonas e recentemente iniciei meus estudos em python. desde minha infância tive o desejo de trabalhar com tecnologia e coisas relacionadas, mas assim como toda criança sonhadora, eu não tinha dimensão de nada.

Atualmente, agora com 20 anos iniciei meus estudos com a linguagem python. passei anos apredendo o básico e mudando de linguagem, por que achava que não tava saindo do lugar. Estou acompanhando um curso e no atual momento estou em um modulo intitulado de "intermediário" que ensina funções, dicionários e etc.

Até esse ponto, está tudo correndo bem, mas o real problema está na minha sede pra produzir algo realmente util e interessante... Eu estudo, faço muitos exercícios todo dia, mas sempre no fim dos estudos bate aquele vazio de quem não consegue sair do lugar.

Entro no youtube e vejo outras pessoas desenvolvendo projetos incriveis e penso: "poxa, quando sera eu ?" não é por falta de ideias para projetos, eu tenho muitas ideias, mas me falta conhecimento e as vezes sinto que não estou indo a lugar algum.

onde quero chegar é, como começar a criar projetos e desenvolver minhas habilidades com coisas reias e não somente exercícios de lógica ?

5

Sou WebDev há 4 anos, e só nesse ano consegui a começar experimentar tirar meus projetos do papel. No meu caso não é exatamente falta de experiência ou conhecimento técnico, mas sim a coisa de esperar as circunstâncias ideais. O que mudou esse ano é que decidi não esperar pelo ideal, ou então a gente nunca tira nada do papel.

Você tá querendo fazer algo funcional? Faça. Busque algo que vá te animar ou solucionar algum problema seu e meta as caras. Comece pequeno, faça a análise de requisitos primeiro, passo a passo do que a aplicação precisa para atender a demanda que você identificou e escolheu. Então siga para delimitar as regras de negócio.

Após isso você vai conseguir analisar qual ferramenta melhor resolve aquilo, considerando os requisitos e regra de negócio.
No seu caso, mesmo se for sempre optar por py, ainda dá pra pensar em quais libs e, eventualmente, qual framework melhor resolve aquilo.

A partir dai, estabeleça um fluxo de trabalho. Ex: até x dia tenho que estudar x coisa para conseguir realizar x coisa da aplicação. Faça essa x coisa bem feita e parta para a próximo.

O começo sempre é desafiador porque você não conhece todos os recursos de tecnologia x ou linguagem y, mas pouco a pouco logo você saberá quais recursos as ferramentas tem e ficará mais e mais fácil analisar e projetar sistemas.

O que descrevi acima foi e é meu processo tanto de aprendizagem quanto de inicio de projeto, espero que ajude.

2

Normalmente se começa com um problema a resolver. Talvez uma atividade como verificar emails, ler a newsletter ... coisas que dá para automatizar ou resolver de outra forma.

2
1

Bom dia Jonas, comece resolvendo pequenos problemas.

Você paga contas, ok? então comece criando um app para gerenciar teus pagamentos.

Mas não simplemente fique no laçamento de credito e debito, acrescente coisas que grandes projetos usem, ou alguma tecnologia que você queira desenvolver.

Podes adicionar alguma tecnologia de cloud para guardar fotos dos boletos, ou acrescentar o desafio de ler um código de barras e adicionar a conta, usar serveless para dar baixa em uma conta, etc.

Uma dica, não se cobre muito por seus projetos não terem a melhor interface, ou por não usar os melhores padõres de projeto, lembre-se você está aprendendo!

Por ter um escopo pequeno você terá um app pronto de ponta a ponta em menor tempo, com features interessantes implementadas.

Sucessos cara!

1

O problema de todo mundo que quer desistir é: quero construir um projeto, o projeto da minha vida, vai ser muito legal e pa pa pa".

Assim você está pondo a sua vontade de estudar em cima desse projeto, e, assim, geralmente a inspiração que te motiva a faze-los, costuma acabar bem rápido.

Aprender a programar demora, muito, mesmo, e como sua vontade de aprender a programar depende da inspiração pra fazer tal projeto, no momento que a inspiração acabar, você vai desistir.

Olha, se quer realmente fazer um "projeto real", sugiro que começe a planejar ele agora, só planejamentos, considere tudo, cada detalhe, assim você ganha tempo pra aprender um pouquinho que seja o suficiente pra começar a pôr o projeto em andamento.

E... não seja engênuo, você não vai criar "coisas reais", úteis, produtos finais, como você espera criar coisas complexas, sem mal saber usar o básico da linguágem que vai usar?

Não desista por isso, só lhe aviso pra tirar a cabeça das núvens, ser mais materialista.

Dá uma olhada no github, tem vários repositórios com ideias de apps pra n linguagem, procura por uma que te interesse, e tenta fazer, mesmo sem vontade.

Concluindo, iniciantes não criam projetos, criam protótipos, coisas menores, é normal.
Quando você pegar o jeito, vai sentir sua cabeça criando um projeto bem da hora sozinha, cê vai ver as pessoas sofrendo com um software tosco, daí você vai dizer: nossa, eu posso fazer algo pra ajudar essas pessoas!

E pelamooooor, não cobre por seus primeiros projetos, ponha eles sob a lincença GPL3 e abra para o público autidar, modificar, contribuir e afins, você vai aproveitar muito mais aprendizado assim do que vendendo software mal feito. Quando você terminar o primeiro projeto, pode ter certeza de que ele internamente vai estar uma tosqueira, horrendo, porco. E isso também é normal, e, quando a gente dedica muuito tempo em alguma coisa, a gente acaba se apaixonando por ela, e vai deixar de notas seus defeitos. Isso é um problema, errar faz parte do processo, depois cê vai voltar pra ele, e ver um monte de problema, não se sinta mal, ria disso, você agora entende o porque aquilo é um problema, e isso é ótimo.

O meu primeiro projeto grandinho, veio no tcc da minha escola, que a gente tinha que criar um software com um propósito social. https://gitlab.com/bibliotech2/LibraryGo.
Demorou um ano todo pra terminar, e pelo menos uns 3 ou 4 anos estudando antes pra aprender o que eu precisava pra pôr isso em prática.

No mais, espero que tenha te ajudado! :)

1

Então, mano, para conseguir avançar desta parte de exercício de lógica para outras coisas mais tangíveis, recomendo que comece a estudar um pouco sobre gerenciamento de produto. Saiba como funciona uma POC (Prova de Conceito), análise de requisitos, público-alvo, pitch, etc. Não precisa se aprofundar muito nesses assuntos, mas eles vão te dar uma base sólida para você conseguir transformar o conceito de uma ideia em algo concreto. Por exemplo, tendo noção de POC, você vai saber melhor se ela realmente funcionará com uma versão reduzida da sua ideia. Tendo uma noção do público-alvo, você consegue realizar uma pesquisa de mercado e entender para quem está desenvolvendo a ferramenta/produto/etc. Assim, saberá melhor quais são as necessidades que precisa atender. Alguns exemplos de como essa noção pode ser útil talvez não te ajudem em tudo, mas pelo menos vão te dar um norte. Desejo o melhor e não deixe as coisas apenas no papel; vá e faça!

0

Olá, Jonas! Te aconselho a achar algo legal e/ou útil que você queira fazer e partir para a prática.

E não se preocupe em estar pronto! Você pode não estar pronto no início, mas ficará ao longo do projeto.

Um pouco da minha história

Comecei a programar aos 13 anos, e hoje tenho 15.

Em todos os projetos que fiz, desde quando comecei a programar até hoje, eu nunca estava pronto, via um monstro gigante na minha frente e não tinha nem ideia de como vencê-lo.

Então eu ía fazendo de pouco a pouco até terminar tudo. Se eu não soubesse de algo, eu pesquisava até encontrar a resposta e resolver o problema, normalmente eu encontrava num StackOverflow da vida.

E assim eu fazia, de pouco a pouco, sem parar, e depois de muito trabalho duro, eu terminava.

Conclusão

Resumindo, te aconselho a construir algo que você ou outras pessoas estejam querendo ou precisando, como um jogo, uma CLI, alguma automação...

Te desejo sorte nos seus projetos, e tenha em mente que não será fácil, mas seja forte e leve seus projetos até o final.