I am a heavy user of gtest. I like to integrate it with CMake and CTest, then use ctest --verbose in the build and release process, with lib_gtest.a linked against test commands specified for CTest.
I haven't been able to do what you're doing because remote work is hard to find. Because remote work has been so difficult to find, I've been hesitant to go all out like you have. I scouted all sorts of places and have not been able to get the variables to all work out.
I hang around the outskirts of cities and cobble together a living, and I go into the city for meetups. If I were doing what you were doing, I'd be scared because of the effort it would take to just hit the pavement and go talk to people who could offer me work.
I agree with your warning, but would advise the reader to struggle with this book and embrace the struggle.
The text helped me with a lot of hobbyist discrete circuit design. The reason is because, in the book, they have little "model" transformations of active circuit components. Breaking things down into models that can be studied with KVL and KCL, as well as simple approximations and rules for dealing with the various modes of transistors, makes the subject accessible. (At least, to me anyway.)
I guess, to add a little bit to the suggestion: buy a used, outdated copy of this book, and try to work through a chapter every 2 months or so. Having a solutions manual on hand helps a lot also.
I actually learned a great deal from just reading Sedra and Smith's book on microelectronics. You don't need much more than algebra and trig to comprehend what is going on in this book.
There is some sloppiness in the book, but the first 5-10 chapters, with enough struggling, get you to think in terms of the basic models that you learn about early on. Once you understand how things break down conceptually, mapping theory to reality becomes a more manageable fight as you cross reference theory while looking at existing designs.