Computer Software Engineers, Programmers, and Systems Analysts
Computers may seem to be the work of magic to most users, but for those who are interested in the thought, design, and skill that go into creating software and writing code, information technology (IT) can be a very rewarding field. Three broad careers that people may specialize in include software engineers, who design and develop software; computer programmers, who develop the computer language for software; and systems analysts, who help set up and maintain networks for companies. For all three, a bachelor's degree in computer engineering, software engineering, computer science, information systems, or information technology is usually the minimum qualification, with more technical work requiring an advanced degree at the master's or doctoral level. Computer programmers may only need an associate degree or certificate, though you would have limited opportunities for advancement or pay with just that. Depending on the field, a knowledge base beyond computers may be required. Those who work in IT at a bank, for instance, may need a finance background to fully understand the company's needs. And given the constantly evolving nature of technology, people in this field need to stay up-to-date on all the latest technology, making professional development a constant priority.
[Certification] proves to the employer that the professional has the knowledge and understands how to apply best practices in software engineering … regardless if you’re designing software for a game, or designing software that manages a nuclear power plant.
Robert BergquistManager of Certifications and Professional Education for the Institute of Electrical and Electronics Engineers Computer Society
Getting Computer Software Engineers, Programmers, and Systems Analysts Licensure and Certification
Computer systems are unique – it's almost like learning a new language. In order to prove that you "speak" that language and to continue to understand its nuances, there are certifications that computer engineers and programmers can obtain for a number of different operating systems. Knowing more than one system may help an applicant become more competitive and marketable, especially for those who don't have a bachelor's degree. On the other hand, becoming fully proficient in one operating system, coupled with a bachelor's degree, may lead to promotions and greater pay. Certification also helps companies standardize software development practices so that everyone is speaking the same language. Product vendors or software firms may even require professionals who work with their products to be certified, and companies often may offer in-house training for career development.
Companies that produce the software often will have their own certification tracks. Microsoft, for instance, has its own programming certifications for IT professionals, developers, technology trainers, and business workers. Some are part of a tier certification track, beginning with students interested in careers in technology to practicing IT architects, who are experts in the programming field. Each level of a track will consist of multiple certifications in different Microsoft operating systems, which also can be taken on their own outside of a track. Similarly, Cisco offers a range of certification levels for programmers in the networking field. Specifically, Cisco has five levels in eight different tracks, including network security and routing and switching, so you can find the one that best matches your job or industry. In the case of both Microsoft and Cisco, applicants need to have worked a certain number of years in the certification's sector and then have passed one exam or more to earn certification.
IT professionals also can gain certification through professional computing societies. The Institute of Electrical and Electronics Engineers Computer Society (IEEE) offers certification for software engineers as a means to produce an international standard of software engineering knowledge. There are two levels of certification: Certified Software Development Associate (CSDA), which is geared toward recent graduates and entry-level software professionals and Certified Software Development Professional (CSDP), for mid-career software professionals in any specialty looking to advance their careers.
"It proves to the employer that the professional has the knowledge and understands how to apply best practices in software engineering … regardless if you're designing software for a game, or designing software that manages a nuclear power plant," said Robert Bergquist, the IEEE Computer Society's manager of Certifications and Professional Education.
To obtain a CDSA credential, you either need to be a recent software or computer engineer graduate, undergraduate in final year of a bachelor's degree program in software or computer engineering, or have two years of programming experience if you don't have a degree. On the other hand, to obtain the CSDP certification, you need to be a senior member of IEEE or a licensed software engineer. If neither of those apply, then you need to have at least one of these requirements: a bachelor's degree, CSDA certification, be an educator at the post-baccalaureate level, or full member of the IEEE. You also need an advanced degree in software engineering and at least two years of experience in software engineering/development, and/or at least four years experience in software engineering/development.
In addition to IEEE, the Institute for the Certification of Programming Professionals (ICPP) offers multiple certifications for IT professionals, which each have their own requirements for the number of years worked and exams that need to be passed.
As mentioned earlier, a software engineer license is one requirement to obtain CSDP certification. Currently, Texas is the only state to license software engineers, though there is a movement led by the National Society of Professional Engineers to have a standard licensing exam.
Maintaining Computer Software Engineers, Programmers, and Systems Analysts Licensure and Certification
For those who regularly update their computer's software, they know that IT is an ever-evolving field. It is especially important for programmers, engineers, and analysts in the field to stay on top of these changes if they're not developing those changes themselves. Through recertification and continuing education courses, professionals can continue to be fluent in the best practices, systems, and methods out there to stay relevant in their field, as well as advance.
The important thing with certifications is that they are fundamentally short-term and skills-oriented. They’re ‘get-a-job-now’ certification.
Richard LeBlanceChair of Seattle University’s Department of Computer Science and Software Engineering
Thanks to the speed at which the field updates, certifications are obsolete a few years after they are obtained, geared towards imparting certain skills at the moment. "The important thing with certifications is that they are fundamentally short-term and skills-oriented. They're 'get-a-job-now' certification," said Richard LeBlanc, a member of the Association of Computing Machinery's Education Council and professor and chair of Seattle University's Department of Computer Science and Software Engineering. "What the current in-demand skills are can change drastically over a decade, more typically in less time than that."
As a result, certain certifications are no longer available after a certain point. Microsoft, in fact, discontinues a certification when the system is at least two versions old. So, every two years or so, you can expect to upgrade your certification, which can usually be done in fewer exams than if you were acquiring it for the first time. Other certifications may have a set date of expiration. With Cisco, for instance, certifications need to be renewed every two to three years, and can be done by either advancing to the next level of certification, or passing a recertification exam.
Recertification may also require a set number of continuing education credits. To renew certification from ICCP, candidates are awarded recertification credits based on professional development in topics such as methodology and strategic planning, with renewal happening every three years. Renewal of a software engineering license in Texas also requires 15 hours of continuing education that are related to software engineering and includes technical, ethical, or managerial content. To renew a CDPA certification, the holder must actively be learning emerging practices by obtaining a minimum of 30 professional development units, either by attending conferences or taking classes at a campus or online. An emphasis is also placed on being active in the developing community by publishing in journals or publications. The certification needs to be renewed every three years, for as long as the developer is practicing.
"The professional needs to maintain that certification throughout his or her career as proof that they are maintaining their current knowledge of the profession," said Bergquist. Continuing education is also a way to meet the demands of the field. Popular areas for continuing education right now are in cyber security and cloud computing, said Bergquist.
Given the nature of the field, online education is a popular means for professional development. Both Microsoft and Cisco offer online resources to help in preparing for their certification exams. IEEE also provides an online learning network, where people preparing to take their exams for certification can study and take practice tests, and online courses are also available through the American Computing Society. Renewing certification or not, there are many online degrees and tracks available for those looking to advance in their career, such as with degrees at the master's or doctoral levels. With such a constant demand for education to stay current in the field, online education provides a flexible means to continue your education, while still finding time to meet the other demands in your life.