The Art of Code

Log In Register

The Art of Code

This site is a tutorial in progress.

Its eventual goal is to be a well-structured, comprehensive, and canonical guide on how to start from nothing and learn all the technical skills necessary to be successful in finding a job and flourishing in the software engineering industry. I am writing this as a semi-retired professional software engineer and educator who has taught people of all levels: those just starting out, professionals who were preparing for interviews for senior positions at Google, and everything between.

The tech education industry has a culture of "look-how-easy-it-is"-ism. While positivity is often commendable, it often resorts to gimmicks and hype to get unrealistic results on shortened timelines to maintain this illusion that coding isn't difficult. These were effective several years ago but with the demand for higher skilled engineers, the gaps in knowledge now leave people frustrated and thinking there is something wrong with them for "just not getting it". Job interviews seem unfair, arbitrary, and unpredictable. If you have felt this way, this guide is for you. Because you're right. This isn't easy. But it isn't impossible and the job interviews aren't unpredictable.

There is no shortcut to long term success. However there are many scenic routes that claim to be shortcuts. This tutorial makes an assumption that your goal is long term success, not short term results. It takes a hardline approach in ordering and structuring the skills necessary to master to get to this point in a way that is methodical, reduces frustration but isn't afraid to be explicit and, to be quite honest, tedious.

This guide is fundamentally different than any other coding tutorial. It is not about learning a specific language or framework. It also is immune to obsolescence. I urge you to read about the leveling system here to learn about the core philosophy of this guide and why these levels are important and why you shouldn't skip through them.

If you are ready to jump in, start at level B3.

Other information