I've been tinkering with software for about 10 years, mostly creating small Python scripts and basic web apps using Node.js. Recently, I've developed a strong interest in diving deeper into Linux and systems-level programming. I'm looking into projects like Linux From Scratch, building an emulator, or developing my own shell. However, I don't have a background in STEM; my degree is unrelated, and the highest level of math I've studied was algebra a while ago. I'm curious, realistically, how far can someone like me go in the programming world without a solid understanding of advanced mathematics, data structures, and algorithms?
5 Answers
If you feel you need a stronger foundation, there are plenty of resources available. Books and free courses on platforms like YouTube can help you get up to speed. Starting with 'Structure and Interpretation of Computer Programs' (SICP) could be a good move!
As long as you’re not venturing into advanced fields, most programming doesn’t require advanced mathematics beyond basic college-level math. YouTube has tons of great tutorials on data structures and algorithms if you want to learn more!
It really depends on what you want to do. For systems programming or emulator development, a firm grasp on data structures and algorithms is helpful, but advanced math isn't always necessary. Many successful emulator developers don't have formal CS backgrounds – often, they excel at reverse engineering instead!
Honestly, you can go a long way, especially in areas like AI. But I think a deeper understanding will enrich your programming experience and help you tackle problems more creatively.
You can actually get pretty far as a hobbyist! Most likely, you'll encounter more obstacles if you aim for research roles later on. But as long as you're in the field, your experience will be the key driver of your progress.

Exactly! Being comfortable with reverse engineering and thinking critically might matter more than formal education.