When I was in high school, I took a few computer science courses at my local community college. At least in California, the community college curriculum represents the first two years of an undergraduate education. In computer science, this means courses in introductory programming (typically thought under an imperative or object-oriented paradigm), introductory data structures and algorithms, discrete mathematics, and computer organization.
The challenge for someone who already has years of software engineering experience is that the courses may be too elementary for you, depending on the type of work that you did. However, it might be worth taking a course in discrete mathematics since the topics learned in that course will appear repeatedly in subsequent upper-division courses that you’d take at a university should you continue your education.