Quality Assurance Lead
The Quality Assurance Lead is responsible for overseeing and delivering the highest quality processes and products internally, and to our customers. The Quality Assurance Lead plays an integral role in creating, stewarding, and maintaining the financial and business quality of our product and the people it serves.
On a day-to-day basis, the Quality Assurance Lead is responsible for planning, developing, and directing quality assurance policies, programs, and initiatives for our test team(s) and the company at large, as well as steering the structure of the team itself. The QAL directs processes and product testing to ensure best practices in our software products and compliance with established quality standards as needed. The Quality Assurance Lead develops, implements, and revises quality standards, testing tools and Quality Assurance methods to keep the company and teams current. Additionally, the QAL will evaluate the performance of the production process from the perspective of quality verification and/or a product’s resulting quality to improve existing methods of operation, as well as written information and product deliverables.
The Quality Assurance Lead requires deep knowledge of the company, airline industry, software development, Internet of Things (IoT) test processes, and quality assurance aspects of the software and technology industry. The Quality Assurance Lead is a contributing member of the management and leadership teams, providing input and addressing strategic decisions affecting functional and financial areas of responsibility related to product quality.
The Quality Assurance Lead must have a proven record of accomplishment in software development and a specialty in quality assurance and software testing. The QA Lead must be capable of resolving escalated issues arising from operations which require coordination with other internal departments and external suppliers and vendors.
- Driving identification, alignment, and coordination of all types of Quality Verification required for the company.
- Act in an advisory capacity to ensure Software Development team’s unit testing adheres to industry best practices.
- Participate in design and communication of quality assurance principles and practices throughout the company.
- Champion software quality assurance methods throughout the organization.
- Design comprehensive test plans through in-depth review of technical solution materials, articulating methodologies used to a variety of audiences.
- Working with Product & Program Management to ensure adequate breadth and depth of testing is accommodated for within project schedules.
- Working with System Engineering and internal subject matter experts (SMEs) to ensure adequate technical and “voice-of-the-customer” test coverage, including documenting potential risks, gaps and/or test coverage mitigation to achieve high confidence in release products.
- Ensure adequate resourcing and alignment across company functions required for coverage of all types of testing and verification (i.e.: Usability, Integration, Performance, Recoverability, etc.)
- Experienced in defining realistic milestones and requirements for handoff between project teams while helping teams succeed against dynamic timelines.
- Day-to-day Quality Assurance team management:
- Ensuring communication between team members.
- Participating in the identification, documentation, and disposition of both planned and unplanned project work for the Quality Assurance team.
- Representing Quality Assurance team in cross-team engagements.
- Actively facilitating design and ideation engagements related to verification of product quality, including the development and/or acquisition of test tools within the organization across practice areas, including specialized aerospace test environments.
- Actively tracking and communicating the approach and success of testing efforts related to the goals of a project or business goal.
- Translating technical design and architecture concepts and documentation into meaningful goals for our team, enabling the right degree of quality verification and validation at every stage of development.
- 10+ years’ experience leading Quality Assurance teams for complex SaaS (Software as a Service) and/or IoT solutions; commercial aviation / aerospace experience a plus.
- Extensive work experience in small businesses, esp. in SaaS and IoT industries.
- Strong familiarity with Quality Assurance best practices, management theory, and business.
- Deep familiarity with broad overview of testing methodologies for Software as a Service and/or IoT architectures, with testing approaches such as: integration, unit, contract, white, black, and gray box, A/B test methods, acceptance testing, mobile application, localization, and hardware integration a plus.
- Strong writing and editing skills and experience with documenting and communicating technical concepts to a variety of target audiences.
- Familiarity with Scrum and Agile process management best practices.
- Experience with test tooling and solutions, including TestRail, Pytest, Postman, Selenium.
- Bachelor’s degree in Computer Engineering/Computer Science or related field, or equivalent experience.
DevOps Engineer Lead
The Lead DevOps Engineer is responsible for overseeing and delivering the highest possible quality of processes and products internally, and to clients. The Lead DevOps Engineer has an integral role in overseeing, creating, stewarding, and maintaining the financial and business quality of the company, the people it serves and the DevOps team. You will be responsible for leading a team of DevOps using DevOps principles, release management and automation best practices.
The candidate will be expected to spend much of their time creating and improving solutions through technologies such as Ansible, Docker, Jenkins, and HashiCorp utilities such as Vagrant, Packer, and Terraform as well as overseeing the building and maintaining both the production environments used by our customers, and our software engineering infrastructure.
- Lead DevOps team providing guidance, priority setting, and skill development.
- As part of the engineering leadership team, engage with leadership team peers to execute company product plan.
- As part of the engineering leadership team, engage with leadership team peers to. continuously improve Agile development process execution.
- Automate and continuously improve our virtualized/cloud-based dev, test, and production
- Own, design and manage release and deployment processes and automation across a variety of products, test benches, and teams.
- Own, design and manage continuous integration and delivery environments.
- Troubleshoot complex build and deployment problems and environment issues.
- Designing IT solutions which consider the strategic and technical requirements as communicated by corporate leadership, product, or architectural team members
- Creation and continued maintenance of IT infrastructure for customer solution environments
- Creation and continued maintenance of development infrastructure for corporate solution. environments
- Participating and overseeing on-call support procedures
- A strong technical foundation in build, release, and infrastructure management (5+ years)
- Strong scripting abilities (Python, shell, etc)
- Proven experience building system infrastructure with infrastructure provisioning tools. (Chef, Puppet, etc)
- Prove experience setting up, deploying, and running virtualization systems (VMWare, Xen, etc)
- Proven experience operating cloud infrastructure management and deployments (EC2, etc)
- Proven experience with continuous integration tools (Jenkins, Hudson, etc)
- Experience with application servers, servlet containers, and web servers (Apache Tomcat, Nginx, etc)
- Experience with or strong interest in containerized deployment preferred (Docker)
- Solid understanding of networking infrastructure and protocols
- Experience managing IT environments using the following technologies: Ansible,
- Chef, Hashicorp Tooling (Vagrant, Packer, Terraform), Docker, AWS, Linux, Windows, OS-X,
- Redis, PostgreSQL, NginX, ElasticSearch, Nagios, Kibana, Prometheus, Jenkins
- Operations team experience preferred
- 4 – 6 years’ experience in IT Operations or similar
- Deep familiarity with IT infrastructure solutions and concepts such as: DNS, email, computer networking, web application hosting, database administration, source control management, software configuration management, CI/CD methods
- Experience with documenting and communicating technical concepts to a variety of target audiences
- Familiarity with Scrum and Agile process management best practices
- Adaptability: Adapts to changes in the work environment; manages competing demands; changes approach or method to best fit the situation; able to deal with frequent change, delays, or unexpected events.
- Analytical Problem Solving: Identifies and resolves problems in a timely manner; gathers and analyzes information skillfully; develops alternative solutions; works well in group problemsolving situations; uses reason even when dealing with emotional topics.
- Initiative: Volunteers readily; undertakes self-development activities; seeks increased responsibilities; takes independent actions and calculated risks; looks for and takes advantage of opportunities; asks for and offers help when needed.
- Must be a U.S. Person (U.S. Citizen or Green Card holder). This qualification cannot be waived.
- Must have bachelor’s degree in Computer Engineering/Computer Science or related field, or equivalent experience.
IT Operations Engineer
Imagine being able to say you were part of the team who transformed commercial aviation! If you share our passion for bringing innovation to aviation, then we would love to speak with you about employment opportunities at APiJET.
As a IT Operations Engineer you will be responsible for overseeing the daily administration of the servers facilitating APiJET development, quality assurance, and production environments. You will work closely with the DevOps Engineering team to design, implement and validate solutions for both client and employee use cases. You will assist in support and troubleshooting of client environments.
Primary Responsibilities and Expectations
- Manage and monitor all installed systems and infrastructure
- Install, configure, test and maintain operating systems, application software and system management tools
- Proactively ensure the highest levels of systems and infrastructure availability
- Monitor and test application performance for potential bottlenecks, identify possible solutions, and work with DevOps to implement those fixes
- Maintain security, backup, and redundancy strategies
- Write and maintain custom scripts to increase system efficiency and lower the human intervention time on any tasks
- Participate in the design of information and operational support systems
- Provide 2nd and 3rd level support
- Liaise with vendors and other IT personnel for problem resolution
- 2-5 years of UNIX/Linux systems administration, especially in high-performance, low-downtime environments
- BS/MS degree in Computer Science, Engineering or a related subject or equivalent experience
- Proven working experience in installing, configuring and troubleshooting UNIX/Linux based environments.
- Experience with supporting systems in a production setting
- Solid experience in the administration and performance tuning of application stacks (e.g.,Tomcat, Python WSGI, NginX, OrientDB)
- Solid experience in the administration and performance tuning of infrastructure technologies (e.g.,OpenLDAP, Bind, Yum, ELK)
- Solid public and private cloud experience (e.g., AWS, VMware ESX, OpenStack)
- Experience with virtualization and containerization (e.g., VMware, Virtual Box, Docker)
- Experience with monitoring systems (e.g., Nagios, AWS CloudWatch)
- Experience with automation software (e.g., Chef, Puppet, Ansible)
- Solid scripting skills (e.g., Python, Ruby, shell scripts)
- Solid networking knowledge (TCP/IP, NATs & Proxies, IPTables/FirewallD, DNS & DHCP, Load Balancing)
Automation Test Engineer
Automation Test Engineer is responsible for developing and executing the process and solutions used to ensure the stability, performance, and precise functionality of products and services developed for APiJET customers.
Practice areas include:
- Test tooling design and implementation – Test tooling development is a collaborative effort between the Quality Assurance and Development teams, based on skillset. However, QA is responsible for providing requirements to ensure the tools can be integrated into testing processes successfully.
- Oversight of test process, planning, and execution – Quality Assurance will collaborate with Program Management and other specialty knowledge teams to define the scope and duration of testing for any deliverables out of a given Plan of Record.
- Collaborating with Quality Assurance Lead to design and implement testing automation to accomplish the goals of a given test plan
- Drafting detailed test cases against the acceptance criteria of a project, and test plan goals as provided by the Quality Assurance Lead
- Documenting and articulating the methods used and progress made on a given automation test.
- Provide debug analysis and troubleshooting.
- Support multiple projects through various test environment.
- 3 – 5 years’ experience in QA Automation Test Engineering or similar
- Familiarity with testing methodologies for Software as a Service architectures, such as: integration testing best practices, unit testing, contract testing, white and black box testing approaches, A/B test methods, acceptance testing, and mobile application testing solutions
- Basic experience with automating test processes through solutions like: Pytest, Postman, Selenium, Pact.IO, ServerSpec, Python
- Experience with QA services and test management solutions like: Testrail, Postman, Browserstack, Docker
- Experience with Manual Testing, Mobile Testing API testing desired
- Bachelor’s degree in Computer Engineering/Computer Science or related field, or equivalent experience.