Mar 8, 2010

Job Searching tips for aspiring Software Engineers

​Q. Target audience?
Fresh computer science (or equivalent) graduates looking for job opportunities as a Software Engineer.


Q. What to prepare?
Obviously, it's not so orthogonal to what you learn in the engineering program.

Essential set of topics:
1. Data Structures
2. Coding skills in C and an an Object-oriented programming language (C++ or Java)
3. Algorithms (covering analyzing complexities, Dynamic Programming, exploring BSTs)
4. Systems knowledge (mainly Operating Systems)

For the above topics, you can't say "I'm not so good in that", "That's not my key area". It's essential.

Secondary set of topics (you need to be good in at least one of these):
1. DBMS
2. Network Technologies
3. Distributed Computing
4. Systems Programming (Unix)
5. Data Sciences (Data Mining and Machine Learning)
6. Cloud Computing
7. Embedded Systems (and Real-Time Systems)
8. Web Technologies
etc.


Q. How to prepare?
Preparation could be little different depending the kind of companies you apply for.

Suppose, you are looking for companies like Google which gives a high thrust for problem solving skills irrespective of languages-knowledge and technologies. Some companies like Microsoft also looks critically for problem-solving skills. In addition to that they care how clearly you can convert your abstract algorithm into a ready-to-run code. For both categories, the Essential Topics are good enough in terms of knowledge. But, they look for how much you can stretch your gray-cells to get a new solution to puzzles of programming. Here the interviewers look out for how systematically you can approach to solving the problem. Start with a simple (maybe brute-force) solution and use its complexity as the benchmark to improve your algorithm. Then stretch out for more elegant ways and improve the algorithm.

To prepare for such interviews, the first thing I recommend is start solving problems in Google CodeJam, TopCoder.com, EulerProject.com, etc. These questions are the right set of exercises to stretch your gray-cells. More than the knowledge, they look for the problem solving skills. So, more than reading anything, getting the momentum of problem solving is more important.

Suppose, you are looking for I.T. services companies like TCS. They may care about what all technologies you know so that they can assign you to the respective projects. Be fluent in whatever technology you are targeting for.


Q. How to write email to the recruiters?
Show your humbleness and preparedness while asking for an opportunity to be interviewed. Don’t just throw your resume in hundred different places and hope to hit any one of them. Look out for the jobs which leverage your skills and strengths. Here are a few things you should watch out for while sending an email to a recruiter.
+ Address them politely in the email. If you know the contact person’s name, address the person directly like “Hi Narayan,”.
+ Summarize your career (for a fresher, about your degree, the discipline and your core strength) in about 20-30 words.
+ Do your homework about the company and show your interest in the company.
+ End your mail gratefully requesting them to consider attached copy of resume to get you an opportunity to be interviewed.


Q. And, about RESUME?
+ Filename of the resume should say it’s a resume and your name. E.g. “Resume of Kiran.pdf”.
+ It's better to send the resume in “pdf” file format, because as the formatting stay intact and the pdf reader is free and well known. MS doc format is also okay, but sometimes different versions spoil the formatting. Also, some may not using MS Word! and using free OpenOffice, which generally spoils the formatting.
+ Name, email id and contact phone numbers should be clearly visible in the top. Even making this info into a “header” and appearing in all pages is good. Avoid printing “Resume” or “CV” in the top.
+ Avoid fancy looking email id like “cool_dude5000@gmail.com”
+ Sections: Contact residence address, Career Summary, Education (table), Technical skills, Projects, Extra stuffs like “Activities and Honors”. This is one of the expected format.
+ Avoid “Objectives” section. It doesn’t add any value for a fresher's resume.
+ Avoid Personal details talking about Father’s name, Sex, Nationality, Languages you speak. This is obsolete in I.T. resumes.
+ Education details should be crisp and clear.
+ Be very ready to explain your final year project - in just two sentences, or summarize in 2-3 minutes, or explain for an hour.
+ Remove the Date, Place, Signature thingy in the end. It’s irrelevant for sending it over an email.


That's all I wanted to say for now.

Regards,
Channa Bankapur

7 comments:

Mahantesh Naregal said...

Thank you.

shetty said...

thank you for the tips...

naitik1988 said...

nice tips.
do suggest some books for strengthening the hard-core as well as soft-core skills.
thanks.

Bharati said...

tips are really good
please suggest some books for strengthening the hard-core as well as soft-core skills we really need them.

Somesh Benchalli said...

very much helpful bro..

Manoj Awasthi said...

Well written Channa. Helps.

Soujanya said...

thank you for nice tips...