Followup
In the last days I held presentations at several universities to students in informatics and programming. We talked about what they can do during their student years to build up as much skills as possible before graduating.
Here are some of the resources I talked about:
Practice
Challenge
Books
I consider that reading books is one of the most important things a programmer can do to boost it’s knowledge. During the last 25 years I’ve read hundreds of books, most of which were not worth the effort. the books below are the ones which stood the test of time.
I list them in the order I would read them if I would start over my carreer.
The first books I recommend to programmers lay the foundation of writing code and developing applications:
If someone is so inclined the following two books get into details of various programming techniques:
The next three books build upon the fundamentals and deal with the more nuanced (and more important) aspects of writing code:
As one accumulates experience, one can start looking at the bigger picture: habits, techniques, patterns, processes, design, architecture:
- The Pragmatic Programmer
- C++ Coding Standards
- Applying UML and Patterns
- Object Oriented Programming
- Software Architecture for developers
All programmers should know and understand project management fundamentals in software projects. The following two books cover most of the problems one encounters:
The last bunch of books are on varied topics, all helping one in advancing one’s carreer:
Videos
- Conferences:
- David Heinemeier Hansson
- Kevlin Henney
- Simon Brown
- Uncle Bob
- Katrina Owen
- James Shore
- Venkat Subramaniam
- Douglas Crockford
- Kent Beck