Learning a programming language alongside data structures and algorithms may be the most important and basic step to practicing self-development in the journey that leads to becoming a software developer.