CAREER GUIDE FOR COMPUTER SOFTWARE ENGINEER
SOC Codes: 15-1031 and 15-1032
Pay Band(s): 4, 5, 6 and 7 (Salary Structure)
Standard Occupational Description:
Computer Software Engineer, Application: Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team.
Computer Software Engineer, Systems Software: Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Computer Software Engineer positions in the Commonwealth are assigned to the following Roles in the Information Technology Specialist Career Group:
While Computer Software Engineers within the Commonwealth are all located within the Information Technology Specialist Career Group, individuals may want to pursue other opportunities within the Commonwealth depending upon individual training, education, knowledge, skills, abilities, and interests.
Other Career Group(s) that may be of interest are:
SKILLS, KNOWLEDGE, ABILITIES AND TASKS
(Technical and Functional Expertise)
Note:The technical and functional skills listed below are based on general occupational qualifications for Computer Software Engineers commonly recognized by most employers. Typically, you will not be required to have all of the skills listed to be a successful performer. Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.
Note:The technical and functional knowledge statements listed below are based on general occupational qualifications for Computer Software Engineers commonly recognized by most employers. Typically, you will not be required to have all of the knowledge listed to be a successful performer. Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.
The Knowledge of:
Note: The technical and functional abilities listed below are based on general occupational qualifications for Computer Software Engineers commonly recognized by most employers. Typically, you will not be required to have all of the abilities listed to be a successful performer. Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.
The Ability to:
Note: The following is a list of sample tasks typically performed by Computer Software Engineers. Employees in this occupation will not necessarily perform all of the tasks listed.
Tasks of Computer Software Engineer, Applications
Tasks of Computer Software Engineer, Systems Software
Like people, occupations have traits or characteristics. These characteristics give important clues about the nature of the work and work environment, and give you an opportunity to match your own personal interests to a specific occupation. When you choose a job in an occupation that matches your own interests you have taken an important step in planning a successful and rewarding career.
The Computer Software Engineer occupation has Realistic, Investigative and Conventional characteristics as described below:
Realistic — Realistic occupations frequently involve work activities that include practical, hands-on problems and solutions. They often deal with plants, animals, and real-world materials like wood, tools, and machinery. Many of the occupations require working outside, and do not involve a lot of paperwork or working closely with others.
Investigative — Investigative occupations frequently involve working with ideas, and require an extensive amount of thinking. These occupations can involve searching for facts and figuring out problems mentally.
Conventional — Conventional occupations frequently involve following set procedures and routines. These occupations can include working with data and details more than with ideas. Usually there is a clear line of authority to follow.
LICENSURE, REGISTRATION, OR CERTIFICATION REQUIREMENTS
Generally this is not required for Computer Software Engineer positions in state government.
The Institute of Electrical and Electronics Engineers (IEEE) Computer Society now offers Professional certification: http://www.computer.org. To be classified as a Certified Software Development Professional, individuals need a bachelor's degree and work experience that demonstrates that they have mastered a relevant body of knowledge, and must pass a written exam.
Certification may enhance professional growth and career progression.
EDUCATIONAL, TRAINING, AND LEARNING OPPORTUNITIES
The Department of Labor provides the following information:
The explosive impact of computers and information technology on our everyday lives has generated a need to design and develop new computer software systems and to incorporate new technologies in a rapidly growing range of applications. The tasks performed by workers known as computer software engineers evolve quickly, reflecting new areas of specialization or changes in technology, as well as the preferences and practices of employers. Computer software engineers apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and systems that enable computers to perform their many applications.
Computer applications software engineers analyze users' needs and design, construct, and maintain general computer applications software or specialized utility programs. These workers use different programming languages, depending on the purpose of the program. The programming languages most often used are C, C++, and Java, with Fortran and COBOL used less commonly. Some software engineers develop both packaged systems and systems software or create customized applications.
Computer systems software engineers coordinate the construction and maintenance of a company's computer systems and plan their future growth. Working with a company, they coordinate each department's computer needs—ordering, inventory, billing, and payroll recordkeeping, for example—and make suggestions about its technical direction. They also might set up the company's intranets—networks that link computers within the organization and ease communication among the various departments.
Most employers prefer to hire persons who have at least a bachelor's degree and broad knowledge of, and experience with, a variety of computer systems and technologies. Usual degree concentrations for applications software engineers are computer science or software engineering; for systems software engineers, usual concentrations are computer science or computer information systems. Graduate degrees are preferred for some of the more complex jobs.
Academic programs in software engineering emphasize software and may be offered as a degree option or in conjunction with computer science degrees. Increasing emphasis on computer security suggests that software engineers with advanced degrees that include mathematics and systems design will be sought after by software developers, government agencies, and consulting firms specializing in information assurance and security.
As technological advances in the computer field continue, employers demand new skills. Computer software engineers must continually strive to acquire such skills if they wish to remain in this extremely dynamic field. To help them keep up with the changing technology, continuing education and professional development seminars are offered by employers and software vendors, colleges and universities, private training institutions, and professional computing societies.
The State Council of Higher Education lists many Virginia educational institutions offering programs in computer science on their web site: http://research.schev.edu/degreeinventory/inventory_
Competencies are a set of identified behaviors, knowledge, skills, and abilities that directly and positively impact the success of employees and the organization. Competencies can be observed and measured. When consistently demonstrated, competencies make employees particularly effective in their work. Competencies help lay out a road map to career success. You can use the Commonwealth Competencies to help improve your individual performance by adopting behaviors that make high performing employees successful in their jobs. In this way, you can use the Commonwealth Competencies for your further professional development.
The Commonwealth Competencies are:
The above competencies may be applied to employees throughout the Commonwealth of Virginia. They can be rank-ordered by agencies and hiring managers to represent the needs of a specific job. The rank ordering will change depending upon the occupation, an organization's priorities, the actual job requirements, and the supervisor's preferences.
Career success is both about what you do (applying your technical knowledge, skills, and ability) and how you do it (the consistent behaviors you demonstrate and choose to use) while interacting and communicating with others. Hopefully, by studying the Commonwealth competencies, identifying your developmental opportunities, and working to refine your own competence, you can take charge of your career!
For additional information about the Commonwealth Competencies go to: http://jobs.state.va.us/cc_planningctr.htm .For the competencies, we first list the competencies and then define each. Finally, we list competency indicators; to describe what successful performance looks like.
COMMONWEALTH CAREER PATH
Career opportunities in the Commonwealth are not limited to moving “up” to the next highest role and pay band, changing positions, or to becoming a supervisor. That's because most roles describe a broad group of occupationally related positions that perform a range of work that requires increased knowledge and skills. For that reason, Commonwealth roles describe the career paths within the same or higher-level role for the same or different Career Group. The broad salary range and the Commonwealth's pay practices provide flexibility in recognizing career development and advancement. (Salary Structure)
For example: Computer Software Engineer
Sample Career Path
Information Technology Specialist I
This role provides a career track for entry-level computer software engineers applying basic skills in the areas of Applications/Programming, Systems Engineering, Network Analysis, IT Analysis and Equipment and Applications Specialty. Requires knowledge or equivalent experience in the field.
Information Technology Specialist II
This role provides a career track for computer software engineers at the analyst and senior level in software systems engineering. Requires knowledge and substantial to extensive experience in systems engineering.
Information Technology Specialist III
This role provides career tracks for computer software engineers performing as consultant or leader in the areas of Applications and Systems Engineering. The first track is as a technical consultant. The second track has Lead level responsibilities for instructing, directing, and monitoring the work of staff. These tracks can lead to supervisory responsibilities. Requires knowledge and extensive experience in software engineering.
Information Technology Specialist IV
This role provides a career track for computer software engineers that range from the highest level technical expert in a specialized area such as systems engineering, applications analysis, network analysis, and operating systems analysis, to supervisory level positions in systems engineering. Supervisory positions coordinate all activities of unit with multiple projects to meet project deadlines and budgets. They require knowledge and leadership experience in the functional area. Technical experts require comprehensive knowledge and extensive specialized experience.
Information Technology Manager I
This role provides a career track for managers in the equipment and applications specialty. They require knowledge and considerable leadership experience in computer programming.
Information Technology Manager II
This role provides a career track for managers in the field of Information Technology who has program direction with several units or sections. Directs, through subordinate supervisors, all program, operations, and staff in assigned area. Requires knowledge and substantial leadership experience in computer programming.
Information Technology Manager III
This role provides a career track for executive director level positions in the field of Information Technology providing services to multiple state agencies in a multi-technology environment. Requires knowledge and extensive leadership experience in the functional area.
ADDITIONAL OCCUPATIONAL INFORMATION CAN BE FOUND AT:
O*NET (Occupational Information Network)
Career One Stop
Virginia Career Resource Network