As a senior software engineer, you will be working with other engineers, developers, and managers to deliver quality features on and support our test frameworks and automated testing systems to ensure continuous integration and delivery. You'll also mentor and coach other developers in your team participate in code reviews, design reviews and help maintain a culture of quality and ownership within the team.
Some of your day-to-day responsibilities will be:
Maintain and support the automated testing systems in use by the agent endpoint team.
Help design and develop new test frameworks and automated test systems for use across the MDR organization.
Write clear, well-tested code that meets our quality standards.
Review peer-written code to ensure accuracy and quality.
Participate in on-call rotations.
Understand and work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.
Display ownership of complete solutions from requirements-gathering to product delivery.
Interact with other teams to troubleshoot issues, gather requirements and feedback, etc.
Contribute to and provide feedback on architectural design documents and data flow diagrams.
Exercise judgment in selecting methods, evaluating, adapting of complex techniques and evaluation criteria for obtaining results.
We value a culture of sharing, so every team has the opportunity to share their work with the entire department during our regular R&D Demos. Once a year we hold a department-wide Hackathon, teaming up across all R&D teams over four days to collaborate and build cool ideas outside the normal project scope. While innovation is the focus, some of these ideas do make it into our products.
This is a NOT a manual testing role, but comprehension of software testing best practices is a must. We require software engineers who are interested in developing testing tools and infrastructure and will work alongside product developers to help build testability into our MDR product suite as well as ensure quality at every level of the Software Development Life Cycle.
About You
You’re an experienced software engineer who has the ability to perform programming tasks and large engineering projects with independence and expertise. You demonstrate mastery over software development practices, and easily develop reusable design patterns.
You have built test frameworks and evolved test automation strategies. You bring a software engineering approach to testing. You are a champion of quality code.
You have worked closely in a global team of professionals with different cultures and backgrounds to form one unit with a strong sense of purpose. You will learn as you teach, making the whole more than the sum.
Here are some of the core technologies we use and teach on the team. You should have experience in these or similar technologies:
Experience with different CI/CD patterns and tools.
Experience developing software in a high-level programming language. Experience with Python and pytest is preferred.
Experience with containerization, such as Docker and/or Kubernetes.
Experience with virtualization, such as vSphere.
Experience interacting with cloud services, such as AWS.
Understanding of software testing and coding best practices.
Understanding of various OS flavors and architectures across Windows, Linux, and/or Mac.
Experience architecting, designing, developing, maintaining test automation and/or testing frameworks.
Experience with packaging toolchains.
Experience with Git for version control and branching strategies.
Experience creating automations via GitHub Actions, Jenkins, or a similar tool.
Experience utilizing Infrastructure as Code and tools such as Ansible.
Prior experience with an endpoint software is preferred.
You have the ability to perform programming tasks and large engineering projects with Independence and expertise. You will be responsible for guiding and mentoring other staff members and will occasionally lead technical projects. You have a high level of mastery over software development best practices and building reusable design patterns.
You have a history of delivering successful projects, as well as some lessons learned from failures. Even if you haven’t worked with all our specific technologies, you bring a diverse knowledge base that you use to help the team solve complex technical problems. You’ll receive all the security training you need during our onboarding process and through additional training on the job.
Interview Process
The interview process is approximately as follows:
Phone pre-screening: A recruiter contacts you to briefly discuss your work history and provide an overview of Arctic Wolf. Approximately 30 minutes.
Meeting with hiring manager: You will meet with a hiring manager where we will go over your previous experience and scope of the team's charter, etc.
Face-to-face interviews: Several team members conduct one to two interviews to learn more about you and provide more information about your potential role and team. Be prepared to collaborate on a technical problem and talk more about past projects and your career goals. Approximately 1 hour per interview.
Security Requirements
Conducts duties and responsibilities in accordance with AW’s Information Security policies, standards, processes, and controls to protect the confidentiality, integrity, and availability of AW business information assets.
Must pass a criminal background check and an employment verification as a condition of employment.