paint-brush
How to Get the Most Out of Your University Life as a Software Engineerby@adibshakib
1,147 reads
1,147 reads

How to Get the Most Out of Your University Life as a Software Engineer

by Mostofa Adib ShakibJuly 30th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Join organizations, auditing tough classes, choosing the right professors, registering smartly for classes, competing in programming events, and balancing internships with research can help you succeed.
featured image - How to Get the Most Out of Your University Life as a Software Engineer
Mostofa Adib Shakib HackerNoon profile picture

The transition from high school to university can be daunting. You might feel overwhelmed by the sheer number of opportunities and responsibilities. But fear not—I'm here to share some tried-and-true strategies to help you make the most of your college experience. My name is Adib, and I graduated with two Bachelor's degrees, two minors, completed six software engineering internships, and served as a student organization president, all in four years. Here are my top tips for thriving in university:

1. Take Leadership Roles

When I first started college, I felt a bit lost. Everything was new, and I had no programming background. One of the best decisions I made was joining a CS organization. It wasn't just about attending meetings; I immersed myself, took on leadership roles, and eventually became an officer. This experience was invaluable. I built connections that later helped me get referrals and warm introductions, and I honed my communication skills. Plus, having leadership stories to share during interviews showcased my impact and potential.

2. Audit Classes to Stay Ahead

During the first three years, my semesters were intense. I took 15 credit-hour classes while working a full-time Software Engineering internship. How did I manage? I had a secret weapon: auditing. The semester before taking a challenging class, I would sit in on lectures and familiarize myself with the material. This strategy allowed me to grasp key concepts and understand the class's rigor, making the actual semester much more manageable.

3. Choose the Right Professors

Early on, I realized the importance of choosing the right professors, especially for core CS classes. It’s tempting to pick easy professors to secure an ‘A’ grade, but a deep understanding of the material is more important. I found that earning a ‘B’ from a challenging professor who ensured I truly understood the material was far more valuable than an easy ‘A’. This mindset helped me build a solid foundation in CS.

4. Register Smartly for Classes

Each semester, I registered for more classes than I intended to take. I would attend a few sessions of each class to get a feel for the workload and teaching style. This approach allowed me to make an informed decision about which classes to keep and which to drop, ensuring I had a balanced and manageable schedule.

5. Compete and Collaborate

Whether it’s competitive programming or hackathons, these events sharpen your skills and can be a great addition to your resume. If your college isn’t a target for major companies, doing well in these competitions can make you stand out. For example: Winning prizes at Rice & Princeton University’s Hackathon put me in a position where getting interviews from tech giants wasn’t a big deal even though no big company would come to our job fair. Competitive programming is great for those who love solving puzzles, while hackathons are perfect for those with an entrepreneurial spirit.

6. Balance Internships and Research

To figure out whether I wanted to dive into academia or industry, I balanced internships with research projects. This dual approach helped me understand my true passion. On one hand, internships provided practical experience in software engineering, offering a taste of real-world challenges and solutions. On the other hand, research projects allowed me to delve deep into theoretical problems, exploring the intricacies of machine learning and artificial intelligence.


However, as I progressed, it became clear that my passion leaned more towards the industry and entrepreneurship. I found the fast-paced environment of tech startups exhilarating and the impact of building real-world applications deeply fulfilling. Consequently, I opted out of a fully funded PhD offer that I received at the end of my sophomore year after finishing requirements for my mathematics degree to focus more on building my technical skills through more Software Engineering internships. This decision allowed me to further hone my technical skills and prepared me for a career that blended my love for technology and business.


These strategies helped me navigate my undergrad years and set me up for success. By joining organizations, taking on leadership roles, auditing tough classes, choosing the right professors, registering smartly for classes, applying early for internships, competing in programming events, and balancing internships with research, you can make the most of your college experience and build a solid foundation for your future career. Best of luck, and enjoy the journey!