Today, India has become a major hotspot for the Software development industry. India boasts around 75% of the global digital talent. The contribution of the software industry to the nation’s GDP has risen from 1.2% in 1998 to 7.7% in 2020.
Moreover, in today’s era when everything is moving online, software developers are much in demand as we can see through the graph below.
Thus software development is one field that is and will continue to grow at an increasing pace, making it a favourable field for more and more youngsters to pursue professionally. When it comes to IT jobs, there are mainly two types of companies that hire candidates – product-based and service-based. Let us look at the two one by one in detail.
Companies that have their own products come under the category of product-based companies.
These include Facebook, Microsoft, Google, etc. These companies are preferred by candidates because of the advantages they have. But at the same time, it is also relatively difficult to get placed in these as compared to service-based companies.
In the aspect of on-campus placements, these companies usually offer these only to the first-tier colleges and some second-tier colleges. But they also offer off-campus placements.
Advantages of working at product-based companies over service-based companies
product-based Companies usually give more flexibility to employees in addition to better monetary compensation. You get to work in smaller teams and also get an environment suitable for exploring your skills and interests.
The opportunities thus of switching work roles are also more. There are no critical deadlines and the work hours too are flexible. Moreover, the atmosphere at product-based companies helps you grow more and work innovatively.
Here’s a snapshot of the average salaries of IT jobs at Microsoft, a product-based company.
Image Source: Indeed.com
Companies that do not have their own products and instead offer services to other companies are called service-based companies. These include TCS, Tech Mahindra, Infosys, Wipro etc.
These companies are usually the mass recruiters in campus placements. Working in these companies means working in large teams and having strict deadlines. The monetary compensation for IT jobs in these companies too is lesser as compared to product-based companies as we can see through the statistics below.
Image Source: Indeed.com
This being said, there still are some benefits of working in service-based companies too. Let’s look at them in the following section.
Benefits of working at service-based companies
service-based companies offer bonus perks to their employees like family health insurance. Another advantage is that these companies usually sign long-term job agreements. Such companies are not affected by the adversities of market dynamics, thus giving you higher job security.
Although startups come under product-based firms, we discuss them in a different category. Startups are young firms founded by entrepreneurs that attempt to bring to the market a unique product. These companies have not established a place in the market yet and are working on developing their product according to consumer needs.
Advantages of working at Startups
These kinds of companies are often cited as the best place to learn and grow as an employee when a fresher. You’d be working in small teams and would be given the flexibility and freedom to explore what you are good at, what you need to improve in, and what you like doing as part of your work in the industry. Moreover, startups provide their employees with the urban work culture.
Here are some numbers on the salary of a software developer at Zomato, a startup.
Image Source: ambitionbox.com
A Summarised Comparison
|Parameter||Product-based Companies||Service-based Companies||Startups|
|Definition||They have their own product.||They provide their services to other companies.||They have their own unique product.|
|Benefits||Better monetary remuneration|
innovative work environment.
long-term job agreement
not affected by the adversities of the market.
|Best place to learn and grow|
very small teams
urban work culture.
|Skills seeked in an employee||Data Structures and Algorithms|
High academic proficiency
Good coding skills
Multiple language proficiency
|Logic building skills|
Moderate academic score
OS and DBMS
English language proficiency
Skills preferred over academic proficiency
Database management capability
Liberal when it comes to languages known.
Topics required to be mastered by a candidate
Entering the industry, one must be equipped with certain skills that companies look for. We shall discuss these in detail one by one in this section.
Data Structures and Algorithms
This is a topic that tops the list of important skills required to not only crack IT job interviews but also to develop one’s software development skills. Take a look at the Google search trends for data structures and algorithms. The trend has always been dense and increasing.
Image Source: Google Analytics
Programming is not about finding solutions to given problems but about finding the most optimal solutions. This requires having the ability to figure what kind of data will need to be stored using which data structures and which algorithm would make the solution take the least amount of runtime and memory complexity.
product-based Companies like Facebook, Microsoft and Twitter that have such a large number of users across the globe, require their data to be handled in the most optimal manner. Thus they prefer to focus on hiring people who are good at applying data structures and algorithms.
They need programmers that can design the most optimal algorithms that will save resources like a number of servers, computation power etc. Now comes the question of how exactly one master this topic. This question is addressed in detail in our article on “How to prepare Data Structures for interviews”?
Programming Skills for an IT job
Once you have mastered a programming language of your choice and the topic of data structures and algorithms, the next step for aspiring software developers is to invest their time in learning development. Based on your interest, you can choose from various fields of development that include:
- Web development: In an era when everything is moving online, the demand for web developers is ever-increasing and wouldn’t die anytime soon. Moreover, this field gives you the flexibility of choosing between front-end, back-end and full-stack development based on your interests.
Due to the high demand, the monetary compensation for web developers is also attractive. Here’s a piece of statistics on the salary of a web developer:
Image Source: Indeed.com
2. Application Development: Today we’re in a time when everything we do as part of our routine from exercising and listening to music to maintaining our daily schedule and finding a recipe for dinner is done with the help of various applications in our mobiles. Thus the demand of developers who build these applications is understandably high. Here’s some numbers on the salary of an application developer.
Image Source: Indeed.com
3. Data Science: Data is everywhere and in demand. Believe it or not, everyone wants data and to analyse and process it. Here’s where the role of data scientists comes from. Their job is to dig out important insights from large amounts of data using scientific approaches and algorithms.
Image Source: Indeed.com
4. Others: There are numerous fields to choose from when it comes to IT jobs in software development. API Development, Networking, Artificial Intelligence, Machine Learning, Cloud Computing, Embedded Systems Development, Security Software development and Software Tools development are just a few to name.
Aptitude and Problem-Solving skills
Needless to say, for a programmer these skills are inevitably important not just for getting better at coding but also in order to crack interviews. Especially in interviews to get into service-based companies, the aptitude of the candidate is thoroughly checked and also the ability to apply this aptitude in order to solve problems related to the portfolio you’re applying for.
Operating Systems, Database Management and Computer Networks
These concepts form the core of computer science. A programmer’s aim might be to develop a website or application but while doing anything in the area of software development, one will communicate with the computer. To have this communication as smoothly as possible and reach the main aim easily, one must be affluent with these topics of operating systems, database management and computer networks.
The area of system design focuses on designing the various components and modules of a system including the data that flows in the system. In software development, it is significant to develop codes that are best compatible with the system and would allow optimal change further. Only if a programmer has knowledge of the concept of system design, will his code suit the system.
How to get hired at various firms?
Now that we know what skills we need to acquire for getting IT jobs in various companies, let’s look at how to apply them.
- Product-based Companies
- On-campus recruitments
- Off-campus recruitments
- Online Challenges (these are discussed in the next section)
- Through referrals
- By clearing intrinsic certifications
- Service-based Companies
- On-campus recruitments
- Off-Campus recruitments
- Through hiring contests and Yearly hackathons (discussed in the next section)
- National Aptitude tests like TCS NQT
- Applying through the company’s website/portal
- Contacting recruiters via Linkedin
- Acquiring an internship with the company
- Sending your CV with an application to the HR department
Hiring through Hackathons and Coding Contests
We all are aware of how various product and service-based companies hire employees through interviews but in addition to that, these companies also hire through various coding contests and hackathons. This can be attributed to the fact that such competitions actually test an individual’s skills and ability to apply their knowledge of programming.
Hackathons are organised by technical firms to bring together programmers of various portfolios to work on software projects and create the software or hardware (or both) by the end of the short-period event. These focus on testing the development skills of the candidates.
Some popular hackathons that offer jobs or internships as a reward are:
- Smart India Hackathon: This is a 36-hour hackathon organised by the Government of India across the country. It is the world’s biggest hackathon reaching more than 7,218 institutions.
- Code Gladiators: This is a hackathon organised by TechGig. Some of the top IT companies across the globe provide recognition opportunities through this contest.
- Cisco Ideathon: This ideathon is organised by Cisco annually and provides internships to the qualifiers with full-time placement opportunities.
- Others: There are a number of hackathons that are conducted from time to time like TCS Ideabank, LNM Hacks and Angel Global Series Hackathons.
Through other Coding Contests
Many companies conduct their own coding contests to give aspiring software developers recognition and placement opportunities. We list some of them below:
- Amaze WoW by Amazon: This contest is organised by Amazon to hire potential female candidates.
- Google Online Challenge: This 30-60 minute online challenge is conducted by Google to give aspirants insights into Google’s hiring process.
- Others: Companies like TCS and Infosys too conduct coding contests like Codevita and Hack with Infy respectively.
Tips while applying for an IT job
While applying for a portfolio in any IT job, there are certain things that one should keep in mind. We shall discuss them in this section.
- CV/Resume: Your resume is what will form the first impression of your skills to any employer. A way of making your resume stand out is by elaborating on what you learnt from every project, internship or experience that you mention in the resume. But make sure that you don’t add too much information and that you avoid repetition. Don’t add false information.
- Linkedin: Much like your CV, your Linkedin profile should also be strong. Mention internships, projects and all past experiences. Don’t just name them, also explain the details that would inform a viewer that you actually learnt from every experience you had. Link your GitHub repositories for all the projects you mention.
- Github: Create GitHub repositories for all your projects. Make sure you give a detailed description of your project in the README file and that you are able to demonstrate the work.
The Indian Software Industry is growing at a tremendous pace, given which, more and more youngsters are choosing the career of software development. Not only is the demand for Indian software developers high in their own nation, but also in other countries.
This being said, one requires to have appropriate skills in order to become a good software developer while applying for an IT job. You can go through the interview experiences of candidates who have accomplished a job in their dream companies:
- Ritik Aggarwal – Software Analyst at Goldman Sachs
- Sarthak Mittal – SDE 1 at Microsoft, Hyderabad
- Savita Kumari – SDE 1 at PayTM
- Yogesh Kacchra – SDE 1 at Samsung
By Khushi Sharma & Vanshika Singolia