Learn the essential skills of successful programmers

The fast-paced world of computer programming is no place for slow learners. Success in programming depends not only on the current level of your technical skills but on your motivation and ability to learn quickly, experts say.

Steve Reppucci, an independent software developer at Logical Choice Software in Andover, Mass., said that when he hires programmers he looks not at their educational background but at their aptitude for learning quickly and their interest in programming.

Learning in the real world will teach you what you never learned in school, said Tim Singleton, software engineer at Liberty Mutual Group in Portsmouth, N.H.

“The most important skill is to keep learning as you work and to ask questions,” Singleton said.

Because of the pace of the industry, managers often cannot tell their hires what they will be doing in six months, said Nathan Root, a webmaster at GTE Internetworking in Cambridge, Mass.

“You have to pick up what they throw at you. Pick up a book and teach yourself how to program in a week. That’s how I’ve taught myself Java, Perl and other languages that I’ve used in the past three or four years,” Root said.

Learning also means that sometimes you will have to work as an apprentice, Reppucci said.

“I’ve learned most when I’ve had somebody to learn from,” Reppucci said. “I watch to see what makes them successful.”

But if working with a senior colleague is important, so is teamwork.

“If you stay locked in your office and are not contributing to any team, no organization has any use for you,” said Andrew Wharton, senior software engineer at Iris Associates in Westford, Mass. “When your bugs are out of the queue and the guy next to you is floundering, a [good] team member asks, ‘How can I help you?'”

Rob Mauceri, a software design engineer at Microsoft in Redmond, Wash., agrees.

“My first instinct was to say problem-solving [is the most important skill], but communication is more important,” Mauceri said. “Programming is a team task. What differentiates a good programmer from a great programmer is one who communicates well.”

Mohan is a freelance writer in Los Altos, Calif.