How to Get a Job as a Computer Programmer
In Warsaw's opinion, being able to learn and collaborate are two underestimated, yet critical, skills for a computer programmer to possess. "Learning is crucial to a long career as a programmer because technology changes so quickly. The hot language you are an expert in today may end up being a programming backwater tomorrow," he says. Warsaw, who works with people from all over the world on a daily basis, emphasizes that the ability to clearly communicate ideas and listen to the ideas of others is fundamental to building a successful career. "I think the myth of the lone programmer locked in a dark cubicle is mostly just that – a myth," he says.
Interview Questions Submitted by Real Computer Programmers
"Given a series of numbers, how would you determine if there was a duplicate one in the list?" - a2z, Inc. Computer Programmer Candidate (Location Unknown)
"Write a C function to encode a string using RLE encoding." - Oyster Travel Corp Computer Programmer Candidate (New York, NY)
"Do you have all the skills listed in the job posting?" - CDI Computer Programmer Candidate (Location Unknown)
|Upward Mobility||good Above Average|
|Stress Level||poor Above Average|
What is the Job Like?
"Because most of my work is with free software and open source, I am constantly receiving and sending emails, usually of a highly technical nature," says Warsaw, who can always be found on social forums like online chat system IRC, Twitter, Facebook, and mailing lists. "I roughly split my time between interacting with other people all over the world in these and other forums, and in focused concentration on a specific programming or debugging task."
If you work in a traditional office environment, you may not always be able to set aside uninterrupted chunks of time. "Interruptions are the killer for such deeply mental work as programming because it can take 45 minutes to an hour to build up your context some times," says Warsaw. "A five-minute interruption can cause you to lose hours worth of work because of that. So you really need to cultivate techniques and processes for letting other people know when you cannot be interrupted."
Last updated by Nathan Hellman.