This paper provides a comprehensive overview of careers in computer programming, with particular emphasis on web development and Web 2.0 technologies. It examines the core abilities, personal characteristics, and job requirements that distinguish successful programmers, alongside salary data from industry surveys. The paper also outlines the professional benefits programmers enjoy, including flexible schedules, continuous learning opportunities, and performance bonuses. A practical section offers aspiring programmers β particularly high school students β a ten-point self-assessment checklist and concrete steps for launching a programming career through self-directed learning and formal education.
Creating entirely new software applications β used for everything from designing new buildings to optimizing airline schedules, defining how entire companies communicate over the Internet, or powering a cell phone, MP3 player, or BlackBerry β represents just a few of the tasks computer programmers create and perfect. This is an ideal field for anyone with a natural interest in problem solving, a facility for mathematics, and a fascination with how the Internet and computers work.
There are many types of computer programmers, including programmer analysts, software developers, Internet or web programmers, and web developers. Of these different careers, web developers with knowledge of Web 2.0 technologies (O'Reilly, 2006) are in the greatest demand. To get an overview of the various Web 2.0 technologies, please see Table 1 in the Appendix. Of all careers in programming, web developers with the specific skills to work on social networking applications β including Facebook, MySpace, LinkedIn, Friendster, Twitter, and many others β are in the greatest demand and earn correspondingly higher salaries (This year's top five jobs, 2007), according to industry experts (Agha, 2008; Blitstein, 2007).
This paper explains the aspects of being a computer programmer, including how to determine whether this career area is a good fit for your skill sets and interests, along with a series of recommendations on how to get started in this field.
The key to succeeding in computer programming is finding the right career within the field β one that perfectly aligns with what you do best. There are so many different careers within computer programming, and the area is growing so rapidly that it has been called one of the top five professions globally (This year's top five jobs, 2007), making it possible to find a role that truly capitalizes on your strengths.
Computer programmers who excel at their work have strong critical thinking skills β they enjoy solving problems and relish the challenge of figuring out how things work. They are also skilled at troubleshooting and have a natural curiosity about complex, difficult logic problems. Many are excellent at mathematics and apply these skills to demanding programming challenges, such as designing an entirely new social networking website, creating web applications that help people stay connected, or developing software capable of tracking space exploration vehicles all the way to Mars, as was done with the Lunar Rover.
The problem-solving, logic, and math skills of software programmers are balanced by a passion for continually learning more about the programming languages in which they build applications. People who are driven to make applications work better while adding new features β and who eagerly learn the programming languages and techniques necessary to do so β excel as computer programmers.
A unique aspect of computer programming is that these professionals often enjoy considerable personal freedom in how they do their jobs (Glass, 2006). At Microsoft, for example, programmers are permitted to work during the hours when they are most productive. It is very common for members of programming teams working on Windows XP, Vista, or Internet Explorer to arrive by 10 a.m. and stay well into the night, while early-rising programmers may come in around 7 a.m. and work until 5 p.m. There is great flexibility in this regard, with many programmers opting to work from home and telecommute via the Internet. This is a career where results β not time spent in an office β count the most. As a result, there is considerable freedom alongside high expectations for output. Programmers thrive on achievement and autonomy, enjoy working independently for extended periods, and tend to respect knowledge over seniority or title alone.
The best computer programmers and web developers have an innate ability to solve problems through deductive reasoning β that is, applying a common set of rules and concepts to a problem or situation. They also have the ability to create entirely new relationships between seemingly unrelated items, whether in software, on the web, or in actual products. As a result, programmers who can order information and create logical relationships between disparate elements often advance rapidly in their careers, as this is a highly valued skill.
What makes programming unique as a career is that excelling at it also requires strong communication skills. Being able to present ideas about how to solve programming problems clearly β both verbally and in writing β is essential for success. All of these abilities sound demanding, yet the best programmers have found a genuine passion for their work, and it is remarkable how much a person can accomplish when they enjoy what they do and are good at it. Given the extensive demand for these skills, many colleges and universities are reorganizing their curricula to concentrate on a balance of the technical and communication-based competencies programmers need to excel (Denning & McGettrick, 2005).
Computer programming is one of the most consistently lucrative fields in technology. According to the 2007 Robert Half Salary Guide (Jefferson, 2007), base annual compensation for new programmers increased 5.1%, reaching a range of $60,250 to $94,740 annually between 2007 and 2008. Web developers, according to a survey by TalentZoo (2007), earn approximately $102,000 per year with several years of experience. Beyond base pay, many companies also offer stock options to programmers and web developers who possess the most in-demand skills β Microsoft, Google, IBM, and Yahoo among them. For top performers, salary bonuses can reach up to 40% of their base salary for completing complex programming projects ahead of schedule and at high quality.
While there are many different careers within computer programming, they largely share a common set of job requirements. Because programmers often manage several projects simultaneously, this career requires the ability to plan, organize, and prioritize competing deadlines. It also requires the ability to analyze data and information, learn new programming tools and languages β including XML (Florescu, Grunhagen, & Kossmann, 2003) and PERL (Dominus, 1998) β and possess a strong knowledge of HTTP protocols including HTML, shell script programming, and the use of code debugging tools.
Knowledge of Borland and Microsoft Visual Basic, an understanding of how the Microsoft .NET architecture works (Engelhardt, 2002), SAP NetWeaver, and the Oracle Fusion application platform are all highly valuable. Employers also expect entry-level programmers to know how to use and program Microsoft Access, Microsoft SQL Server, and Microsoft Office, as well as how ActiveX controls function in web browsers such as Internet Explorer. Additionally, computer programmers need to understand how operating systems work, including all Microsoft Windows operating systems, Linux, and UNIX. The breadth of these requirements makes clear how important it is for anyone considering a programming career to have a genuine passion for continuously learning new techniques and tools.
"Workplace perks, flexibility, and professional growth"
"Self-directed steps and education pathways"
In presenting this information to a live audience of high school students, I would first stress the importance of finding a career that best aligns with their innate skills, interests, and passions. I would then explain that choosing a career based on these criteria is far more rewarding than pursuing money alone as the primary reason for a professional path. I would also introduce them to some of the greatest programmers in history β people like Dave Cutler of Microsoft, who helped invent Windows NT; Linus Torvalds, the developer of the Linux open-source operating system; and Tim Berners-Lee, who invented HTTP and now works at MIT defining the semantic map of the web. Drawing inspiration from these world-famous figures, I would offer students the following ten-point checklist for aspiring "rock star" programmers β meaning those who become exceptionally good at what they do:
You’re 47% through this paper. Sign up to read the remaining 2 sections.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.