Software Development Engineer in Test (SDET)
Job Description: Software Development Engineer in Test (SDET)
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.
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.
Skills
- Agile
- AI
- API
- Appium
- Authentication
- Automation
- AWS
- Azure
- Azure DevOps
- BDD
- Bitbucket
- CI/CD
- Cloud
- Cloud Native
- C#
- Cucumber
- Cypress
- DevOps
- Distributed Systems
- Docker
- Gatling
- GCP
- Git
- GitHub
- GitHub Actions
- GitLab
- GraphQL
- Infrastructure as Code
- Java
- JavaScript
- Jenkins
- Jira
- JMeter
- JUnit
- k6
- Kotlin
- Kubernetes
- Microservices
- MongoDB
- MySQL
- NoSQL
- Oracle
- Playwright
- PostgreSQL
- Postman
- pytest
- Python
- REST
- Robot Framework
- Scrum
- SDLC
- Selenium
- SQL
- SQL Server
- Swift
- Test Automation
- TestNG
- Testrail
- TypeScript
- Unit Testing
- Version Control
- Virtualization