Software engineering is a broad profession. Many aspiring programmers come to me with the question: how do I learn programming? They are usually expecting a single answer but I end up going through so much detail about the entire software industry and eventually at the end of my explanation these aspirants usually have a clear direction of exactly what they need to do to achieve their individual goals. This discussion usually takes an hour plus to complete so I decided to codify most of my knowledge and wisdom into this volume. In this book I lay a clear pathway that will enable anybody new to the field of computing, software or technology navigate the usually dense and sometimes confusing terrain. I focus on the fundamental skills that are needed to become what is usually referred to as a "full stack developer", I help the newbie differentiate between fundamental technologies and fads. I hope that with this work the new engineer will be able to navigate their way towards technical mastery in the most efficient path possible. For the veteran coders out there this will be a fun read bringing back memories of the journey so far.