Guide for Computer Science freshman to have a fruitful College Life

During my bachelors, i learned a couple of things that i think will help any computer science undergraduate to make the best of their college years and become a programmer.

I think it’s only in your college years that you’ll be meeting a volume of people everyday that you’ll have a hard time remembering names. So, one of the many things that you’ll only be able to do while you are in the college is meeting a lot of interesting people. In my opinion, college is the best time to learn the art of working with people. I would recommend reading the book “How to win friends and influence people” by Dale Carnegie and work on the art of influencing people.
Working with people is a must if you want to become a good developer — or rather be good at anything, you can’t do great things without great people. Moreover, i know people who have better skills that me but they are not recognised as much as they deserve simply because they don’t have the adequate people skills.

I don’t mean a community in your college. I live in Delhi and i am interested in learning Python, so I joined PyDelhi, a group of Python developers who live in Delhi. I recommend everyone to join a community devoted to their interest. There are a lot of benefits of being a part of a community:

  • You make like-minded friends.
  • You’ll constantly get involved in amazing projects and you’ll learn a lot very fast from those projects.
  • You learn the best practices in the field from the experts in the community, this helps you save time reinventing the wheel — rather you get to work on important and amazing projects.

The aim is being around smart like-minded productive individuals. I use meetup to find communities near me. If you can’t find a community of your interest, well, what’s stopping you to start one with friends?

You are the average of the group with which you spend your days.
— Anuvrat Parashar

You can read about painting as much as you want, but unless you start to paint, you learn nothing. Same is with programming. Read as many books as you want. Unless you start writing a code and solve its problems, you are doing it wrong.

There are 4 ways to do this effectively:

  • Solve your personal problems with code: For me, it is easiest to get started with something new when i have an end goal. Personal projects are the best way to find the inspiration to begin with something amazing.
  • Open-source Projects: In my opinion, this is the best way to go about learning the art of writing good code. You learn the best and latest practices of the industry. You meet amazing people — people who inspire and motivate you to achieve your potential. You get to work on a software that is running in production and people depend on your
    code — that’s a great feeling!
  • Start Competitive Coding: When you do competitive coding, you learn to think — you learn to write code that’s resource efficient. You write code that solves complex problems and that teaches you how to think!
  • Internship: There are just too many people looking for interns. The key to having a great experience is to take only the opportunities where you’ll get new skills.

An engineer, at heart is problem solver. You develop that skill only when you practically write code. Any advice is useless if you don’t write code.

You go to the college to meet people and make contacts. That’s the only reason. If you go with the expectation to find a job because you went to the college or got your degree. Or that you expect your teachers or seniors to teach you, you’ll be disappointed. You are on your own and your actions will define you and your future. You can drive the metaphorical car of life or you can be a passenger in it. It’s all your choice.

Many times, I meet first-year students who are not confident to start with a project or help in contributing to a project because they feel that they are not ready. This holds them from learning for a long time. I can understand starting with something new can be scary, but I really recommend that you should not let that fear hold you back. Don’t wait for a super hero to come and save you.
I always advise my juniors to start before they are ready. You’ll find your knowledge gaps as you go, and you’ll be able to improve while you are doing the project — i.e. learn on the fly.

I meet a lot of students who tell me that they are interested to learn. They haven’t started anything yet, but they want to start learning. Well, I have such friends in the first year and the fourth year.
So, i think interest is the most useless thing that you can possess, it can give you an illusion of potential. Not unless you start to get your hands dirty will you ever find your true potential.
If you don’t work, if you don’t start with something, nobody is interested to hire you for your “interest”. Think of it this way — you can’t make excuses at the time of interview, either you have a work experience or you do not. It’s simple.

I hope this helps and motivates you to start coding. Good luck!

Stoic. Existentialist. Optimistically Nihilist. Snowdenist. Friendly. Confident. Perfectionist. Creative. Playful. Programmer. Philosopher.