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

Como aprender a transformar ideias/negócios em código?

Primeiramente, gostaria de recomendar os estudos de Domain Driven Design e Clean Code. Não se apegue em entender (ou até mesmo ler) tudo, pois são livros que você irá ler e reler futuramente, mas foque em como regras de negócio são analisadas e como o código nasce a partir do mesmo. Nestes tópicos, você aprenderá que NodeJS e Flask (ou qualquer outro) é "só um detalhe". Aprenda a escrever código independente de frameworks.

Quais ferramentas, modelos ou metodologias utilizar?

Aqui vai minha experiência: já gastei dias desenhando e modelando UML, horas e horas criando documentação de use cases, e até desenho em caderno. É interessante aprender e utilizar cada um destes, pelo menos uma vez? Sim. Mas para muitos casos, será perda de tempo.
É muito comum você começar a desenhar o seu projeto de software, e no meio do desenvolvimento, você decidir remodelar 50% ou mais do que você fez, seja por algum imprevisto, melhoria ou falta de experiência, e acabar gastando tempo demais no planejamento do que na implementação. Eu já fui "viciado" em planejar ou desenhar softwares. Mas sempre surge algo no meio do caminho para mudar metade dos meus planos e gastar mais tempo desenhando.
Acredite ou não, um simples notepad (ou um arquivo com markdown) pode já ser suficiente para seus projetos pessoais ou sua equipe. O ideal é você começar pelo que é mais prático para você.
Empresas com grande número de desenvolvedores e softwares sensíveis (ou seja, erro uma linha, vira notícia na internet no dia seguinte) podem acabar exigindo que sua equipe seja mais burocrática e desenhe/planeje tudo. É um gasto que elas precisam realizar.
Mas quando falamos de equipes pequenas (ou sozinho), o importante é ser prático, não só para você, mas para seu cliente. Assim, você ganha tempo (que será gasto para corrigir e melhorar seu software).
Eu já usei (e gostei) de usar https://app.diagrams.net/ e https://excalidraw.com/ para desenhar softwares. E para documentar, crio arquivos .md mesmo. Se for trabalhar com API, uso https://swagger.io/.

Em resumo

  1. Aprenda sobre como analisar regras de negócio (DDD, Clean Code);
  2. Estude e experimente fazer UML ou documentação de use cases, pelo menos 1 vez;
  3. Análise e escolha o modelo ou ferramenta que é mais prático e que te faz ganhar mais tempo (nem que seja um simples bloco de notas);
  4. Quase todos (se não todos) softwares são 100% daquilo que foi planejado. Sempre há uma mudança (boa ou ruim). O importante é você saber aprender e se adaptar;

Too long, didn't read?

Leia os primeiros capítulos de Clean Code :)

Carregando publicação patrocinada...