General Summary: Develops, creates, and modifies general computer applications software or specialized utility programs. Designs test plans, scenarios, scripts, or procedures. Documents software defects, using a bug tracking system, and report defects to software developers. Identifies, analyzes, and documents problems with program function, output, online screen, or content. Develops testing programs that address areas such as software scenarios, error or bug retests, or usability. Participates in product design reviews to provide input on functional requirements, product designs, schedules, or potential problems. The responsibilities of this role include:
- Working under close supervision.
- Taking responsibility for own work and making decisions with limited impact; Impact of decisions is readily apparent; errors made typically only impact timeline (i.e., require additional time to correct).
- Using verbal and written communication skills to convey basic, routine factual information about day-to-day activities to others who are fully knowledgeable in the subject area.
- Completing most tasks with multiple steps which can be performed in various orders; some planning and prioritization must occur to complete the tasks effectively; mistakes may result in some rework.
- Exercising some creativity to troubleshoot technical problems or deal with novel circumstances.
- Using deductive problem solving to solve moderately complex problems; most problems have defined processes of diagnosis/detection; some limited data analysis may be required. The responsibilities of this role do not include:
- Financial accountability (e.g., does not involve budgeting responsibility).
- Influence over key organizational decisions.
- Role in strategic planning.
Principal Duties & Responsibilities
- Determines which work tasks are most important for self, avoids distractions, and completes work in a timely manner.
- Conducts log analyses to identify where an issue has occurred.
- Implements a basic testing plan by attempting to cause a failure within a determined area of code.
- Seeks out learning opportunities to increase own knowledge and skill.
- Collaborates with others inside project team to accomplish project objectives.
- Actively seeks answers for new challenges.
- Gathers, integrates, and interprets information from a variety of sources in order to troubleshoot issues.
- Escalates technical issues to more senior colleagues.
- Adapts to minor changes and setbacks in order to manage pressure and meet deadlines.
- Communicates with project lead via email and direct conversation to provide status and information about impending obstacles.
- Makes decisions as it pertains to simple coding associated with assigned test development code.
- Identifies and fixes simple bugs within own code.
- Drafts preliminary testing information to assist others in developing comprehensive testing plan.
IT Core Competencies N/A
Required Competencies (All competencies are required upon entry)
- Analytical Skills – The ability to collect information and identify fundamental patterns/trends in simple to moderately complex data. This includes the ability to gather, integrate, and interpret information from several sources.
- Building Trusting Relationships – The ability to build trusting, collaborative relationships and rapport with different types of people and businesses. This includes delivering on commitments and maintaining confidential information, as well as being approachable, showing interest in the other person, and relating well to people regardless of personality or background.
- Communication – The ability to convey information clearly and accurately, as well as choosing the most effective method of delivery (e.g., email, phone, face-to-face). This includes using a technically sound communication style both verbally and in writing.
- Creating the New and Different – The ability to be creative. This includes the ability to produce breakthrough ideas, being a visionary, managing innovation, seeing multiple futures, having broad interests and knowledge, and gaining support in order to translate new ideas into solutions. This also includes the ability to plan and implement unconventional ideas and speculate about alternative futures without all of the data.
- Decision Making – The ability to make quick, accurate decisions. This includes the ability to weigh alternatives and take into account the impact of the decisions on people, equipment, or other resources.
- Getting Organized – The ability to be organized, resourceful, and planful. This includes the ability to leverage multiple resources to get things done and lay out tasks in sufficient detail. This also includes the ability to get things done with fewer resources and in less time, work on multiple tasks at once without losing track, and foresee and plan around obstacles.
- Software Development Life Cycle – Knowledge of the overall process for developing new software. This includes knowledge of the roles and responsibilities of software engineering and other functions, major phases, checkpoints and deliverables. This also includes the ability to identify common issues and considerations for bringing a new product to the marketplace.
- Software Test Engineering – The ability to identify major phases and activities of a software test cycle and to describe types of errors that are addressed by testing components and products. This includes the ability to differentiate validity, verification, performance, reliability, usability, and stress testing and to cite examples of common tests for each of the major phases of software development.
- Technical Documentation – Ability to appropriately document software and/or hardware specifications to promote knowledge transfer to other engineers.
- Technical Troubleshooting – Knowledge of systematic approaches to solving common technical problems (e.g., hardware, software, application, operational). This includes the ability to identify problems and report and escalate problems according to established procedures. This also includes the ability to identify available resources for troubleshooting.
- Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field.
- 1+ years experience with Programming Language such as C, C++, Java, Python, etc.
- 1+ years experience with Software Test or System Test, developing and automating test plans, and tools (e.g., Source Code Control Systems, Continuous Integration Tools, and Bug Tracking Tools).
- Master’s degree in Engineering, Information Systems, Computer Science, or related field.
- Frequently transports between offices, buildings and campuses up to ½ mile.
- Frequently transports and install equipment up to 5 lbs.
- Performs required tasks at various heights (e.g. standing or sitting).
- Monitors and utilizes computers and test equipment for more than 6 hours a day.
- Continuous communication which includes the comprehension of information with colleagues, customers and vendors both in person and remotely.