Discounting the politics and focusing strictly on mechanics for a moment--the purpose of a participating in a hackathon should be to compete in a hackathon. I know a lot of people who have gone to them because they want to start a startup. What an absurd idea. If your purpose is to start a project, you should be able to start projects on your own. If your purpose is to meet people, there are far more frequent and better places to meet people than hackathons. If you want to be a programmer, you should be programmering.

I trained in martial arts for years and competed in tournaments. After a while, I got bored of tournaments. I kept training, because I liked martial arts. I wasn't in it for the tournaments, and not going to the tournaments didn't make me any less of a martial artist.

I always found it strange that there were always a few students who mostly only showed up for the tournaments. They would come to maybe one class every other week, but if there was a tournament, they were there. Mostly, they didn't do well (of course, because they didn't train in even the things that were important to tournaments), but if all they wanted was to be there in the tournament atmosphere and be able to say they competed, then that would have been fine. But that was not the case. They also complained that they didn't win.

If their goal was to win martial arts tournaments, then they were doing it wrong. They should have been practicing forms routines in front of mirrors, to the detriment of learning wrist-locking and take-down techniques.

Much, much more common were the students who did show up to class every day (even though they only had two classes a week) but only ever phoned it in. They were certainly punching the card, but they weren't particularly talented. Yes, most of the time they'd win because they were the best of the worst, they were in a division of other card-punchers. But sometimes they'd win against much more dedicated students, people who put serious training in, people who exerted a lot of effort.

And before I understood what tournaments were about, it upset me. Tournaments are just a reinforcement structure for an industry of selling tournaments. The market for tournaments is mediocre students. Hell, the market for martial arts schools is mediocre students. It's all a self-feeding system. It makes money for the ring masters by providing a fantasy of achievement to the customer. If it were about skill, they'd lose their monetization base.

My point is, understand what your goals are, and do those things that further your goals. You want to be a martial artist, you get in the dojo and you train harder than everyone else. You want to compete in tournaments, just show up to the tournaments. You want to win tournaments, get in the dojo and you skip the pushups and skip the self-defense techniques and focus only on flexibility and forms.

If all you want is to be a programmer, then just program. If you want to win hackathons, then focus on learning the latest and greatest JS frameworks for rapid app development. Not for building big, scalable applications. Not for robust security. Not for elegant code. Just for meeting the goals.

The problem is that these things--hackathons, martial arts tournaments, Olympic gymnastics, junior-varsity-anything--they're all just different types of beauty pageants. They're inconsequential to anything that is not in their immediate sphere of influence, and that sphere is tiny. Gina's complaint is not caused by the realization that hackathons are bullshit, it's caused by her being exposed to the hackathon. It's caused by her conflating being a programmer with competing in hackathons.

Which I ultimately think is a pretty rosy picture. It means that, by avoiding the hackathon, not only will she not know about the bullshit that goes on there, but she will also have more time to do the thing that really makes her happy: programming.