In this month’s column, we take a break from discussing technical topics and talk about what most students care about getting a job.
I get numerous mails from students just out of college looking for help in getting their first job. So I thought it would be useful if I offered some guidance in this column so that it reached a larger number of those just out of college and searching for jobs.
When I was studying in college 10 years back, there were only a handful of engineering colleges in the whole of Tamil Nadu (my native state). Today, there are a few hundred colleges and merely getting a pass mark in +2 is enough to get an engineering seat! The situation is similar in other states as well. Most colleges dont have good placements, and even if they do, it is impossible to get all the students placed. Those who dont get jobs in their city or town, head for cities like Bengaluru, Hyderabad, Pune, Gurgaon, Noida and Chennai, mostly to IT companies. With the large number of job aspirants, it is not at all easy landing your first job, without which life becomes difficult. Some students opt for higher studies while others look for alternative jobs and find them. Many keep searching for jobs, failing which they join courses in less-reputed private institutes and waste their parents hard-earned money. Most students complain about the policies of IT companies that ask for prior job experience from job applicants. They say that, If we dont get our first job, how will we get the experience?
Now, if you look at the IT industry, youll find a stark contrast: HR managers are interested in recruiting talented freshers because that helps reduce their costs. However, they are unable to find suitable/qualified candidates for most positions! Specifically, at the entry-level, they find that most applicants are unemployable because they lack the necessary (basic or fundamental) skills. My experience with interviewing freshers leads me to completely agree with that view.
Unfortunately, most freshers are weak in the fundamentals of computing, such as data structures, algorithms and C programming (ask them to write a simple string reverse function in C, for example, and youll understand what I mean). Except for some theoretical knowledge, they lack any practical experience whatsoever on writing code or testing (which gets exposed when theyre asked to set a break point in a debugger, for instance). Most freshers also have poor communication skills. Their writing skills are usually bad; many cannot write even a few sentences without grammatical or spelling mistakes. The average CV lacks substance, and worse, is ridden with mistakes and bad formatting. To cut a long story short, the lack of soft skills and technical skills are the two main reasons that hinder a student from being absorbed into the workforce.
If youre a student searching for or planning to search for a job, dont panic. Getting your first job can be easy you just have to understand what a prospective employer looks for in candidates and make sure you meet those requirements. To put it succinctlyif you can demonstrate that youre strong in fundamentals, have good communication skills PLUS stand out of the crowd, youre sure to get a job.
So how do you stand out from the crowd? Every interviewer has one question in mind when interviewing you: Why should I select you and not someone else who is waiting outside to attend this interview for the very same job? You need to address this question by differentiating yourself from the rest of the crowd. There are many differentiators, like an exceptional academic performance, the relevant certifications, the niche skills that the employer is specifically looking for, or some advanced technical skills that indicate that youre an expert in a particular field. To give you an example, assume youve contributed to an open source project (say Linux) for a period of two years. This prior experience with working on projects reveals many aspects about youthat youre a committed developer (since youve contributed for two years), that you understand how distributed development works (since all major open source projects follow this model of development), that youre strong on fundamentals (how else will you be able to make commits to Linux source code), etc. This is a clear differentiator, and a suitable employer will be more than happy to offer you a job with a good salary package.
There are some common mistakes that freshers make, which I would like to discuss now.
Most students think that having good soft skills means speaking excellent English. Thats not at all true. What you need is to just be able to express yourself clearly; further, you need to have good writing skills, a pleasing personality, etc.
Most freshers think that they need to follow the latest technologies to get a good job. Thats not true either. For example, cloud computing is popular today, but dont pay a hefty sum to join a course in a private institute to master that. Instead, focus on the fundamentals first. For example, a good grasp of data structures and algorithms is important to get any entry-level job. Similarly, focus on honing your C skills if youre not too good at it.
Once you have a reasonably good grounding in the fundamentals, find out what area in computing motivates you and what you would like to do in the future. In other words, you should choose an area that youre passionate about. It may be network programming, device driver development, Web programming, distributed computing, or database administration. Dont limit yourself, and it often takes time to figure out what kind of IT job you would like, particularly if youre not from an IT background. For example, if youre from the electronics field and love playing with resistors and capacitors (i.e., you have fun with circuit design), you might like low-level device driver programming. If you love reading books and have good writing skills, you might find technical writing to be interesting. Most students have a misconception that getting a job in the IT industry means a programming job that involves writing code. Its not at all true. There are a wide range of jobs that you can consideras a tester, a configuration engineer, a Web designer, a technical writer, or a database administrator. If you have specialised or niche skills that are relevant to the industry, its easy to find a job. If you dont like any of the IT jobs, and hate computers, perhaps you should look out for a job in an area that you like. Think about it: if you get an IT job that you hate, whats good in that job for you in the long run? Perhaps, you can do higher studies in an area that interests you and get a job that you would love to do for free.
Sometimes, even when you have everything that qualifies you as the ideal candidate for a job, there could be many reasons why you might not get hired. For example, the IT industry might be in recession with all new recruitments frozen (it happened twice in the last decade). Or, it might be that youve not sent resumes to the right companies, where your skills will be valued. In the case of a recession, your options are limited. You can opt for higher studies or just wait longer for things to improve, using that time fruitfully to hone your existing skills or acquire new ones. In the second case, you need to network more and reach out to the right people.
In the figure, Ive outlined various options that you have to improve your job prospects, using a mind-map. Though the options in the diagram look obvious, Ive seen that most freshers dont actually explore these options. Let me give you an example.
Recently, I suggested to a student that he try contributing to open source projects to improve his job prospects. He simply replied that it was not possible for him to do so. When I probed further, I found that he thought contributing to open source meant contributing to the Linux kernel (and he didnt have system programming skills in C)! Thats a clear misconception there are numerous open source projects, ranging from testing tools to messaging software. There is no dearth of opportunities to contribute in whatever topic or domain youre comfortable with. Even if you can test the software thoroughly and report bugs, thats a contribution to the open source community. So, dont limit yourself when exploring the options before you.
Take this mind-map image as a tool for brainstorming about which options will work best for you. For example, getting the relevant certification is certainly one of the best ways to boost your job prospects. While certifications don’t assure you a job, there are many advantages in getting certified. First, it distinguishes you from the rest of the crowd. Second, the interviewers can clearly see you as prepared and more focused than other candidates. Third, for yourself, preparing for certification gives you a focus and passing the test will give you a sense of achievement, which in turn improves your confidence. For these reasons, it is better to get certified.
Believe me: searching for a job can be a memorable experience, if done in the right way. You have the freedom and time to explore what you like and can spend more time with family and friends. If you approach the task of searching for a job with a positive attitude and take it as a challenge, youll come out as a stronger person no matter whether you get the job or not. Research findings show that human beings are happiest when they challenge themselves, stretch their limits and explore new ideas and possibilities.
Finally, heres a warning. Ive seen many freshers going the wrong way when they meet a dead-end and dont get a job for a few years. For example, some pay to get fake experience certificates. Dont do that. You might end up getting a job that shows you have prior experience. But in the long run, this might embolden you to take bigger risks and make mistakes with more serious repercussions. That could land you in situations that youll have enormous difficulties recovering from.
Believe in hard work, be honest, prepare well and give your best, and I am sure you will land a good job (sooner or later).