When you are learning about software engineering ensure that you cover all your bases first. You should learn programming languages such as C++, Java, Python, and more. You should also learn about data structure and algorithms. Another topic to focus on is Object-Oriented Design as when you create a design that is stable and maintainable then your software would be successful. You can also learn about machine learning and artificial intelligence. These would include topics such as data-driven modelling, test protocols, statistical significance, and even error analysis. Other topics include distributed computing, databases, and operating systems.