Software Development Engineer in Test (SDET)

  • -
  • Full-Time
  • Remote

Job Description:

Position Summary

We are seeking a highly skilled Software Development Engineer in Test (SDET) to join our engineering team. The ideal candidate is a software engineer with a passion for quality who can design, develop, and maintain scalable test automation solutions while collaborating closely with software developers, DevOps engineers, product managers, and QA professionals.

The SDET will play a key role in ensuring software quality throughout the Software Development Life Cycle (SDLC) by building robust automation frameworks, developing testing tools, integrating automated testing into CI/CD pipelines, and promoting quality engineering best practices.

Key Responsibilities

Test Automation & Framework Development

→ Design, develop, and maintain scalable, reusable, and maintainable automation frameworks.

→ Develop automated test scripts for Web, Mobile, Desktop, API, and Microservices applications.

→ Create data-driven, keyword-driven, hybrid, and behavior-driven (BDD) automation frameworks.

→ Continuously improve automation coverage and execution efficiency.

Software Development

→ Write clean, maintainable, and production-quality code using modern programming languages.

→ Develop custom testing utilities, libraries, and tools to improve testing productivity.

→ Participate in code reviews and contribute to engineering best practices.

→ Refactor automation code to improve maintainability and scalability.

API & Backend Testing

→ Design and automate RESTful and GraphQL API testing.

→ Validate request/response payloads, authentication, authorization, and business logic.

→ Perform database validations using SQL and NoSQL databases.

→ Develop reusable API testing libraries.

Continuous Integration & DevOps

→ Integrate automated tests into CI/CD pipelines.

→ Configure and maintain automated test execution in Jenkins, Azure DevOps, GitHub Actions, GitLab CI, or similar platforms.

→ Analyze pipeline failures and improve test reliability.

→ Support shift-left testing practices.

Quality Engineering

→ Participate in requirement analysis, design reviews, and sprint planning.

→ Identify quality risks early in the SDLC.

→ Develop comprehensive test strategies and test plans.

→ Improve application testability through collaboration with developers.

→ Drive quality metrics and automation adoption.

Performance & Security Testing

→ Support performance, load, stress, and scalability testing.

→ Assist with security and vulnerability validation where applicable.

→ Identify bottlenecks and recommend improvements.

Test Data & Environment Management

→ Create and maintain reusable test data.

→ Manage automated test environments.

→ Support service virtualization and test environment stability.

Agile Collaboration

→ Participate in Scrum ceremonies.

→ Work closely with Product Owners, Developers, QA Engineers, DevOps Engineers, and Architects.

→ Provide accurate effort estimates for automation tasks.

→ Mentor junior engineers and promote quality engineering practices.

Reporting & Continuous Improvement

→ Monitor automation execution results.

→ Analyze failures and perform root cause analysis.

→ Maintain automation dashboards and quality metrics.

→ Recommend process improvements to increase product quality and delivery speed.

Required Qualifications

→ Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field.

→ 5+ years of experience in software testing and automation.

→ Strong software development experience.

→ Excellent analytical and problem-solving skills.

→ Strong communication and collaboration abilities.

→ Experience working in Agile/Scrum environments.

Technical Skills

Programming Languages

→ Java

→ C#

→ Python

→ JavaScript/TypeScript

→ Kotlin (Preferred)

→ Swift (Preferred)

Test Automation

→ Selenium WebDriver

→ Playwright

→ Cypress

→ Appium

→ Robot Framework

API Testing

→ Rest Assured

→ Postman

→ Karate

→ Newman

→ GraphQL Testing

Unit Testing

→ JUnit

→ TestNG

→ NUnit

→ xUnit

→ PyTest

BDD

→ Cucumber

→ SpecFlow

→ Behave

CI/CD

→ Azure DevOps

→ Jenkins

→ GitHub Actions

→ GitLab CI

Version Control

→ Git

→ GitHub

→ Azure Repos

→ Bitbucket

Databases

→ SQL Server

→ PostgreSQL

→ MySQL

→ Oracle

→ MongoDB

Cloud & Containers

→ Microsoft Azure

→ AWS

→ Google Cloud Platform

→ Docker

→ Kubernetes

Performance Testing

→ JMeter

→ k6

→ Gatling

Test Management

→ Azure DevOps

→ Jira

→ TestRail

→ Zephyr

→ Xray

Preferred Qualifications

→ Experience with distributed systems and microservices.

→ Experience testing cloud-native applications.

→ Knowledge of containerized environments.

→ Familiarity with infrastructure as code.

→ Experience with AI-assisted testing tools and intelligent test automation.

→ Understanding of secure software development practices.

Soft Skills

→ Strong software engineering mindset.

→ Passion for quality and continuous improvement.

→ Excellent debugging and troubleshooting abilities.

→ Strong critical thinking and problem-solving skills.

→ Strong ownership and accountability.

→ Ability to mentor and guide team members.

→ Effective stakeholder communication.

→ Adaptability in fast-paced Agile environments.

Success Metrics

An SDET will be considered successful by:

→ Increasing automation coverage.

→ Reducing regression execution time.

→ Improving CI/CD pipeline reliability.

→ Reducing escaped defects.

→ Improving automation framework maintainability.

→ Enhancing application testability.

→ Reducing flaky tests.

→ Improving release quality and deployment confidence.