O fato de haver essa picaretagem não deve te desanimar, mas fazer com que você entenda que nenhuma área científica hoje está livre de manipulação. A TI tem a vantagem de ser aberta e permitir, com pouco orçamento, aprender pessoalmente à revelia da academia. Minha formação como programador é auto-didata. Eu não fiz curso nenhum, porém, comecei em 1990. Eu vi quase tudo acontecendo pessoalmente. Desde a briga Token Ring x Ethernet e do Open Sistemes x Novell, até a chegada do linux. Trabalhei com super micros Cobra e Sid SMX 390. Então, eu tive a oportunidade de pegar o fio da meada. Mas não acho impossível que alguém consiga entender tudo por si só hoje. Ademais, há muita informação na internet, que é totalmente aberta.

O importante são os fundamentos. Estude os fundamentos bem: estrutura de dados, lógica de programação, algoritmos, conceitos de OOP, versionamento de código, Banco de dados, Sistemas operacionais e redes de computadores. Hoje se consegue vasta documentação livre para estudar. Uma vez dominando minimamente estas disciplinas, se pode aprofundar em linguagens de programação.

Só não pense que é simples e fácil, nem que é algo que precisa décadas pra começar. O campo é vasto, quando souber onde o galo canta, escolha uma área específica pra se aprofundar.

Não se prenda a modinhas do momento. Em cajuzinhos do verão. Nunca vi isso funcionar por muito tempo.

Sobre fontes: Em relação aos fundamentos, prefira bons livros sobre estes assuntos. Há dezenas deles na internet, dentre alguns clássicos. Segue uma lista:

Lógica de Programação

"Lógica de Programação: A Construção de Algoritmos e Estruturas de Dados" de André Luiz Villar Forbellone e Henri Frederico Eberspächer

Estruturas de Dados

"Estruturas de Dados e Algoritmos em Java" de Robert Lafore

"Algorithms, Part I and II" de Robert Sedgewick e Kevin Wayne (também disponível como curso online gratuito no Coursera)

Algoritmos

"Introduction to Algorithms" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein

"Algoritmos: Teoria e Prática" de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein

Linguagens de Programação

Python: "Python Crash Course" de Eric Matthes

JavaScript: "Eloquent JavaScript" de Marijn Haverbeke (disponível online gratuitamente)

Java: "Java: The Complete Reference" de Herbert Schildt

C++: "Programming: Principles and Practice Using C++" de Bjarne Stroustrup

Conceitos de Orientação a Objetos (OOP)

"Design Patterns: Elements of Reusable Object-Oriented Software" de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides

"Head First Object-Oriented Analysis and Design" de Brett McLaughlin, Gary Pollice e David West

Desenvolvimento de Software

"Clean Code: A Handbook of Agile Software Craftsmanship" de Robert C. Martin

"The Pragmatic Programmer: Your Journey to Mastery" de Andrew Hunt e David Thomas

Versionamento de Código

"Pro Git" de Scott Chacon e Ben Straub (disponível online gratuitamente)

Banco de Dados

"Database System Concepts" de Abraham Silberschatz, Henry F. Korth e S. Sudarshan

"SQL For Dummies" de Allen G. Taylor

Redes de Computadores

"Computer Networking: A Top-Down Approach" de James F. Kurose e Keith W. Ross

Sistemas Operacionais

"Operating System Concepts" de Abraham Silberschatz, Peter B. Galvin e Greg Gagne

Reply to this note

Please Login to reply.

Discussion

No replies yet.