The most effective approach for individuals without an engineering background or those aspiring to enter the software field is to begin by learning a programming language. I recommend starting with Python, as it is versatile and will enable you to delve into backend frameworks. Following this, undertake web development courses using either Django or Node.js. Subsequently, engage in project development and regularly commit your work on GitHub. This practice serves as a tangible portfolio to present your skills to recruiters, showcasing proficiency in tech stacks and versioning tools.
Once you have a solid foundation, initiate cold emailing to recruiters or connect with early-stage startup founders on LinkedIn. Demonstrating your capabilities through practical projects and networking will position you favorably for opportunities. It's important to be realistic and acknowledge that focusing solely on data structures and algorithms may not be the most direct path to employment with prominent companies. Instead, gaining practical experience initially and subsequently incorporating DS Algo and system design will enhance your credibility within the industry. Best of luck on your journey!