How students can prepare themselves for a computer career?
I thank Mr. Ashok <email@example.com> for translating the article in English.
The original Tamil version is available here. http://kaniyam.com/how-to-get-a-computer-science-job/
How students can prepare themselves for a computer career?
Dear student aspiring for a computer career,
For those students who have completed a computer science or related course and in the process of a job search or will be starting one,
Shall we talk a little bit about your job search process?
Each year, about 2 lakh students complete their studies in Tamil Nadu, graduate and start looking for a job in the computer field. Of course, it is not possible for 2 lakh new jobs to be created every year. This is why everyone does not get a job immediately. Only about 10% of the people land a job with large enterprises such as InfoSys, TCS and CTS in the Campus Interview. SMEs (Small Medium Enterprises) provide the opportunities for the remaining 90%.
Shall we see what kind of problems arise in hiring freshers in this kind of Micro, Small and Medium companies?
These SMEs cannot provide the place, trainers and 6-months time for training the freshers like the large enterprises. Even one or two weeks is difficult. Students who are prepared to pay as much as 1 lakh rupees for a 6-month course in large private computer training companies like NIIT, instead if you join smaller companies, you expect to be paid a salary for the same training.
To provide free training, office in central city location, air conditioning, computers, internet connection and uninterrupted power and on top of that to pay a salary, these companies are not charitable organizations. Let us say these students are provided free training for a few months, it takes another 6-months for them to become productive. By then a year goes by.
After the lapse of a year, you compare yourselves with friends working for large enterprises. You say, “He is paid Rs 20,000 per month and gets overseas opportunities. I must have the same pay and overseas opportunities.” and switch to another company. Your company that has accepted new projects from customers, will have to start looking for employees again. As many are doing this, companies are afraid to hire freshers.
If they hire employees with experience of one year or more, they need to train them for only a week or two. They will start being productive from the third week. Companies will also get their work done. Even if they quit in a year, there is no big loss for the company. For the salary paid for the year, they would have got matching output.
Instead, if they hire freshers they have to pay the salary and invest in training. And their output is very low. What solution would you suggest for this?
If tomorrow you were to start a company, you will be facing this same situation. How will you manage this?
I can hear you saying, “This is all fine. But only if we get a job we can gain experience. Without a job we don’t have any experience either.” That is also true.
2. Knowledge and skills
Knowledge, skills and experience need not be gained only by taking up a job. We can grow these ourselves, Right?
What do most students say? “Give me a job. Then, I will learn all that is required. After that, I will grow my skills.” True.
Let us say, you buy a car to travel out of town with your family often. You are looking for a good driver. I have come for an interview. I have attended driving classes. But I do not have any experience.
“I have completed training. I have a certificate. But, I do not have experience. Give me employment. Let me have your new car. Give me training for a few months. Once I have learnt it well, I will drive your family wherever you want.”
If I say this, will you hire me? But, this is what you say to the companies.
For learning how to drive a car, you need a car that costs lakhs of rupees. But for learning computer skills you can use the computer you already have.
In cricket, if someone is not scoring runs, even if it is Sachin, we get annoyed. We expect them to score continuously and hit fours and sixes frequently. However, you will not create any software using your computer, but will listen to music, watch films, play games and keep chatting with your friends on social media. How is this justified?
“What are your skills?”
“I have all the computer skills. C, C++, Java, DotNet, Oracle… and so on!”
“Oh, I am happy to hear that. What Project did you do?”
“About that sir! I created the software for the space vehicle that was launched last month. It combines Fuzzy Logic and Artificial Intelligence in Cloud Computing and will run on Android and iOS.”
“Very good! Can you develop a small software program to keep track of receipts and expenses in my small shop?”
“All by myself? That is difficult sir. I have to study more. Give me a job. Then I will study and then complete this work for you.”
“Why not? Did you not do that major project by yourself? You even explained that at length.”
“About that sir…hmm….hmm I didn’t do that project by myself.”
“Then, who did?”
“We bought it from a project center in T. Nagar for Rs. 10,000. However, I know all about that project. Give me a job. I will learn everything well and then complete your project.”
This is what 95 out of 100 people say. Only a very few do the project by themselves and gain the skill and experience of developing new software.
How can anybody employ someone who doesn’t even have such basic skills?
How will you go to a doctor who has completed a medical degree but says doesn’t know anything?
Isn’t computer studies the same?
In education, the lowest level of qualification is ITI. Candidates who have failed in 10th standard can join ITI. We can ask a student who has just completed 2 year welding course in ITI to make a grill gate for us. He will also willingly make one.
A computer student who has completed 12th standard and then studied computers extensively for 3 or 4 or even 6 years is not able to create even a small piece of software on their own.
Companies are not prepared to offer employment to such students who don’t know anything. Only about 10 percent of the students get jobs through Reference, Campus Interview, or Off Campus. The rest have to find a job only through their capability.
4. How to gain experience and skill ?
The job of a cricket player is to practice regularly and display their talent. Nobody says, “Include me in the Indian cricket team! Then I will learn the game and then I will play well and after that I will win cups for the country.”
To become more skilled in cricket, you have to take the bat / ball and practice. For computers, it is enough if you practice with the computer you already have. To learn software development all you need are a computer and internet connection.
If you do all of the steps below, you will learn automatically:
1. Learn beyond the syllabus.
Learn many skills such as GNU/Linux, PHP, Python, Ruby, MySQL.
2. Join Tech groups
Join Tech groups in your town. If there are no groups, start one. Meet frequently and learn new things.
3. Learn GNU/Linux
The whole world is eagerly taking on to GNU/Linux. Leave Windows and install any Linux distro such as Ubuntu, Debian or Fedora. When you use the Command Line, many things will become clearer to you.
4. Study the software source code
You can access the source code of all the software in GNU/Linux. Download them, open them and simply study them.
5. Develop software
Create a simple calculator. An address book. A tool for testing the Internet connection, an alarm, a backup software, web scraping software and other software for very small tasks. Each task will take only a day or two.
Then ask people around you and develop any software that they need. Shops will need many softwares such as Billing, Accounts, Attendance and so on. Develop them free of charge.
6. Learn version control
Version Control System is helpful to share the source code with others and share to do the work as a team. Learn Subversion (SVN) and GIT. Create an account on http://github.com and add your source code there. Also, contribute to software created by others. Your Github profile will determine your growth more than your FaceBook profile.
7. Contribute to Open source
Contribute to your favorite Open Source project. Even if you contribute one line of code it is a big thing. In addition to coding, contribute to other things like documentation, graphics, helping in IRC, Forum or Mailing List, packaging, publicity or translation. Search for “How to contribute to Open Source Software?” Contribute to your favorite Open Source project in your favorite language.
8. Write a blog
Write about everything you worked on in your blog. Write everyday without fail. Your blog will become your best Visiting Card.
9. Add all these things to your Resume
Add to your Resume your blog address, your Github address, the list of Open Source software you are contributing to and all the skills you have learnt beyond your syllabus.
10. Don’t ask for a job. Ask for Project Work.
Don’t bug everyone you know to get you a job. Tell them that you will develop any software that they need. Do it as a Project Work.
After completing your education, if you merely keep searching for a job, an year will go by easily. By then the next batch will graduate and will become freshers. You will be in a very confused state being neither a fresher nor having any experience.
In this one year if you do about one project per month you would have completed about 10 to 12 projects. You can claim that as one year experience. You can rightfully claim that as one year freelancing work in your Resume.
Declare that you have one year experience and search for a job. Then see what kind of opportunities you get. Because you have actual experience, your interview will also be easier.
When you do many projects, you may be able to develop commercial software and earn from it. If you develop a good team, you may be able to start your own business.
If you work hard and also have the skills, the sky is the limit for your career.
My dear Sachins! Just as Sachin amassed 50’s and 100’s, develop software, contribute to Free/Open Source software and shine like the bright sun with your talent!
My very best wishes.
Also, see these links.
Give your feedback in the ‘Comments’ here..