Software Internship Roadmap
With the rise of the tech startup ecosystem in India, the number of tech jobs and internships are at the peak. Today, a large number of companies hire fresh graduates from college because college freshers bring fresh thinking, they are quite agile and they can easily be moulded into any domain.
College freshers should consider this as a great opportunity to grab through which they can enhance their Software Engineering skills and also get a flavour of how things work in the industry. In this roadmap, we will talk about how as a college student you can grab a great internship opportunity at a top tech company - be it a corporate, or a startup.
First, let us note 2 key points:
Now, let us delve deep into each of the above points.
Any Web or Mobile based application today is generally connected to a cloud-based Backend and therefore, by knowing the nuances of Backend Development, you bring in a lot of knowledge on the table. If you have a decent exposure to Backend Development, you will certainly be eligible for a lot of companies, particularly startups.
There are many Backend Development frameworks in multiple programming languages. The choice of the Backend framework usually is driven by your proficiency in the underlying programming language.
Django, NodeJS and Ruby-on-Rails are quite popular in the startup world. Spring and Codeigniter are common among corporates. You can choose 1 accordingly.
You should note an important point - although it could be a big plus point to have knowledge of the framework that is used by the company where you are applying, it is not really necessary. For instance, a company who uses NodeJS as their backend framework would certainly appreciate the fact that you know Django and have demonstrated good projects in Django. A good company understands that problem solving ability and the ability to learn new things are far more important than knowledge of a specific programming language or web framework and that smart students can pick-up any new skill in almost no time.
How to learn Backend Development in Python?
Django Girls Tutorial is arguably one of the best tutorials for picking up Django. Django is a well-known Python-based Web framework. It is fast and easy to learn. Most importantly, Django is currently being used widely among startups and therefore, there is a huge market out there for Backend Development in Django. In fact, CareerHigh is also built using Django as the backend framework.
What should you aim for?
To catch the attention of companies, you should aim for a decent project in Django. For instance, in the Django Girls Tutorial, the blog project is a great simple project that you can put on your resume.
Machine Learning is one of the most common technology today in the market. It is relatively new and the best part is that Software Engineers who have knowledge of Machine Learning are being paid quite well. A lot of startups, particularly FinTechs are emerging in this space which creates a huge market out there.
Again, Python is one of the most widely used Programming Languages in Machine Learning. Google recently open-sourced Tensorflow, Google’s internal Machine Learning framework which is essentially a Python-based Machine Learning library that allows you to train your own Machine Learning models on custom data.
Machine Learning requires 3 key concepts as a prerequisite:
If you have studied any of the above topics as a part of one of your college course, you can probably skip it. Usually, all the above 3 courses are taught as a part of 1st/2nd-year college curriculum.
Once you are done with the prerequisites, you can take a formal Machine Learning course online. Andrew Ng’s course on Coursera is the standard course on Machine Learning. The course teaches the fundamentals of various ML algorithms so that you can easily get a quick start. However, the course uses Octave as the programming language. As such Octave isn’t used in the industry. It is recommended that you use Python to program the algorithms taught in the course.
Another great course on Machine Learning which you can take as a follow-up to Andrew Ng’s course is the Udacity’s Intro to Machine Learning. The best part is that the course focuses on application, which is good because Andrew Ng’s course is more theory oriented.
Finally, once you are through with the theory as well as the application portion of Machine Learning, you should consider a project-oriented course so that you can build resume points. Eduonix’s Learn Machine Learning by Building Projects is a great course for the same. The course will help you build some great projects which you can put under the “projects” section of your resume. You can also talk about the projects during your interviews.
If you enjoyed learning ML, you can try dirtying your hands at Kaggle which is a great platform for Machine Learning contests.
Almost any startup today that is consumer-facing needs a mobile application. The users spent most of their time on mobile and therefore, creating a great mobile application is important. This opens up a huge market for Mobile App developers. Android is one of the leading platforms which has a huge market share of mobile users. Therefore, Andoird App developers are high in demand.
Udacity’s Android app development course is excellent and it will teach you all of the basics of Android app development. Aim for 1 simple Android App development project so that your resume can pass the shortlisting process. Further, you can talk about the project during your interview as well.
Here are some suggested project ideas:
If you are aiming for say, Android app developer internship, you should certainly try and get some projects on your resume. Many students worry about the “certification” of the project. The fact is that the interviewer doesn’t really care about the “certification”. The fact that you took an initiative to learn Android app development and you implemented a project, in itself tells the interviewer about your enthusiasm and learning capabilities. If they want to further verify it, they will question you about the details of the project which will make it clear to them if you are bluffing.
Obviously, a good GPA/CPI also helps a lot. However, don’t worry if your GPA is low. You can always make up for it through some great projects that align well with what the company wants.
Usually, for internships, companies carry out a 3-step interview process:
A few pointers:
Many students rely heavily on the Campus Internship procedure for getting an internship. In this digital world, that’s one of the worst things you can do to yourself. Companies today are open to hiring students from all institutes from across the country. Focus on building the right skills and you are sure to land up with a great internship.
Here are some great platforms that will help you in your search for an internship:
To secure a great technical internship, follow the following steps:
We would love to hear your feedback and suggestions. Click here to provide your feedback so that we can improve the platform.
Follow below phases to become a great software engineer