It's really cool and useful to brush up some SW concepts that you have either never seen or don't get the chance to use with enough frequency
If you are a Software / Data / ML Engineer that want to gain some knowledge on software and system fundamental through practice, keep reading.
- Data Structure Algorithm Problems and solutions (in Python 3) to data structure algorithm challenges (mainly LeetCode). Inside each file you will also find some personal annotations on critical learnings and gotchas I had while doing the exercise
- System Design Problems and solution notes. Most of the content that my notes refer to are from Grokking the System Design Interview (educative.io, not free), YouTube videos (links are there), GeeksForGeeks blog and LeetCode interview questions discussions.
- SQL Problems and solutions SQL (mainly LeetCode and HackerRank). Inside each file you will also find some personal annotations on critical learnings and gotchas I had while doing the exercise
First, adding this notes allow we to remember better what I'm learning / improving my skills on.
Second, as a Machine Learning Engineer, I spend developing software most of my day. Companies need people that can write clean and optimized code as part of their systems and frameworks. It's basic that I know these things almost by heart.
Third, like most of you, I'm a heavy user of open sourced knowledge and tools. Most of the things I have learned and used during my last 6 years of professional experience come from open sourced resouces. So, if I can give anything back to the community even if it is a little, I will.