Software Development Engineer in Test (SDET)
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.