Fundamentos: aprendendo a aprender

Olá!

Se você me segue por aqui, provavelmente já me ouviu mencionar mais de uma vez que o caminho que eu recomendo para um iniciante é aprender os fundamentos da computação para não sofrer tanto com a pressão externa em ter que aprender tudo e ficar morrendo de ansiedade e com síndrome do impostor(a) durante sua carreira.

Mas ai eu me dei conta que eu não recomendei bons materiais para aprender sobre esses fundamentos, certo? Esse pequeno detalhe pretendo corrigir agora com esse texto.

Para quem quer começar certo

O material que eu recomendo sobre isso é estudar ciência da computação em Harvard.

Não se assuste, graças a internet, é possível aprender em português e no seu tempo, de graça. Onde? aqui.

Se você quer ir na fonte original e está confortável com inglês, todo ano a universidade disponibiliza a disciplina inteira de ciência da computação básica no Youtube (tem até em 4k):

Aqui está o link da playlist completa.

É abordado desde tópicos básicos como o que é binário, o que são algoritmos, como a memória de um computador funciona, estruturas de dados, bem como SQL e um pouco de segurança da informação. Tem um pouco de Python também.

Para quem quer aprender estrutura de dados

O curso mais completo e direito ao ponto é esse, ministrado por um engenheiro do Google:

De cara, eu já adianto: É denso, cansativo e chato. E justamente por isso que você deveria aprender. É o domínio dessa parte chata que vai te fazer uma pessoa desenvolvedora melhor no futuro.

Aqui cabe um detalhe: Apesar de denso, esse vídeo não contempla todas as estruturas de dados, apenas as mais comuns. Porém, já é um excelente ponto de partida.

Para quem quer aprender uma linguagem de programação em profundidade

Não existe referência melhor que a própria documentação da linguagem. É possível aprender em livros e tutoriais, mas, muitas vezes é melhor ir direto na fonte e não depender de intermediários.

Vou deixar aqui o link das documentações oficiais das principais linguagens que são usadas hoje em dia:

Javascript
Java
Go
C#
Python
PHP
Kotlin
Swift

Uma boa leitura da documentação pode te poupar muito tempo

Caso a documentação seja um pouco complexa ou algo similar, um excelente exercício de aprendizado pode ser traduzi-la ou sugerir modificações.

Para quem quer aprender arquitetura de software

Esse livro aqui é bastante completo:

Fundamentals of Software Architecture, de Mark Richards e Neal Ford

Ele comenta sobre o papel de um arquiteto e também é uma espécie de catálogo de padrões comuns e como usá-los. Aqui você vai aprender sobre eventos, transações distribuídas, filas e dicas de quando usar uma arquitetura ou outra. Achei ele bem completo e fácil de entender.

Aqui está o primeiro capítulo disponibilizado de forma gratuita. Mas dá para achar aquele pdf completo que você tá imaginando no Google também.

Para quem quer uma visão geral sobre o ofício de programar

Eu lembro que ouvi falar desse livro em uma recomendação do criador do Stack Overflow no seu blog, quando eu ainda lia blogs.

Esse livro é velho. Porém, nem por isso o conhecimento que está ali está obsoleto. O que eu mais gostei nesse livro foi a didática fácil e recomendações bastante úteis para quem programa no dia-a-dia. As dicas são bem práticas e assertivas!

Eu acho ele melhor, mais prático e mais fácil de digerir para quem tá começando do que o Clean Code para ser sincero.

E você, o que achou dessas recomendações?

Espero que o material aqui exposto tenha sido útil para o seu desenvolvimento.

Até!

--

--

Escritor-Desenvolvedor

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store