|
This book is on my reading list, but I haven’t gotten to it yet. However, I would like to share my experience, since I was in a similar position as you. At my previous company, I was a project engineer (similar to a TPM) and acts as the technical sidekick to the Program Manager. I provide engineering assessment and recommendation to the PM, and oversaw interdisciplinary engineering teams to ensure they are on track for the project. Most of the time the work was not intellectually stimulating, and there was not much room for innovation since the contract, scope, and waterfall schedule pretty much dictated the entire project flow. What I did, was to seek projects outside of work. In my case, I self-studied python, algorithms, and data structures. I started to implement my own projects, inspired by 12 in 12 challenge by Mackenzie Child. Somehow, I was able to get an interview with Google through the Google Foobar challenge, and I am now working at Google as a SWE. Like what I shared, I haven't read the book yet, but if I was to apply learnings in distributed systems, I would build one using virtual machines or single thread processes with message passing via TCP, UDP, or HTTP, each representing a system for a small scale prototype. After I am comfortable with the concepts and implementation, I’ll probably scale up using one of the cloud service providers (AWS, GCloud, Azure, Digital Ocean, etc). |
I work in Data Science so I have Python experience (at least for scripting) but the leap to SWE seems massive, let alone at some FAANG company.