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:

Information Technology Specialist I

Information Technology Specialist II

Information Technology Specialist III

Information Technology Specialist IV

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:

Architecture and Engineering Services

Audit and Management Services

Computer Operations

General Administration

SKILLS, KNOWLEDGE, ABILITIES AND TASKS

(Technical and Functional Expertise)

Skills

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.

  1. Analyzing needs and product requirements to create a design.
  2. Using mathematics to solve problems.
  3. Using scientific rules and methods to solve problems.
  4. Writing computer programs for various purposes.
  5. Determining causes of operating errors and deciding what to do about it.
  6. Understanding the implications of new information for both current and future problem solving and decision-making.
  7. Talking to others to convey information effectively.
  8. Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
  9. Understanding written sentences and paragraphs in work related documents.
  10. Considering the relative costs and benefits of potential actions to choose the most appropriate one.

Knowledge

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:

  1. Circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.
  2. Practical application of engineering science and technology. This includes applying principles, techniques, procedures, and equipment to the design and production of various goods and services.
  3. Arithmetic, algebra, geometry, calculus, statistics, and their applications.
  4. Structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.
  5. Business and management principles involved in strategic planning, resource allocation, human resources modeling, leadership technique, production methods, and coordination of people and resources.
  6. Principles and methods for curriculum and training design, teaching and instruction for individuals and groups, and the measurement of training effects.
  7. Design techniques, tools, and principles involved in production of precision technical plans, blueprints, drawings, and models.
  8. Administrative and clerical procedures and systems such as word processing, managing files and records, stenography and transcription, designing forms, and other office procedures and terminology.
  9. Principles and processes for providing customer and personal services. This includes customer needs assessment, meeting quality standards for services, and evaluation of customer satisfaction.
  10. Transmission, broadcasting, switching, control, and operation of telecommunications systems.

Abilities

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:

  1. Read and understand information and ideas presented in writing.
  2. Listen to and understand information and ideas presented through spoken words and sentences.
  3. Combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events).
  4. Communicate information and ideas in speaking so others will understand.
  5. Communicate information and ideas in writing so others will understand.
  6. Choose the right mathematical methods or formulas to solve a problem.
  7. Apply general rules to specific problems to produce answers that make sense.
  8. Speak clearly so others can understand you.
  9. Tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing there is a problem.
  10. Arrange things or actions in a certain order or pattern according to a specific rule or set of rules (e.g., patterns of numbers, letters, words, pictures, and mathematical operations).

Tasks

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

  1. Analyze information to determine, recommend, and plan computer specifications and layouts, and peripheral equipment modifications.
  2. Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  3. Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  4. Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
  5. Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
  6. Determine system performance standards.
  7. Develop and direct software system testing and validation procedures, programming, and documentation.
  8. Modify existing software to correct errors; allow it to adapt to new hardware, or to improve its performance.
  9. Obtain and evaluate information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.
  10. Store, retrieve, and manipulate data for analysis of system capabilities and requirements.

Tasks of Computer Software Engineer, Systems Software

  1. Analyze information to determine, recommend and plan installation of a new system or modification of an existing system.
  2. Confer with data processing and project managers to obtain information on limitations and capabilities for data processing projects.
  3. Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements and resolve customer problems.
  4. Coordinate installation of software system.
  5. Design and develop software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
  6. Develop and direct software system testing and validation procedures.
  7. Direct software programming and development of documentation.
  8. Evaluate factors such as reporting formats required, cost constraints, and need for security restrictions to determine hardware configuration.
  9. Modify existing software to correct errors, to adapt it to new hardware or to upgrade interfaces and improve performance.
  10. Monitor functioning of equipment to ensure system operates in conformance with specifications.

INTERESTED?

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_

COMMONWEALTH COMPETENCIES

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:

  1. Technical and Functional Expertise
  2. Understanding the Business     
  3. Achieving Results
  4. Serving the Customer
  5. Teamwork
  6. Interpersonal and Communication Skills
  7. Leadership and Personal Effectiveness

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

PAY BAND

PRACTITIONER ROLES

 

PAY BAND

MANAGER ROLES

4

Information Technology Specialist I

     

5

Information Technology Specialist II

     

6

Information Technology Specialist III

 

6

Information Technology Manager I

7

Information Technology Specialist IV

 

7

Information Technology Manager II

     

8

Information Technology Manager III

         

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) 

http://online.onetcenter.org/gen_search_page

Virginia Employment Commission 

http://www.alex.vec.state.va.us/

Career One Stop
 http://www.careeronestop.org/

Virginia Career Resource Network
 http://www.vacrn.net/