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
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
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.