How To Get Placed in Product Based Companies From a Tier-3 College

Hardik Taneja
7 min readApr 27, 2020

--

This is blog is an amalgamation of 4-years of hard work, about a journey which took me from a tier-3 college student and a programming noob to a Corona time graduate, Full-Stack web developer with multiple job offers in a time of recession. I am currently working as a Software Developer at a leading Machine Learning startup.

Background

I am a 2020 graduate(well almost) from BVCOE, New Delhi. Like most students from tier-3 colleges, I bombed JEE and spent the first year of my college life brooding about my lack of luck…or well lack of super-intelligence.I eventually got back on the right path and now that I have lived the disadvantages I faced in getting industry-grade skills, internships, and jobs, I am in a position to offer some advice. Eventually, I went on to appear for 5 interviews for development roles at product-based and service-based companies(Most of them off-campus). Maybe my experience can help someone land their dream job so here it goes.

Disclaimer

This blog is inspired by Aman Goel’s Build a solid career in tech without a CS major. I found this very helpful but I add on to it with stuff that's relevant more to Tier-3 colleges, as someone who has actually faced the grunt of not having IIT, NIT, or BITS on his resume.

Building Skills and Exploring

The first suggestion I would make to anyone reading this blog is to EXPLORE.Go ahead and try out small courses on anything that interests you, and make a small project where you apply all you have learned. Surviving in the Tech Industry is all about having the ability to learn new things quickly and applying them.

The Basics

For complete novices, I would recommend starting with the C Programming Language. In learning C you will be exposed to your very first programming paradigm called Functional Programming and learn other important programming concepts like variables, data types, loops, Functions, Pointers, Memory allocation both dynamic and static, File writing and reading. These concepts will follow through to every other programming language you learn. I used the book “Let Us C”.

Data Structures and Algorithms: After going through C, I would suggest you to start working on your DS and Algorithms skills. Data structures are the foundation of your programming concepts, they help us store our data in such a way that the operations we want to perform on them become easy and efficient. There are tons and tons of paid and free online resources for learning DS and Algos, I would recommend going for a paid course for this one as at this stage you are most probably not knowledgable enough to design your own curriculum and a paid course will help you study and learn in a more structured and disciplined way. Language recommended this step: Java or C++. Focus on Arrays, Linked Lists, Trees, Recursion(very important), Stacks and Queues.

Done right, learning C and DS Algos (preferably in C++/JAVA) would take you around two semesters. And Honestly, these skills are enough to land you a job in TCS/Infosys/Wipro and other service-based companies. I can personally guarantee you (having appeared for multiple TCS tests and interviews for both Digital and Ninja profile) that these companies don’t ask anything other than the above-mentioned topics. This is the bare minimum you should know to land a job.

The Good Stuff

Now you are in a pretty good position where you have a great foundation to try each and every Paradigm/Technology that you find interesting.

These are the technologies I explored and would recommend to you

  • Web Development
  • Mobile Development (IOS/Android)
  • Machine Learning
  • Internet of Things (IOT)

I would recommend udemy and youtube for learning these, read the reviews and research about the course before buying.

CRUX of what you will learn in Web and Mobile development is to build an application end to end. You will learn about what databases are and why we need them(another highly important skill). Most courses will walk you through building a basic CRUD(Create, Read, Update, Destroy) app and also how to deploy that app onto the web or App Store.

Important: Once you are through with the course spend some time thinking about ideas to build an app that solves some problem or makes your life easier. Build it, use some version control system like git and publish your code onto Github with a nice readme describing the functionality of your app with some screenshots.

This step seems daunting because of the sheer number of things you will learn but take it step by step as described in your course and see the course through. This is the stuff you talk about in interviews, so very important naturally.

Focus on: Databases(SQL and NoSQL), Version control(GIT), Deployment(Heroku, or Docker if you are looking for a challenge).

CRUX of what you will learn in Machine Learning, Deep Learning, etc is first exploring some data and learning to use that data to build models which in turn help you predict something. I may not be the best person to explain, but it is an up and coming field with a lot of hype around it. Jobs are coming up in this field but I found out that it would take years of dedicated study and possibly a degree to master it and it would particularly difficult to get hired in, coming from just a bachelor's degree.

Using Internet of Things you will learn to work on Raspberry Pi and Audrino Microcontrollers which help you build actual hardware and do projects like remote-controlled cars, drones, entire Smart devices, etc. It is a very interesting which is sort of a mixture of hardware and software definitely worth looking into.

Your aim should be to build unique and impressive projects that you can talk about in interviews, DO NOT copy and paste from the internet. Excellent Projects are the only way you will get shortlisted on the basis of your Resume in Off-Campus recruitment.

This process would take you two semesters of time, and honestly learning this stuff would open doors towards a better future, your dream job.

Getting to the Interview

Now you have decent DS Algo skills and a couple of good projects under your belt. Its time to start your Interview preparation.

  • Brush up on DS Algo skills.
  • Start solving easy-medium level problems on Hackerrank.
  • Do this for 2–3 months, go topic wise and try to solve 1–2 problems every day.
  • Focus on Arrays, Strings, Trees, HashMaps [Most Commonly Asked]and Graphs , Dynamic Programming[For Advanced Interviews]
  • Start giving hiring challenges on HackerEarth (Very Important).

In my Experience chances of getting shortlisted just on the basis of your resume is very hard so your best bet is to clear these coding competitions. Once you give 5–7 competitions you will start to get the hang of it.

REGISTER ON EVERY JOB PORTAL KNOWN TO MANKIND and start applying for internships or jobs depending on what year you are in.

Getting an internship is quite hard without any Web or Mobile development skills. And the projects that you built will definitely help here.

Internshala is a waste of time in my opinion, look for internships by cold emailing on LinkedIn or job portals like hirist.com, instahyre, naukri.com, glassdoor, techgig, etc.

Interview Specific Stuff:

  • *****Object-Oriented Programming (OOPS): javatpoint.com is an excellent resource. VERY IMPORTANT
  • SQL Queries and other DB concepts, if you can learn about normalization and other theory concepts that will really help.
  • Concepts like Multithreading and Networks.

Most colleges have courses on OOPS and DBMS so definitely focus on these subjects in college. SQL queries will most probably be required in any job you apply to. Networking again is taught by most colleges, if it isn’t read about basic concepts like OSI Model, TCP/IP, HTTP, etc. You can find great articles on geeks for geeks and medium.

I personally focused my profile on Java on the advice of some seniors and teachers and Java was the language that helped me land my first good job. I studied almost the entire Core Java section on javatpoint. I did concepts like OOPS, Run-time and compile-time polymorphism, JDBC, Exception Handling, Multi-Threading, and java.collections. These are concepts that every interviewer knows and if you answer correctly about these topics no one can deny you a job. Give quizzes on javatpoint.

My profile is focused on web development so I also learned about servlets and Spring MVC framework again from javatpoint. I did my internship in these technologies and I can safely say that learning java thoroughly will definitely land you a job.

Miscellaneous advice

  • Getting an Internship will be hard and you will have to literally apply to 100s of jobs, but believe me, it will be a talking point on your resume for the next 2 years at least.
  • Use the power of LinkedIn and network with as many like-minded people that you can, connect with people of companies you aspire to work in and try to get an idea of the expectations from the job you want, ask for referrals.
  • Your Best Chance is to clear coding tests, keep an eye on HackerEarth it may seem tough at first but If I ended up clearing 5–6 tests you definitely can too.
  • Try to learn a popular frontend-framework like React or Angular, that alone is enough to get you a job.
  • Lastly, enjoy the journey, you will learn and grow and you will eventually get that job that you desire so desperately.
  • Stay Hungry, YOU GOT THIS.

Resources :

For Learning DS Algos, Interview Preparation Stuff:

For Web Development :

Thank you for reading this, hope you gained something. And here is to your dream job, I believe in you stranger.

If you have any questions or feedback please feel free to reach out.

Email : hardik.taneja700@gmail.com

LinkedIn: www.linkedin.com/in/hardik-taneja

GitHub : https://github.com/hardiktaneja

--

--