How I got into software
In high school, I had a teacher named Mr. Jaffe who taught me the basics of computer science. My counselor recommended I take Computer Science Principles with him, and I was reluctant at first.
He emphasized problem solving, understanding the code we use, and especially understanding code we reuse from others. In his class, we had a tournament where each team had to develop an "AI" algorithm for Othello.
I was going up against people who felt far smarter than me, but through time and effort I was able to get my algorithm to a winning point and take second place. In the final match, the other team's model made an illegal move near the end. My solution did not properly handle the terminal game state where no legal moves remained and the board was full. Instead of returning a no-move state and ending the game cleanly, it got stuck in a loop and crashed.
That ended up being the best lesson. I went back, fixed the code for personal kudos, and after that I was hooked. Seeing something I created accomplish something I thought would be impossible was inspiring, and it taught me early why defensive programming, validation, and edge cases matter.
