Pergunte ao HN: Onde aprender fundamentos de engenharia de software?

Ask HN: Where to learn software engineering fundamentals?

Pergunte ao HN: Onde aprender fundamentos de engenharia de software?

Nunca estudei ciência da computação formalmente, mas escrevi código básico durante a maior parte da minha vida, e agora com a ajuda de IA, quero preencher as lacunas nos fundamentos da engenharia de software. Procuro recomendações de recursos ou cursos que me ajudem a construir uma base sólida, especialmente para quem não tem formação acadêmica na área.

Difícil dar recomendações exatas, mas explore os materiais deixados pela era MOOC, aproximadamente 2012-2017, quando educação online de alta qualidade era fornecida gratuitamente. Por exemplo: MIT OpenCourseWare 6.0001 e 6.0002, que são introduções ao pensamento algorítmico e análise numérica em Python. Os cursos da University of British Columbia sobre How to Code Simple Data e How to Code Complex Data, que introduzem programação funcional construindo um jogo Space Invaders em Racket. O curso Computation Structures, que constrói uma CPU a partir de portas lógicas básicas. E os cursos de análise matemática do MIT.
Uma coisa que eu adicionaria às excelentes sugestões acima é que pode ser surpreendentemente útil ir um nível abaixo do que normalmente é considerado 'fundamentos de engenharia de software'. Ensinar estudantes de matemática me convenceu de que entender a máquina subjacente torna conceitos de nível superior muito mais fáceis de entender depois: memória e endereços, uma CPU simples, assembly, convenções de chamada e eventualmente como um compilador traduz uma linguagem de programação em algo que a máquina pode executar. Existe um princípio pedagógico que eu gosto: não aprenda a solução antes de conhecer o problema. Por exemplo, ponteiros se tornam muito menos misteriosos uma vez que memória e endereços são concretos.
Para CS, como em 'fundamentos que estão por trás do que um programador típico lida todos os dias', há um bom recurso: https://teachyourselfcs.com/.
https://aosabook.org/en/