Software Engineer - Senior
Summary:
Analyzes user interfaces, maintain hardware and software performance tuning, analyze workload and computer usage, maintain interfaces with outside systems, analyze downtimes, analyze proposed system modifications, upgrades and new COTS. Defines the problem, and develops system requirements and program specifications, from which programmers prepare detailed flow charts, programs, and tests.
Coordinates closely with programmers to ensure proper implementation of program and system specifications. Develops, in conjunction with functional users, system alternative solutions.
Duties, Tasks, and Responsibilities
- Advise customer about, or perform, maintenance of software system.
- Analyze information to determine, recommend, and plan computer specifications and layouts, and peripheral equipment modifications.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Confer with data processing and project managers to obtain information on limitations and capabilities for data processing projects.
- Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Consult with customers about software system design and maintenance.
- Consult with customers or other departments on project status, proposals and technical issues such as software system design and maintenance.
- Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements and resolve customer problems.
- Coordinate installation of software system.
- Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Develop and direct software system testing and validation procedures, programming, and documentation.
- Develop and direct software system testing and validation procedures. Estimate software development costs and schedule.
- Evaluate factors such as reporting formats required, cost constraints, and need for security restrictions to determine hardware configuration.
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Monitor functioning of equipment to ensure system operates in conformance with specifications.
- Obtain and evaluate information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.
- Prepare reports and correspondence concerning project specifications, activities and status.
- Review existing programs and assist in making refinements, reducing operating time, and improve current techniques.
- Specify power supply requirements and configuration.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
- Train users to use new or modified equipment.
- Utilize microcontrollers to develop control signals, implement control algorithms and measure process variables such as temperatures, pressures and positions.
Knowledge, Skills, and Abilities
- Active Learning — Understanding the implications of new information for both current and future problem-solving and decision-making.
- Complex Problem Solving — Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
- Computers and Electronics — Knowledge of circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.
- Critical Thinking — Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
- Deductive Reasoning — The ability to apply general rules to specific problems to produce answers that make sense.
- Design — Knowledge of design techniques, tools, and principles involved in production of precision technical plans, blueprints, drawings, and models.
- Engineering and Technology — Knowledge of the 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.
- English Language — Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.
- Inductive Reasoning — The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events).
- Information Ordering — The ability to 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, mathematical operations).
- Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one.
- Mathematics — Knowledge of arithmetic, algebra, geometry, calculus, statistics, and their applications. Near Vision — The ability to see details at close range (within a few feet of the observer).
- Operations Analysis — Analyzing needs and product requirements to create a design.
- Oral Comprehension — The ability to listen to and understand information and ideas presented through spoken words and sentences.
- Oral Expression — The ability to communicate information and ideas in speaking so others will understand.
- Problem Sensitivity — The ability to tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing there is a problem.
- Programming — Writing computer programs for various purposes.
- Reading Comprehension — Understanding written sentences and paragraphs in work related documents.
- Speech Clarity — The ability to speak clearly so others can understand you.
- Speech Recognition — The ability to identify and understand the speech of another person.
- Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.
- Technology Design — Generating or adapting equipment and technology to serve user needs.
- Telecommunications — Knowledge of transmission, broadcasting, switching, control, and operation of telecommunications systems.
- Troubleshooting — Determining causes of operating errors and deciding what to do about it.
- Written Comprehension — The ability to read and understand information and ideas presented in writing.
Minimum Education
General equivalency guidelines for education, certifications, and experience are provided below; however, these guidelines do not immediately qualify someone at a particular level. Skill levels for an individual are based upon a combination of education, training, and experience, e.g. someone may have 20 years of professional experience; however they may only be qualified as Full Performance based upon the expertise needed to perform the work within that category.
• General professional years of experience may be substituted for specialized years of experience at a ratio of three (3) years of general experience within an occupation for one (1) year of specialized experience.
• Relevant certifications will be considered equivalent to three (3) months of specialized experience.
• An Associate’s degree in Computer Science, Information Systems, Engineering, Business, or a scientific or technical discipline related to the specific skill will be considered equivalent to eighteen (18) months specialized experience.
• A Bachelor’s degree in Computer Science, Information Systems, Engineering, Business, or a scientific or technical discipline related to the specific skill will be considered equivalent to three (3) years specialized experience (total equivalency is not cumulative when combined with an Associate’s degree).
• A Master’s degree in Computer Science, Information Systems, Engineering, Business, or a scientific or technical discipline related to the specific skill will be considered equivalent to two (2) years specialized experience (up to a total of five (5) years when combined with a Bachelor’s).
• A Doctorate in Computer Science, Information Systems, Engineering, Business, or a scientific or technical discipline related to the specific skill will be considered equivalent to two (2) years specialized experience (up to a total of seven (7) years when combined with a Master’s and a Bachelor’s).
Minimum Experience
Senior:
• A senior level practitioner.
• Someone that has extensive experience or training related to a particular skill, language, system, or technology and is capable of not only delivering a capability tied to that skill, but passing their knowledge on to others.
• Requires a minimum of six (6) years of experience specific to the skill.
• Ability, training and actual work experience with the specific computer language, systems, and/or technology is significantly more important than the number of years of experience. This is especially true with emerging technologies.