I'm going into Second Year CompSci and I have no clue what to do, Help!

Omkar Prabhune
8 min readAug 29, 2021

Over the past couple of weeks, I have recieved a bunch of these messages from juniors. It seems trivial but I know what it's like, having so many options without the slightest clue what to do.

You go online and see all these classmates of yours getting internships, publishing a paper or their accomplishments and you feel like getting in on some of that action. I may not be the most qualified to help here, but I sure as hell know exactly what you're going through! 😤

What I'll do here is give an overview on all the options that you have, some resources available for each option, my own personal experiences and what little advice I can give. So without any more filler, let's see what your options are here

  • Hackathons
  • Coding Competitions
  • Open Source (Let's be honest, it's GSoC)
  • Internships
  • Double Down on DSA
  • Personal Projects
  • Clubs and other related Activities

Hackathons

A hackathon, also known as a codefest, is a social coding event that brings computer programmers and other interested people together to improve upon or build a new software program

Which is about right, you work in teams to create a product (website, app, etc.) to be judged and awarded by the organizer. Hackathons are pretty fun to participate in, and do help you in a lot of ways. They are typically of multiple rounds over a couple days, where you demo your project in front of judges to be shortlisted into the next round.

My own personal experience with hackathons has always been one of falling down at the very last hurdle. I participated in a bunch, prepared new and different projects everytime but still lost just shy of the final or semifinal rounds. They never stopped being fun though!

Hackathons are a great experience to hone your presentation skills, gain the ability to rapidly prototype and develop applications (web, mobile or otherwise) and learn time management. The last day in particular is especially brutal. The only advice I'd give is to pay attention to presentation, it often matters much more than your actual product!

Some resources for finding online Hackathons are Devfolio, which mostly has ones from Indian Colleges and DevPost, which features more attractive, larger ones albeit with a higher challenge curve. HackerEarth also has hackathons, but these are mostly orgnaised by companies and all.

Coding Competitions

Coding Competitions are more ‘individual' events than Hackathons. In these, you're often given a problem statement with concise constraints on input and output. You then develop a program that solves this problem statement within specific time and space constraints, often by using various data structures.

Okay that's a mouthful. Basically it's the word problems for school but you're making a program that solves it for you instead of solving it yourself. For those particularly interested in Data Structures and Logic, this one's for you.

Personally I've dabbled in it a bit, with a Codechef ranking of 4 stars and having participated in one or two Kickstart competitions. It's fun but I've always enjoyed development more than problem solving so I eventually dropped it.

And finally, some resources if you are interested in this are websites like Codechef and Codeforces for regularly held competitions. HackerEarth also does these kinds of competitions along with some other stuff. Another super popular competition held every month or so is Google KickStart, which features amazing prizes but with a much greater challenge.

Open Source

Source: ᕕ( ◔3◔)ᕗ by Molly Hensley

Open Source is more than just GSoC.

Sure, Participation in Google's Summer of Code is treated as a big thing here in Indian Colleges but Open Source Software is about so much more. Linux, Android and most of the core libraries that every single software you run uses are open source.

A great example I only recently found out was the cURL Project (curl command in your shell). Something so widely used everywhere is not just a component of the operating system but a huge project in and of itself.

I personally started exploring open source initially by downloading Linux, participating in HacktoberFest and more recently, GSoC 2021. And it's given me a whole new appreciation for the bedrock of all software (commercial or not) that is open source.

To even begin, you should be aware of Git and GitHub. The Guide to Open Source is the best to see what steps you should take next. And some popular events in Open Source are Google Summer of Code, HacktoberFest, the Linux Foundation Mentorship Program and some smaller ones like GSSoC and all.

Internships

Internships are a great way to get experience, especially early on when we know basically nothing. That said, there's a lot of scams these days that make you pay to get nice certificate that says you interned at Microsoft or IITB or wherever (I think we know who I'm talking about). Please don't fall for those. Even if you get an unpaid internship, you are never expected to pay for it.

As a Second Year student, the only way to get Internships apart from contacts is through sites like Internshala and all. However, from personal experience these aren't that useful, to the point where they redirect you to another site so they avoid paying you anything.

A more reliable choice would be using LinkedIn's listings to find an internship, but personal contacts are the easiest and most effective way you'll get them.

Double Down on DSA

This was a take I was surprised to hear. Apparently people are studying Data Structures rigorously right from first year! I only really started with data structures as it was taught to me in college and didn't really do much beyond that.

That said, I do understand the rationale behind it. Eventually for corporate interviews, exams and all: DSA is king. So why not get a leg up right from now? Again, I understand but it's just so… boring.

Anyways, if development is really not for you, a few places to start practicing DSA would be LeetCode, HackerRank and HackerEarth (they're coming up a lot in this article).

Personal Projects

Source: Crio.do

Personal Projects are a great way to showcase your work. They may not be as glamorous as the rest and you don't win anything but you do get to spend significant amounts of time on something productive that you like.

There's no real resources for this kind of stuff, since this is something you'd come up with on your own. Only thing I can say is: Don't let your work fade out of attention. Make a Github Repo with a nice ReadMe, Make a couple posts on LinkedIn, write a blog post about what you learnt if it's that good.

This way, it's not just something you did and forgot about, you'll have public records about the work you've done. While at the same time, getting all the social media benefits

Clubs and other related Activities

Source: Microsoft Learn

There are so many clubs, both academic and not that it's ridiculous for me to give an overview of all of them. The only thing worth noting is that I've heard some people say they join clubs so they can mark it as experience on the resume or something.

Don't do that. No recruiter cares about you being a president of whatever club you're in. They will care about your achievements and experiences as part of one though.

There's a lot of benefits in joining a club, both social and academic. Value the experiences and bonds you've made, absolutely. But don't do it ‘just because' or because you have nothing better to do.

Final Notes

I personally hate people listing a bunch of stuff and concluding with somethings like ‘iT DePenDs' so I won't do that. Here's my final take on what I think is best to do. I'm only a year ahead though so feel free to tell me just how wrong I am in the comments.

College is a great time for you to explore and try out new technologies, gain achievements and play around with as much stuff as you can. Early on in college don't worry too much about DSA, you'll be learning about it officially soon enough that you don't need to do it outside of that. Try to explore hackathons and coding competitions, see what you like but no need to stick with it. Clubs are a plus, if you personally are interested in a particular one but don't bother just for the name or brand.

As you get more confident with your developing skills, look into open source projects and events, and find out if you're passionate about. By this time you should know which field you like and what more you can do way better than any blog post like this. And as interviews come closer, maybe give more attention to the core DSA concepts and problems.

Throughout all this, you have to keep going on with college work so naturally you'll be busier with all that soon enough. But just don't treat it all as a chore, there's a lot to explore so you'll definitely find something you like.

I sincerely hope this helped at least give a few directions on what you can do next. Do share it if you really liked it!

--

--

Omkar Prabhune

I’m Omkar Prabhune, a CompSci Senior especially interested in Natural Language, Open Source Development and writing these blogs!