I recently bought two books:
- Designing Data-Intensive Applications
- Microservices
I bought “Designing Data-Intensive Applications” because of my fascination with dataflow apps. I think I fumbled with the second book. I talked with ChatGPT for a while so that I could find a good compliment to DDIA. If DDIA is teaching me about data, then I wanted a book that would help me surface it to the user. I don’t think microservices is something I am ready for yet. Because I don’t have that much of a scale and I am a solo guy. Microservices would have made sense if it was a huge team handling a very very complex app. Actually, since I am using Cursor and Kiro to build apps, it works totally against my interest because it increases the amount of complexity in the code, which I am sure these two tools cannot handle.
But before this realization, I went into a rabbit hole. I was learning about microservices, the different architectures in it, and in my YouTube recommendations, I found a few videos related to DSA. And I started watching them also. I created a Leet Code account, and everything. To delete code, you need to have a better grasp over the language, and I was going to go down that rabbit hole, but then I stopped myself. I thought, “Hey, is this really necessary for me? Do I need this?” I am committing a lot to learning instead of just doing with what I have. I am not playing the existing Jenga game I have going on. I am looking for a new tower. And that’s bad.
So when I thought about it rationally, I don’t need microservices, nor do I need DSA, nor do I need granular-level knowledge of any programming language. What I actually need to know really well tech wise is:
- System design
- APIs
- Debugging & testing
- Logging
- Database
Because as someone really dependent on AI you have to view yourself as a product manager who does not code himself but has a software team that is stupid but competent and can be cracked AF at times. That means you have to design the system according to your team, and not the other way around. You have to set targets that these guys can actually accomplish. And they can accomplish enough. You can create anything with them. You just have to structure it well, and that’s what you must learn. You should learn system design.