<< back

Become an Engineer

This learning track assumes you have a computer built after 2004, with Debian Linux, FreeBSD or OpenBSD installed. (Windows simply won't do.)

Start here (read both and do all of the exercises)

Getting deeper (read all 3, do all exercises)

Low level learning

Category theory

High(er) Level Languages (pick at least 2)

This is the way to becoming a truly great software engineer. I've read all of these books, and I can say that they all manifest within me a strong sense of confidence, and the ability to adapt to any situation that might come my way in computer science.

You may be reading this list, thinking... what about Java or JavaScript??? Now, I don't think these languages are bad per-se, but I do think they have the ability to destroy your life. Once you've used Java or JavaScript, there is a good chance you will become closed off from the rest of the computing world, falling into a world of patterns and objects. You may also find that languages like these have the adverse effect of having incredibly low skill-ceilings, which compounds the idea of you becoming stuck. A low ceiling, and a low floor, is a prison, not a tool to conjure the spirits of the computer.