Here is the problem, Ultimate Go alone doesn’t prepare you to sit down to write a production service, cli tool, or background application. It can’t because there are other layers of foundational knowledge you need to learn. Ultimate Go is teaching you the first of what I believe are five layers of engineering and software development skills required in order to write production software. The reality of this has been weighing down on me.
Epic React by Kent C. Dodds
What are these five layers of software development I just mentioned?
Layer 1: Language Mechanics, Semantics, Design, Debugging
Types, Syntax, Data Semantics, Composition, Error Handling, Tooling
Each layer could use a full two day class. My future goal is to teach layers two through four in another three day class called Ultimate Go Service by writing, refactoring and walking through the code in this project.