We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills.
So, you've taken a class, gone to a camp, watched some videos, or followed a few tutorials and now you've "learned to program." Now what?
Turns out, learning a programming language is the easy part.
Learning how to break down a real-world problem into processes that a computer can understand,
figuring out how to represent reality with 1s and 0s,
storing & using data effectively,
interacting with other software,
exploring what it means to use technology for good instead of evil,
and working with other people (both programmers and otherwise)
to figure out what to do and how to do it are all critical parts of being a good software engineer -
and that's a lot harder to learn compared to learning how to declare a variable or write a while loop.
The best way to learn how to do all that is to do it -
come up with an idea, get some friends together,
learn about all the tools you need to make it happen, and then go write code.
But when you're just getting started, it's hard to know what tools out there,
let alone how to pick & choose between all the different options.
And, like many school group projects,
there's probably going to be quite a bit of trial & error to figure out how to work together
without constantly being frustrated with each other or piling all the work onto one person.
Plus, unless you have some sort of external factor pushing you to get the thing done,
it's easy to just give up when you hit an obstacle that you aren't sure how to work around -
but being able to persevere and experiment your way through those kinds of problems is what makes great developers.
Moonshot is a small-group tech skills tutoring group for middle & high school students
heavily influenced by the Recurse Center programmer's retreat,
agile software development practices, and
the unconference model.
We'll get together once a week, talk about what we're working on & what's holding us up,
someone might give a short talk or presentation, and then we'll spend time bouncing ideas around,
helping each other tackle problems, and working together to create or improve awesome, hand-crafted software.
Ready to start working together?
Say "hi" at [email protected] or book an introduction meeting for