Must-have skills for software engineers
Kapil Bhatia, manager-HR at VinSol, an upcoming IT company based in Delhi answers some of the frequently asked questions and offers advice on how aspiring professionals can build their technical careers. Read on
What skills do software developers need to get a job?
Most IT Small Medium Enterprises are looking for certain kind of skill sets.
To start with, learn to code. Coding is like body building: Programming needs patience and practice.
If applying for a job of software engineer, one thing is mandatory - you should know how to “engineer the software”.
If you have scored 76 or more marks in C/C in the first semester of your college, that doesn’t mean that you are good in programming.
Comprehending code: The ability to comprehend code is a skill that is underrated during college time but is a very critical skill in the industry.
Start with C. And then try to take subjects that involve programming seriously (for example OOPs with Java, Shell with Unix).
Try to pick languages from each category (OOPs, system programming, functional, web). For example, if you learn Java, then its easier to learn actionscript as both are very similar.
Should I learn languages in depth?
You don’t have to learn all languages. Pick one, spend a year with it.
Create something useful for yourself using these stacks.
Lots of languages in a college graduate’s resume usually means little depth in each, and depth is directly proportional to efficiency and your confidence in that stack.
After some work experience, for really good developers, technologies do not matter. At least not for recruiters, provided there’s similarity with the stack they are working on.
So the most important element is to get your fundamentals right, and your concepts clear.
Please click NEXT to continue reading...
Image: IT professionals need more than just programming skills to succeed in their careers
Photographs: Paulo Whitaker/Reuters
Aim for a combination of programming and communication skills
Should I focus on learning Android?
When we talked to candidates on and off campus in 2013, every second person was learning Android. As long as you are doing it for fun or to explore mobile programming, it’s fine.
But if you are doing it for a mobile app development job, you are going to compete with a lot of talented freshers and companies assume that if you have worked on Android, at least you are good in Java.
Here’s an analogy: In early 2000s Hrithik Roshan came to the film industry. Then, Shahid and Ranbir. But if you are asked to learn acting, I feel you may prefer Amitabh Bachchan.
Beyond technical, what skills must I focus on?
If you focus on improving communication skills, you create an impression of a candidate who has lots of potential to create value.
Now, this is not necessarily always true. But, it does help.
Read. Listen to tech mp3 podcasts (like javaposse.com or twit.tv). Blog regularly on something that you are passionate about.
Don’t miss any opportunity to give presentations.
Maybe, work in a call centre during college breaks.
Two, prepare for the Common Admission Test and Graduate Aptitude Test in Engineering even if you are not looking for higher studies.
The idea is to be really good with aptitude, English and basics of Computer Science theory.
Image: Mobile application developers need to explore options beyond the Android
Photographs: Stephen Lam/Reuters
Choosing the right organisation
How do placement for software developers work?
Sometimes students are “forced” to sit for first few “bulk recruiters” companies whether they want the job or not.
They hire more than 50 per cent of the crowd. Now, getting the job profile you want in these companies depends a lot on your luck -- Mainframes, QA, SAP, Java mostly enterprise stuff.
They help you to learn two things: one, how to work with large teams and two, solving mundane/critical business problems that sometimes can be boring, and have minimal technical complexity.
You may not get any other offer from the campus in a lot of colleges. And they might give you the joining date at the end of next year and you will have to warm the bench for six months.
After bulk recruiters, training and placement officers invite small companies and start-ups. They don’t hire more than two to three people from the campus, on an average.
They allow people with backlogs and no eligibility around marks. And now, because majority of the decent crowd is already placed, these companies don’t find enough quality and reconsider their decision of going to those campuses again.
And then there are a lot of colleges where only one or two companies visit the campus in a year.
Big or small company -- which is best?
A lot depends on the work and lifestyle you seek.
If you want a nice stable 9 to 5 job and are not necessarily very passionate about coding stuff or technologies around, join a big corporation.
You will be happy working as a member of a technical team. If you are looking to work on some customer facing apps development from scratch, want to get involved in everything from UI/UX to servers from the first day of your job after training, you are more likely to get that opportunity in a small to medium-sized company.
I am not saying that small companies are better than big companies. There are scores of really bad small companies and many awesome big companies.
For example, you can be lucky enough to work on cutting edge technologies and still meet your GF or BF at 6 p.m. for a movie while working at a big corp (but opportunities are very limited).
Or, you might end up making good money in a start-up while working for seven days a week, and still enjoy that life. Usually, first job decisions in India are taken in consideration with parents, dad’s IT friend, mom’s neighbour, cousins and uncles. Therefore, all of this advice is pointless!
Image: If you want a stable 9 to 5 job, join a big corporation
Photographs: Nir Elias/Reuters