The 1979-born Ruchir Goyal was a student of Class III then. Television footage of ISRO scientists celebrating — in front of their computers — the launch of a new satellite, left an indelible imprint on the young mind. And if you thought it was space research that fascinated him you are wrong. The computers that the scientists were gazing at caught his fancy. “I will be in the world of computers when I grow up,” was the decision he took then. As luck would have it, Goyal was introduced to computer studies at school soon enough — and he found he loved it.
Today he is an IT project manager working at CMC Ltd., an end-to-end IT solutions provider. Computer programming forms the core of his work life. “I am into solution designing, implementing and managing a software project,” says Goyal. He uses multiple programming languages, including .net and databases that include
Oracle, SQL Server, etc. And having around 10 years of work experience, Goyal earns around Rs 90,000 a month.
“Computer programming is all about developing a code, which is nothing but a sequence of logical steps written in syntax, and understood by one of the languages used by computers. This code when executed should perform an activity, which helps a function of a business work effectively,” says Goyal.
In short, a computer programmer or a coder, is someone who writes computer software. The term programmer can be used to refer to a software developer, software engineer, computer scientist or software analyst. “Job titles and descriptions vary depending on the work one is doing ,” says Sanjeev Nagpal, group leader and senior project manager, CMC Ltd. Programmers are often referred to by the language they know, such as Java programmers, or by their environment, such as mainframe or database programmers.
And they could be working in different organisations such as manufacturing companies, data processing service firms, hardware and software companies, banks, insurance companies, credit card companies, government agencies, universitities, etc. “Many computer programmers are employed by businesses as consultants,” says Nagpal.
Given the spread and importance of the IT industry worldwide and the kind of IT-related spending across the government and private sectors in India, there is a great demand for good computer programmers in the country. And the gap between the demand for and supply of able professionals is significant. “I believe there is a large gap in terms of availability of skilled programmers,” says Naveen Sanghi, northern region software integration head, CMC Ltd. “Given the current market trends, the demand is expected to increase further.”
What's it about?
Preparation and writing of detailed sets of instructions for computers is called computer programming. Computer specialists, called programmers, write most of these instructions, usually referred to as ‘programmes’. To write these programmes, these experts use programming languages, which generally consist of words, individual letters, numerals, and other symbols, as also rules for combining these elements. Preparing a programme begins with a complete description of the task that the computer has to perform. This description explains what data has to be input, what computing must be done, and what form the output should take. The language a programmer uses depends largely on the job to be done. For example, if a job involves processing business data, the programmer will use COBOL. If the job involves solving of complicated scientific problem, Fortran, a mathematically-oriented language, might be used. Commonly used languages include BASIC, Pascal, C, C++ and JAVA. New languages are constantly being developed
9 am: Reach office, check e-mails, plan for the day
10 am: Check the scheduled jobs running on the server. Troubleshoot for any failures
11 am: Contact system software vendors if the failures are due to system software and work out resolutions. Take steps to optimise jobs which are slow
12 noon: Analyse changes requested by the client and do impact analysis
1 pm: Break for lunch
2 pm: Meet with the team to discuss the changes/new assignments and allocate the work among the team members
3 pm: Work on the tasks assigned, which include research / development / client interactions
5 pm: Review the project activities and ensure everything is going as per plan
6 pm: Complete pending activities for the day. Fill the timesheet
7 pm: Go home
Entry level: Rs 2.5 lakh to 3.5 lakh a year. You can go on to earn in the range of Rs 5 lakh to Rs 8 lakh a year after working for four to six years
Middle level: Rs 8 lakh to Rs 20 lakh a year
Senior level: Rs 15 lakh to Rs 50 lakh a year
. Thorough understanding of the basics of software engineering and associated areas
. Ability to think logically
. Strong communication skills
. Ability to work in teams
. Good problem-solving skills
. A programmer also needs patience, persistence and the capability to perform analytical work
How do i get there?
You have to study physics, chemistry, math at the plus-two level and sit for the various engineering entrance examinations.
Then you do your BE/BTech. Also, provided you are a science graduate, you can do MCA or MSc (computer science).
Apart from this, postgraduates and engineering graduates from streams other than computer science can do computer courses from private institutions such as NIIT, Aptech, CMC, etc to become computer programmers
Institutes & urls
. B.Tech. from IITs;
. B.E. from Delhi Technological University; www.dce.edu / Netaji Subhash Institute of Technology, New Delhi. www.nsit.ac.in
. MCA from University of Delhi;
. MCA from University of Pune;
. B.E. / MCA from Regional Engineering Colleges (RECs)
Pros & Cons
Computer programmers work in clean, comfortable surroundings
The challenge the job offers is worth taking up
The money is good
Often you have to work for long hours to meet deadlines
If you are working on international projects you may have to work at odd hours because of the time difference
It’s a desk job and requires you to stare at the computer screen all day. Not good for your eyes and your fitness levels
Update your skills, constantly
A senior computer programmer talks about the evolution of and challenges in the profession
Please trace the evolution of the scope of study of computer programming in India?
Earlier computers were used almost exclusively by scientists, and the first high-level language, Fortran (Formula translation), was developed in the 1950s for scientific and engineering applications. COBOL (Common Business-Oriented Language), the first language intended for commercial applications, is still widely used. BASIC (Beginner’s All-purpose Symbolic Instruction Code) was developed as a teaching tool for undergraduates (1966); it subsequently became the primary language of the personal computer revolution. Dennis Ritchie of Bell Laboratories produced a language that he called C; along came its extensions, called C++, developed by Bjarne Stroustrup of Bell Laboratories. It has, perhaps, become the most widely used general-purpose language among professional programmers because of its ability to deal with the rigors of object-oriented programming. Java is an object-oriented language similar to C++ but simplified to eliminate features that are prone to programming errors. Java was developed specifically as a network-oriented language, for writing programmes that can be safely downloaded through the Internet and immediately run without fear of computer viruses. World Wide Web pages can be used using small Java programmes called applets to include a full range of multimedia functions.
As technology evolves and newer, more sophisticated tools emerge, programmers will need to update their skills in order to remain competitive. Now programming is done with either Microsoft .Net Technologies which involves VC++, Asp.net, C#, VB.net or Java / J2EE technologies involving core Java, JSPs, Servlets and frameworks like struts, hibernates, iBatis, etc. Various tools for rapid application development are also available where a user can develop /automate a process from scratch or customise existing features of the system. Some of those tools are ERP solutions from Oracle, SAP, IFS, IBM, etc
What are the challenges faced by programmers today?
With lots of programming languages and rapid application development tools in the industry, programmers are confused about which one they should choose to start with.
What have been the landmark developments in the field that have changed the world for good? How has industry benefited from those?
With latest trends like web-based and rich graphics user interface-based application requirements, the industry has come up with rapid application development tools like Visual Studios, Eclipse and ERP-based solution from Oracle, IBM, Microsoft, SAP, IFS etc. Using these tools the application development and testing timeframe has been drastically reduced and they also help in fast delivery of applications.
Who are the leading employers — in India and globally?
Leading Employers include TCS, IBM, Wipro, Infosys, HCL, Adobe, Oracle, Microsoft, CSC, Steria, Accenture, Fidelity, Fujitsu, Kronos, Perot Systems and many more.
Interviewed by Pranab Ghosh