3 ms·
Fill knowledge gaps in the data scientist-back end developer transition
Long story short, after being assigned a few purely backend-related tasks, I realized that this appeals to me much more than data science. It turned out pretty naturally that within my current team I can gradually become more of a backend engineer (we use Go).
In general, I have had experience (mostly with Python though) with web-frameworks, used SQL a lot, Docker, CI/CD, even some Kubernetes, but I cannot get rid of the feeling that there are still so many foundational gaps in my knowledge that it's only a matter of time when I say or, even worse, do something stupid that will sabotage my chances of being considered a backend engineer. I am, however, really willing to fill all those gaps.
Can you please recommend a really short list of books that are must-reads in your opinion?
It's no secret that Designing Data-Intensive Applications by is a gem. I have read around half of it and it has greatly improved my understanding of the basic concepts.
I am also thinking of watching the CMU's course on database design by Andy Pavlo. It has great review and I notice more and more frequently that a decent understanding of databases is something that helps you stand out and impress interviewers.
It also seems a good idea to read Computer Systems: A Programmer's Perspective by Bryant and Helleron to cover the fundamentals of hardware and software. Even though I have a master's degree in computer science and mathematics, the focus was really much more on the math side so I guess that would help.
I am wondering whether I should read something on operating systems. Based on the contents, the book by Bryant and Hallaron covers the basics of operating systems so probably that could be enough so that I am not a total noob in how operating systems work under the hood. Need your advice here.
Currently, I am also reading A Philosophy of Software Design. It's a great read and I have noticed many times that it's considered to be a less radical and more modern alternative to Clean Code.
What should I read on software architecture and design? I wanted to start with the traditionally recommended Clean Architecture by Uncle Bob, but then after reading a series of posts on why the book shouldn't be recommended anymore, I am no longer sure. What are less controversial options to cover this area?
Thanks in advance!