This article was originally written for and published at Medium on May 18th, 2013. It has been posted here for safe keeping.

In my sophomore year of college, I became an administrator of a BitTorrent website. It’s not nearly as shady as it sounds. In fact, it was a small and completely legal operation. Three administrators, one server, and hard drive after hard drive full of Creative Commons-licensed content.

Now, I’m lucky enough to attend an undergraduate school with a strong internship tie-in. We spend half of the year slaving away on our school work while the other half is spent in one of those real-world jobs. Lather, rinse, repeat for three years. On the academic side, we take our specialized engineering classes, our project management classes, our technical communication classes, our how-to-work-with people classes.

I didn’t take many of those yet. They first year and change at the university is mostly populated with weed-out classes and introductory curriculum akin to a secondary school elective class or two. At this point in my life,I didn’t know what makes a good project and I didn’t know what makes a project good. I didn’t know how to communicate effectively or work as part of a group. I didn’t know about Gantt charts, or deliverables, or development practices.

As I mentioned, there were three of us. One administrator I had met via online chat some months prior in a public channel. He was a decent guy, and the linkage between myself and the mysterious third administrator who I had never spoken with but was providing us with a server. We all came together, communicating with each other in a strictly online format. Geographically separated, what did it matter with email and a few common hours when we all happened to be awake at the same time? We didn’t have structure or a real thought-out plan. No documents or task lists or meetings to touch base. We carved out and constructed bits and pieces when we felt like it and waited for each other to catch up before charging forward again full steam.

It happened to be winter break, and I had plenty of free time to devote. After we eventually got the site up and operational, I spent days filling it with uploads and tutorials, configuring and reworking plugins and style sheets, setting up social networking accounts, and more or less doing my damnedest to make it ready for prime time. Then, we got a pay-off. A file-sharing blog picked up on the site and did a piece. Within 48 hours, news spread and we had some 3,000 members. We were being reblogged and discussed in forums. We were growing by the hour.

Sounds great, huh? It wasn’t.

While we had all been united in our quest to launch a fantastic niche torrent site, we quickly split at the seams. While I tried my best to keep a steady flow of content being uploaded to seed the site for new users, the other admins didn’t seem as compelled to. One simply disappeared for weeks at a time while another decided it would be a good time to ask for donations and not do much else. Our chat sessions together got shorter and eventually vanished completely. The site stagnated except for a small group of hopefuls that were uploading and contributing, but it amounted to too little. We fell apart. We were broken.

One day, I made a passing comment to a user about how I’d like to rebuild and relaunch the site, and then found myself stripped of my administrative permissions. I contacted the one administrator I had known prior to starting the project, and he just shrugged off the situation as weird before reinstating me into the ranks. It was too late, though. I ended up deleting myself of my own accord a week later.

I completely removed myself from the project, but that doesn’t mean I left empty-handed. I departed with lessons forged from mistakes and successes. What worked, and what didn’t. I learned the need for defining a project scope and keeping open the lines of communication. I learned the importance of meeting regularly and setting goals and being assertive. I learned sacrifice and when to cut your losses and move on.

Each one of these lessons followed me as I went from internship to internship and class project to class project. Academia can teach you a good amount about how to be a developer, but falls a little short when it comes to how to work with real people in the real world.

To learn that, well—you just need to experience it.