Special mention: Anumeha Agrawal, Batch of 2020 and Software Engineer at Microsoft for assisting Pulse in curating this article
For a second, put yourself in the boots of a talented young footballer (pun intended). Football has been your entire life for years now and you have aspirations of touching the footballing heavens by scoring the deciding goal in the final of the Champions League. With a deft touch, prodigious changes of pace and a hammer of a right foot, you have been impressing throughout the grassroots level, catching the
eye of scouts at every game you play.
After graduating from your prestigious academy, you break into the senior team. There is a lot of hype surrounding you, with the expectations of the fans looming large over your unassuming shoulders. But for all the talent that you possess, all the glowing reports that your coaches have bestowed upon you for years and years, all those icy finishes you have produced in front of goal week in week out, your impact is underwhelming, to say the least. After a disappointing performance at a cup tie, the pressure is building up. Your team needs results but cannot depend on misfiring youngsters. As you sit on your couch over your tub of unusually moist ice cream, you wonder where it is all going wrong for you.
Many players have gone through similar tribulations. Their talent and potential is immense, but it is not paying dividends on the pitch. Thierry Henry failed to make an impact for Juventus, but for Arsenal under the guidance of Arsene Wenger, he changed positions and went on to become a Premier League legend. Andrea Pirlo started out as an attacking player but was deployed in a more defensive role under Carlo Ancelotti and has defined a generation of deep-lying playmakers and inspired fans across the world.
You might have found yourself in a similar position. After securing a seat in CSE at one of the most prestigious institutes in India, you might have had your fair share of troubles with academics and many sleepless nights pondering over your future. Hopefully, this article is your game-changing manager and you can develop into a legend of the branch.
What One Can Expect From This Branch
Computer Science Engineering (CSE) is the most sought after branch amongst all the branches in engineering colleges in India, and for good reason. We live in a digital age where almost all industries rely on data and software programs. Computer science impacts everything from scientific research to health development, transport, banking, communications and a myriad of other fields. Breakthrough innovations and constant development of new technologies also means that there’s a constant demand for people who can create, maintain and fix both gadgets and code. Computer science jobs also come with high placement rates, exceptional job security, remarkably high starting salaries, and a plethora of job opportunities across industries. But in order to make the most of these opportunities and thrive in this branch, you need to enjoy what you study. Logic, analytical skills and problem solving are crucial.
Getting down to brass tacks, one of the first topics that is taught in CS is Data Structures and Algorithms, which is the core foundation of CS. It is of crucial importance that it is understood at the root level. A lot of people try to memorise common algorithms for internships/placements, but this is futile and ineffective, even in the short term. The focus should be on understanding key concepts and asking “why” at every single step. This is not only pertinent from a placement point of view, but also when you start designing and developing new products., where DSA concepts are recurrently used. (For instance, making design choices for storing and retrieving data)
Exploring more specialized fields of CS, such as AI, Computer Graphics and Data Processing in the early years of college is very much encouraged, but it should not be premature. Skipping the absolute basics in order to quickly learn advanced topics is a surefire way to collapse later.
Research fields in CS are numerous and ripe with potential. Theory and Algorithms is one such field. Computer science has the dual nature of being an engineering science as well as a basic science like physics, concerned with fundamental concepts including processes, computation, information, and communication. This field encompasses algorithms, combinatorics, complexity theory, computational science, cryptography, optimization and many more.
Data Management and Machine Learning is a field that has taken the world by storm and AI has gradually creeped its way into almost all our lives. Artificial intelligence, big data, cloud computing, data mining, data science, machine learning and natural language processing are all trending fields in the industry.
Software engineering is one of the most important and widespread disciplines in CS as software is required in all machines, as simple as traffic lights and scaling all the way up to servers and supercomputers. Research in this area focuses on the design of new formalisms and frameworks to improve the quality of software. Fields include compilers, domain- specific languages, performance optimization, program analysis, testing and verification. Cyber Security is also a field of immense promise. With companies collecting more and more personal data by the second from billions of people worldwide, a potentially dangerous stockpile of information can be used against us and privacy is of prime importance. Research ranges from mathematical foundations of cryptography to building
solutions to pressing problems in securing networks, cyber-physical systems and applications.
“One great thing about technical clubs is that they let you explore literally any field of your choosing and help in finding people who can guide you. So the only advice that I have here is to not be afraid of stepping out of the classic fields to explore something extremely different. It is okay to have multiple fields of interest and you should keep exploring them.” – Anumeha
This is a very significant aspect of college, but a lot of this is not in our hands and we must eventually adjust to the status quo. In fact, most people end up learning more by themselves than from their departments and professors. But there are ways in which we can actually make good use of our departments. Don’t hesitate to reach out to a professor whose interests match yours and request them for a project that you can work on or contribute to their existing works.
This is a noteworthy way to get exposure in a research area, especially in the early years into your branch. Secondly, grades are indispensable for both employment as well as higher education in the future. Usually, people overlook their grades until their second year. People are of the opinion that it’s okay not to maintain their grades, unawares of how vital it is to pursue higher education. During placements, companies have pointer cutoffs and although it is fairly liberal, keeping your pointers high is essential since it is a very gnarly task to pull it back up in the later semesters.
While seeking out worthwhile internships, it is key to leverage your network to get referrals to the companies that interest you. LinkedIn is a top notch platform to get an internship off campus. You can never really go wrong with cold mailing professors and there is no harm in trying at every opportunity you get.
“angel.co is really good if you wish to work at a startup and they have tons of opportunities. Apart from this I would strongly suggest looking into open source, and there are a lot of great programs out there like GSOC and you will find a lot of people on campus who can guide you here.” – Anumeha
Opportunities in Employment and in Higher Studies
Should you immediately cash in on your knowledge by looking for a job, or should you hone your skills even further to build up your profile by seeking higher education? This is a dilemma that is faced by every one of us, and the solution is quite a personal one. Firstly, if you have the desire to explore a field in depth or pursue research, higher education is an implicit no brainer. The best way to savour a small nibble of the experience would be to connect with your seniors who have enrolled in universities and have had a big morsel of the programs that you are looking into. Another nifty way to really understand what you want to do is to pursue internships of different kinds (academic and industrial) to see what your jam really is.
Regardless of the choice you make, you can’t really go wrong. Even if you start working and then suddenly have a hankering for higher education, you are still free to do a masters in the following year. In the end, experience and knowledge should be given priority over qualifications.
Applying for Higher Education
If you have decided to pull the trigger on a Master’s degree, starting as early as possible is advised. The general recommendation is to start searching for a suitable programme one to two years before you intend to apply. Keep your options wide open, stay informed about the academic requirements and pay your undivided attention to every single detail. Furthermore, it is best to contact university officers one year before you submit all the essential documents. Your CV is one of the first documents that you will draw up. CVs are your first and only direct communication with a potential employer/university and hence, it is of critical significance and must be drafted well. A template is square one and the Simple CV template on Overleaf is a good start. Make sure to get your CV reviewed by peers and seniors to ensure it is up to the mark. The GRE is also a very important selection factor. The mock GRE test is a good yardstick to know where you stand and what you need to work on. Princeton Review and the official GRE guides are some good starting points. Attempting GRE as early as possible is recommended because it is valid for 5 years and this will free up a lot of time to work on other aspects of your resume as well.
Preparing for Interviews
The culmination of four years of hard work should ideally be securing the job of your dreams. Tackling interviews might sound like an arduous task and when it comes to interview preparation, it is important to make a plan and go about it systematically. It is extremely important to know your resume in and out. If your game plan is still dubious, reach out to alumni who have been through the process. As a rule of thumb, DSA and Operating Systems are key topics in an interview for software engineering. Take as many mock interviews as possible because it will teach you how to perform under stress and time constraints. Keep in mind that most companies focus on behavioural questions as well.
Making connections with people and networking really goes a long way. Don’t hesitate to reach out to people for help. People in college are extremely amicable and the best part is that even if they can’t help you, they will link you up with someone who can.
“Always be enthusiastic to learn and explore things. Don’t be scared of failures because that’s how you will grow.” – Anumeha