When hiring programmers, employers look for people with the necessary programming skills who can think logically and pay close attention to detail. The job calls for patience, persistence, and the ability to work on exacting analytical work, especially under pressure. Ingenuity and imagination are also particularly important when programmers design solutions and test their work for potential failures. The ability to work with abstract concepts and do technical analysis is especially important for systems programmers because they work with the software that controls the computer's operation. Since programmers are expected to work in teams and interact directly with users, employers want programmers who are able to communicate with non-technical personnel.
Many employers prefer to hire applicants with previous experience in the field.
Employers are increasingly interested in programmers who can combine areas of technical expertise or who are adaptable and able to learn and incorporate new skills. Therefore, individuals who want to become programmers can enhance their chances of doing so by combining the appropriate formal training with practical work experience. Students should try to gain experience by participating in a college work-study program, or undertaking an internship. Most systems programmers hold a 4-year degree in computer science. Extensive knowledge of a variety of operating systems is essential.