I’m currently a junior in high school and want to get a job at a big tech company such as Google at Facebook. I already have a decent amount of programming experience and have been to and won a couple of hackathons. I would like to know what courses will teach me what I need to know before applying to these companies.
If a college education is a valid option for you, I strongly encourage you to consider it. While these companies do hire people without degrees, they hire a lot more people straight out of college and the path to being a self-taught developer is a hard one.
You can also get an early leg up on learning computer science by taking Harvard’s CS50X on edX (https://www.edx.org/course/introduction-computer-science-harvardx-cs50x) right now.
The other recommendation I’d make is get together with some coding buddies and start making apps together.
Also I think this previous post of mine (on applying to FAANG companies) might be relevant to you: What is the best way to get your resume selected for interviews? - #16 by astv99
Has anyone talked with you about design? I am concerned that they are teaching young people about how to code without teaching them about design.
It depend upon what you mean by ‘design’. I assume you mean project planning rather than visual design? Architecting a piece of software is a hard skill, and it helps to understand the basics of how to program before you leap into designing projects. I’d recommend crawling and walking first.