Im assuming most of your students are interested in working for startups so giving them a mock startup experience would be a plus for them and also for the startups they eventually work for.
Im assuming most of your students are interested in working for startups so giving them a mock startup experience would be a plus for them and also for the startups they eventually work for.
Also, in NYC specifically, we feel that there isn't as much of a pure "hacker" scene. It's too intermingled with the startup world. We're trying to do our part to fix that.
While we're very much not about launching startups or products, we already do much of what you suggest. We encourage people to write useful code and build or contribute to open source projects. Hacker Schoolers frequently collaborate and pair. Everyone puts their code on Github. We emphasize code quality and writing clean, maintainable code you're proud of.
Then you have the concept of ownership and monetary gain, but nobody really owns HS projects, they just happen. There are no contracts or points, there is only the joy of programming. When you naturally put people together that are all working to better themselves in the same way, they wind up cooperating. It's much easier to cooperate on something that's already shared.
Now that's not to say that you can't do anything tangentially related to your startup while you are working on HS. I wrote and open-sourced a library that was tangentially related to my startup, but I did it as a learning experience; it wasn't mission-critical, it just scratched an itch. I wound up not using the project on my startup because it contacted an API that changed, which crushed my curiosity and caused me to stop working on it, but looming in the back of my head, it gave me some inspiration for the curiosity that HS satisfies.
In hindsight, I wish I had never written that library. Yes I learned from it, but my time would probably have been better spent reading Erlang and OTP in Action.
From Dave and Nick's reply it sounds like they tried something along those lines, but learned that people got a lot more value out of working on a number of various smaller sized projects, which is great.
ah ok, I understand. Yes, that's totally something we would do. Cloning, rewriting in a new language, or forking would be appropriate. It wouldn't make much sense to clone Reddit because it's already open source, but forking it and modifying it would be very appropriate.
We wrote four chat servers reminiscent of chat.nodejs.org in batch[1]; one with Brubeck (python), one with Chicago Boss (erlang), one with node.js, and then the Brubeck chat program was rewritten to work inside of a Spotify App, so yes we clone existing projects. But typically with a project like that, there's a lot of cool stuff in the beginning and you eschew some more tedious aspects that you would need for a real-world project, like, say... IE compatibility. Once you're housekeeping and your new work doesn't teach you much and doesn't give you cool things to show the rest of the group, it gets really boring really fast, and the environment naturally encourages you to do something more dynamic.
oh right, I left this out: we had a period in batch[1] where we all did team work. A number of Hacker Schoolers contributed to the async Python web framework, Brubeck (http://brubeck.io/), which was a batch[0] project. Perhaps batch[2] will contribute a bit to it, too.