As software engineers, its imperative that we constantly work on improving our problem solving abilities, after all that’s what we are paid for. Becoming a professional software engineer goes beyond knowing how to code, but more primarily having the ability to proffer quality solutions to stakeholders.
1. Learn basic computer science
2. Understand OOP or functional programming principles
Starting with the core fundamentals, learning data structures, algorithms and basic computer science puts you on the right path to effective problem solving as a computer programmer. Knowing how the tool you use in solving problems works and being able to think like a computer scientist is IMO a necessary foundation.
Principles are guidelines that are foundational to your success in problem solving. It’s advisable you seek to understand both OOP and functional paradigms and their underlying principles, as it gives you a broader perspective on what path will be best fit for you when creating solutions.
3. Take online algorithmic tests
4. Be proficient in your chosen language and stack
There are several platforms (check resources section below) available today for taking algorithmic tests of all levels, from beginner to intermediate and advanced. These tests will introduce you to established code design and problem solving patterns, which you can use in your production work.
Having a deep understanding of your toolset affords you the opportunity to maximize its potentials to create the right solution. Since this is what you’ll be solving problems with, it’s of utmost importance that you master it to the best of your ability. There are several online platforms where you can learn almost any programming language you choose, check the resource section below..