Eu acredito que ele esta se referindo ao porque das coisas e talvez como elas chegaram no estado que estão.
Eu fiz Sistemas de Informação na UFMT, fiz muitas materias que acho que nao agregaram em nada na minha profissão, mas outras eu acredito que mudaram muito a forma de eu ver um problema. O principal foi algoritmos e estruturas de dados.
- Qual a diferenca entre listas encadeadas, duplamente encadeadas, arrays, arvores, grafos... (e principalmente quando usar)
- Big O
- Algoritmos classicos (algorimso ordenaçao, busca, MST, DFS, BST)
- Como o HD guarda os arquivos? Como o sistema operacional os encontra?
- Quais os principais sistemas de arquivos e porque foram criados?
- Como funcionam processos (de verdade)
- Como o SO decide qual processo deve ser executado, quando, por quanto tempo
- Quando um processo volta a ser executado em um core diferente de quando ela estava sendo executada, como ele continua de onde parou? (escalonamento e comunicacao)
- Quais os algoritmos que decidem isso tudo? (Implementamos um em C que me fez repensar minha existencia kkk)
- Como funciona a memoria ram e oq ela ajuda nas questoes acima
- Como funcionam as paginas de memoria
- O basico de compiladores (já precisei criar uma mini linguagem "DSL" e os aprendizados da universidade me ajudaram muito)
- Como a web funciona.
- As camadas OSI (nao precisa saber tudo sobre todas, mas entender alguns protocolos muda nossa visao sobre muita coisa)
As pessoas se preocupam muito em saber usar o ultimo framework da moda, mas nao entendem o motivo de uma query estar demorando demais pra ser executada, vai logo querendo trocar pra um NoSQL da moda.
Pequena história que aconteceu no meu serviço:
Em 2016 eu estava no meio da minha graduação e já trabalhava na área a dois anos, eu estava trabalhando numa tarefa que era pra otimizar o tempo de um relatório, então pedi ajuda a um Dev Senior metido a DBA, ele disse que a unica solução era criar indices no banco mas que isso devia ser feito de forma cuidadosa pq ele acabaria aumentando o tamanho do banco, então eu fiz algumas perguntas óbvias: "Por que? Como os indices funcionam? Que mágica eles fazem pra simplesmente ficar mais rapido? Por que o banco cresce?". A partir dai eu ouvi tanta besteira sem sentido que a reputação desse senior foi a 0 comigo. Detalhe, eu realmente não sabia como funcionava, mas as explicações era claramente uma tentativa de inventar desculpa e no final me dizer "voce não vai entender".
Alguns dias depois eu estava na aula de estrutura de dados e o professor estava falando sobre Hashing e buscas em arvores e ponteiros e ele soltou a frase "É mais ou menos assim que os indices de banco funcionam". Aquilo explodiu a minha cabeça e a partir dai comecei a dar muito mais valor na minha graduação.
Esse foi só um exemplo pq aconteceu com poucos dias de diferenca entre a experiencia prática e a teórica, mas na faculdade aprendi muita coisa que nao fazia ideia de como funcionava de verdade.
Eu estudaria o basico nessa ordem:
- Algoritmos
- Estruturas de dados mais avancadas (arvores, grafos)
- Sistemas operacionais
- Redes de computadores (camada OSI)
Tem bastante conteúdo na internet mas muito baguncado, encontrei esse canal no youtube que tem um pouco de tudo
Mas acho que a melhor forma de aprender seria lendo os livros base das materias na universidade, os mais famosos acho que sao os do Tanenbaum.