Computer programmers write programming and are responsible for the installation and upkeep of programs. They also may help consumers in trouble shooting problems with software that they have purchased. As the industry changes, these individuals are taking on more responsibilities of software engineers.
According to the United States Bureau on Labor Statistics, job opportunities for computer programmers will have a 21% increase by 2018, with the greatest growth seen in the area of software engineers. Many jobs for computer programmers will decline by three percent. New advances in technology and user friendly software have allowed consumers to write their own programming. Another source of decline is due to outsourcing. Those that stay current on new programming language and technology will have a greater chance of being employed. Other positions will open up as people retire and leave these positions.*
The average salary for a computer programmer is approximately $69,620, with the median salary range starting at $52,640 up to a high of $89,720. Those earning in the lowest ranges were at or below $40,080 per year, with the highest earnings at or above $111,450. Those entering the field with a bachelor’s degree, as stated by the National Association of Colleges and Employers, started out at an annual salary of $61,407.*
*According to the BLS, http://www.bls.gov/oco/
Job Description and Outlook
Computer programmers work, on average, 40 hours a week, with some doing 50 hours a week or more. This can vary with job assignment. It does require sitting in front of a computer for long hours, which can result in eyestrain, back pain and repetitive motion injuries to the hand and wrist. Computer programmers translate, or code, software into a language that a computer can understand. As this becomes more automated, programmers are taking on an increasing role with software engineers. In addition to their regular duties, programmers install new programs, maintain them by modifying or repairing them and may also be called to expand programs are already in place. These tasks may vary with the type of work that a company does and whether or not they specialize in a certain area, such as finance, that uses different software programs.
When working with software engineers, programmers may also get to design some of the unique parts of particular software. Other duties can include debugging programs, helping consumers to troubleshoot software problems and do work on a program that will increase its efficiency during use. Even though this field may show a slight decline over the next decade, programmers can stay competitive by learning a new programming languages and staying current on new trends in technology. This will increase their chances for employment and advancement. Some job openings require that the applicant have a masters degree in order to be eligible. The more experience and training that an individual has, the higher the pay and the greater chance of being hired.*
*According to the BLS, http://www.bls.gov/oco/
Training and Education Requirements
Entry level computer programming jobs require a minimum of a bachelors degree in many cases, but some positions may accept an Associates degree or or certificate from a technical school program. The degree can be in areas such as math, information systems or computer science. Those who want to enter a specialty field add classes in areas such as finance, business or accounting. Having programming skills and having participated in an internship relating to the field can raise and applicant’s chance of being hired. Those working for banks or another business that specializes in a particular area need to have the appropriate knowledge relating to the employer’s needs. New opportunities will also open up as people retire from these positions or change careers.
Having strong analytical skills and problem solving ability are essential for being a successful programmer. Technical analysis is also an area that a programmer needs to be experienced in and be able to work with others effectively. Having good communication skills is important when working with customers and coworkers when troubleshooting problems and/or working on large projects. Individuals in this field can advance into management, being a supervisor or to become an independent consultant.
Computer programmers can receive certification from various avenues to gain knowledge and improve their skills. Software producers and companies commonly offer certification programs based on the products that they sell. Professional organizations for computer programmers also offer different types of certification to their members. These can be extremely beneficial to career advancement in making an applicant more employable. Pursuing advanced degrees, such as a masters, can open up better paying and more advanced job opportunities.
The National Workforce Center for Emerging Technologies provides grant opportunities for programmers, professional development and does research. The National Center for Women and Information Technology works to bring more women into the field. They conduct research, offer a number of publications and advocate for advances in education and training.