The most compelling reason I communicate with young people who I work with in this age bracket is the idea of a safe sandbox.<p>Programming is a way to learn a new language that allows you to build something...ANYTHING...that you can easily tear down, upgrade, keep, or share.<p>There is nothing like the feeling of trying to build something, getting stuck, having the AHA moment, then seeing it work!<p>I don't focus on a particular language, stack, or goal. I push them to think about what they want to build, break, and poke around with, find an example online, then open it up and try to modify it.<p>I've found that most teens want the ability the explore, on their own terms. Programming is too often told from the perspective of working adults who focus on productivity, profit, or protection against obsolescence (you better learn it b/c it will be needed in your future). At that age, most kids aren't motivated by that because it's not their context.<p>I completely disagree with the notion that one has to "just like it" or "find your own motivation or its not for you". This is not a pipeline problem. This is an incentive problem and the industry is mostly incentivized by efficiency, speed, and profit. I try to focus on the value.