The essential skills every software engineer must have.
If you're pursuing a career as a professional software engineer, you should dedicate the first three to six months to mastering the fundamentals.
Here are the courses I believe you should take, listed in order. Depending on your knowledge and experience level, you can take all the courses in order, or just pick the ones that are best for you.
Data Structures & Algorithms
Studying classic data structures and algorithms helps you improve your programming and problem-solving skills. These topics are frequently asked in coding interviews, and this course will help you master them.
Design patterns are engineered solutions to common problems in software design, and are often asked about in coding interviews. There are 20 classic design patterns commonly known as GoF (Gang of Four) patterns. The following courses help you learn and understand these patterns and appreciate object-oriented programming techniques.
Version Control and Collaboration
Version control is like a time machine for software engineers. It allows you to go back in time and see the exact state of your code at any point. This is incredibly important because it means you can easily track changes, fix bugs, and collaborate with others without the fear of losing or messing up your code.