← Back to Blogs

Learning to Lead a Technical Team Before Graduating

My freshman year of college, there was one club I genuinely regretted not joining: Hack4Impact. The organization gives students a chance to work in teams of developers, designers, product managers, and technical leads to build websites and other solutions for nonprofits in the San Luis Obispo community.

I had heard great things about it, and during my second year I finally joined. I worked on the Beaver Brigade project, where I built my first official web-design project. It was a formative experience. Our team had great energy: a group of young, driven people trying to build something useful for a real organization.

The following year, I had the opportunity to continue working on Beaver Brigade as both its project lead and technical lead. There were already some unusual constraints. My product manager and I were both studying abroad during the fall, which left us with limited time to prepare. I remember meeting with the nonprofit for the first time while I was still in Taiwan. The fifteen-hour time difference meant I had to wake up at three in the morning to join a Zoom call that was happening around noon in the United States.

Even with that challenge, we felt prepared. I already knew the nonprofit from the previous year, and I knew my product manager because he had been one of the developers on the team. What I was not prepared for was how much work it takes to lead a technical team.

Normally, Hack4Impact pairs projects with two technical leads. Our project was considered smaller because it was a returning team, even though its scope was still substantial. As a result, we were understaffed in both leadership and development. I was the only technical lead, and we had only a few developers. The project also was not always a priority at the organization level.

That meant I had to design the sprints, assign issues, conduct most of the developer check-ins, track our deliverables, and manage our deadlines. I was doing all of this while catching up after missing the first three months of planning because I was abroad. The learning curve was steep.

One of the hardest parts was realizing that project scope affects more than the final product. Students were participating for course credit or as part of a senior project, so we also needed to create enough meaningful work to keep everyone engaged and learning throughout the year. Even if a project looks small from the outside, the team still needs clear responsibilities, useful challenges, and opportunities to contribute.

We also had to figure out what to do when other responsibilities got in the way and students could not meet the deadlines we had originally planned. Leading the team meant balancing accountability with flexibility. It meant understanding what needed to change, communicating that clearly, and keeping the project moving without pretending that every plan would survive unchanged.

I entered the project thinking that technical leadership would mostly mean making architectural decisions and helping other developers solve problems. I left with a much broader understanding of what leadership requires. It means creating clarity when the scope is uncertain, making meaningful work for people with different responsibilities, and adjusting the plan without losing sight of the goal. Those are skills I could not have learned by coding alone.

That is why I think students should seek out opportunities to lead before they graduate. It does not have to be an internship or a formal management role. A club, class project, or community project can create the same challenge: a group of people trying to build something real with limited time and imperfect information. Learning how to guide that process is one of the most valuable things I did in college.