Job Description: 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 independently with little supervision.
Making decisions that are moderate in impact; errors may have financial impact or effect on projects, operations, or customer relationships; errors may require involvement beyond immediate work group to correct.
Using verbal and written communication skills to convey complex and/or detailed information to multiple individuals/audiences with differing knowledge levels. May require strong negotiation and influence, communication to large groups or high-level constituents.
Having a moderate amount of influence over key organizational decisions (e.g., is consulted by senior leadership to provide input on key decisions).
Completing tasks that do not have defined steps; simultaneous use of multiple mental abilities is generally required to determine the best approach; mistakes may result in significant rework.
Exercising substantial creativity to innovate new processes, procedures, or work products within guidelines or to achieve established objectives.
Using deductive and inductive problem solving; multiple approaches may be taken/necessary to solve the problem; often information is missing or conflicting; advanced data analysis and interpretation skills are required.
Occasionally participates in strategic planning within own area affecting immediate operations. The responsibilities of this role do not include:
Financial accountability (e.g., does not involve budgeting responsibility).
Principal Duties & Responsibilities
Serves as a technical leader within area of focus.
Serves as a mentor to engineers and senior engineers and teaches them about features, testing, and automation.
Conducts log analyses with team members to identify where an issue has occurred and makes recommendations for how to address the issue.
Communicates with project lead via email and direct conversation to provide status and information about impending obstacles.
Implements a testing plan by attempting to cause a failure within multiple areas of code.
Collects information across team members and identifies fundamental patterns/trends related to systems testing.
Collaborates with others inside and outside of project team to accomplish project objectives.
Manages team project priorities, deadlines, and deliverables for small projects.
Directs and educates smaller team of engineers to detect bugs in testing code and quickly resolve issues using basic debugging approaches; assigns and delegates testing bugs to a junior testing engineer based on his or her individual expertise.
Verifies that proposed solutions to identified issues accurately address and correct the problem.
Reviews functional test and adds additional test cases when necessary to ensure that issues are fully understood and analyzed.
Directs small team of engineers on gathering, integrating, and interpreting information from a variety of sources in order to troubleshoot issues and find solutions.
Participates in verifying that proposed solutions to identified issues accurately address and correct the problem.
Develops, coaches, and mentors experienced and junior members of the team and provides development assignments.
Helps team members to determine which work tasks are most important, avoid distractions, and complete work in a timely manner.
Serves as a technical lead on mid-sized projects and assigns work to a small project team while also completing more advanced aspects of testing to complete a project.
Makes decisions as it pertains to complex coding associated with test development code.
Identifies and promotes a unifying vision throughout the team with associated day-to-day goals and creates a climate in which people want to contribute.
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.
Automation - Knowledge of how automation works. This includes gathering testing requirements, writing a test plan throughout various phases, trying to test plans according to guidelines, and completing these test plans within a set deadline.
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.
Demonstrating Personal Flexibility - The ability to demonstrate resourcefulness and resilience in the face of change, obstacles, and adversity. This includes adapting to competing demands and shifting priorities. This also includes improving adaptability, pursuing new skills and knowledge, and regularly seeking feedback from others.
Embedded Programming - Advanced knowledge of embedded (e.g., Drivers, RF, L1, kernel, firmware) programming and associated programming languages. This includes advanced programming practices, major features and capabilities, and system management tools related to embedded programming. This also includes the ability to address complex embedded programming related issues or questions.
Focusing on the Customer - The ability to effectively identify and address key customer needs. This includes leading others to maintain focus on customers and seeking information to uncover a true client need.
Getting Organized - The ability to be organized, resourceful, and planful. This includes the ability to leverage multiple resources to get things done and Client 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.
Mentoring and Coaching - The ability to develop, coach, and mentor associates. This includes the ability to provide development experiences and network opportunities, advise, and teach to prepare associates for effective job performance.
Results Documentation - The ability to document test results across an entire platform, domain, or department. This includes understanding department-wide test cases to make sure systems are working properly, providing support to a larger team to debug complex errors, and reporting high-level results to senior leaders and stakeholders.
Scripting - Knowledge of scripting languages (e.g., Perl, Python). This includes basic concepts, major features and capabilities, and system management tools related to scripting. This also includes the ability to identify resources for addressing or answering scripting-related issues or questions.
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.
Taking Initiative - The ability to attack work activities with drive and energy, understanding the impact of work on key metrics, and making decisions that are in the company's best interest. This includes not being afraid to initiate action before all the facts are known, and driving value-added work tasks to completion.
Time Management - The ability to quickly prioritize mission-critical from less important or trivial work activities. This includes sensing what the next most useful thing is to work on, and focusing on the critical few tasks that add value while putting aside or delaying the rest.
Troubleshooting - The ability to detect malfunctions in daily operations, including scheduling issues and process problems, and determining root causes and appropriate solutions for operating errors. This also includes the ability to detect malfunctions or the need for repair and adjustment to various types of equipment and implement corrective actions and track their success.
Additional Competencies N/A
Minimum Qualifications
Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
5+ years Software Test Engineering or related work experience.
2+ years experience with Programming Language such as C, C++, Java, Python, etc.
3+ 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).
Preferred Qualifications
8+ years Software Test Engineering or related work experience.
Master's degree in Engineering, Information Systems, Computer Science, or related field.
3+ years experience with Advanced Development Skills (e.g., Database Management Software, API's, Web Development Tools) and Test Frameworks.
Physical Requirements
Frequently transports between offices, buildings, and campuses up to mile.
Frequently transports and installs 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.
Comments for Suppliers: Need to be able to work onsite in the lab atleast 3 times a week.
8-12 years experience •
Last updated on Mar 10, 2021