Software Development Engineer in Test – Swarm

R&D - Bengaluru, Karnataka, India

As a member of the R&D team, the Software Development Engineer in Test is an experienced test engineer who designs, develops, modifies, and evaluates software test plans and test automation frameworks used to test and optimize complex software applications, resolving issues in innovative and practical ways. The role is involved with planning and prioritization of test design and development activities to resolve a wide range of issues. Having gained progressive recognition as a specialist in test automation and design, the role is a key contributor to multiple successful projects.

Duties:

  • Applies expertise related to estimating, designing, developing, and executing test procedures and cases based on requirements relevant to automated test planning and creation for product and system testing; depending on specific requirements, writes effective manual and automated test cases or automated frameworks; performs software defect tracking and regression for identified project release
  • Participates in testing activities across the sub‐disciplines of software and systems engineering, including requirement development, product design, software estimation, software design, software construction (coding), software test, software performance measurement, software product information creation, and performing software maintenance
  • Analyses and understands each project’s environment, architecture, and interdependencies to determine and apply appropriate test methodologies and cases relative to applications being tested
  • Writes effective plans and test cases based on functional, design, and requirements specification
  • Designs, develops, and executes reusable and maintainable automated scripts; plans and executes functional and system level testing of products across all platforms to test various features
  • Applies expertise and understanding of issues that may arise around automated/load testing and assists in researching and providing solutions and to add, modify, or enhance previously recorded automated scripts
  • Uses appropriate quality control tools to uncover defects and discover the state of the code; analyses and records testing results and defects
  • Assists developers in reproducing problems and getting them resolved; participates in design activity with other programmers on technical aspects relating to testing, including functional specifications, design parameters, feature enhancements, and alternative solutions
  • Actively supports and provides guidance on DataCore’s software engineering and test processes, procedures, standards, and customer use cases
  • Establishes and maintains thorough and accurate documentation of all work including status updates to summarizes project highlights
  • Works closely with other engineering team members and departments on technical matters and may interact with vendors or customers on technical information or modifications related to test design, development, and research projects
  • Keeps technically abreast of trends and advancements within the area of specialization, incorporating these improvements where applicable; attends technical conferences as appropriate

Knowledge, Skills, Abilities:

  • Advanced knowledge of working with release procedures, test methodologies, QA process, and software defect tracking; demonstrated ability to apply appropriate test methodologies including writing test plans and test cases
  • Demonstrated ability to incorporate product quality in software requirements for features and system qualities (including performance and security), product design, software design, estimates, source code, test plans, unit test harnesses, software and system performance data, software product information, and bug fixes
  • Strong aptitude as a contributor to moderately complex projects, implementing design and development approach, unit testing, debugging, and integrating code; demonstrated ability to apply appropriate test methodologies including writing test plans and test cases
  • Expertise in one or more object-oriented languages (e.g.,Java, Python), and one or more scripting languages (e.g., Unix shell, PERL, Java script); expertise in OOAD principles and methodologies (e.g., UML), networking, multi‐threaded programming, and OS concepts
  • Knowledge of linux shell scripting (our custom python test framework uses shell script wrappers to run and collate results)
  • Grafana and Prometheus experience a plus.
  • Knowledge of test automation tools and frameworks (TestNG, JUnit, NUnit, Selenium, Protractor, JMeter, LoadRunner, etc.)

Education/Experience:

  • Bachelor’s degree or equivalent in computer science, electrical engineering, or related field is preferred
  • 5+ years of relevant work experience in a testing environment
  • Experience working with Containers will be a strong plus
  • Knowledge of cloud infrastructure (Azure, AWS, Google Cloud Platform)
  • Experience with analytics and big data pipelines
  • Experience with development pipelines (Concourse, TeamCity, Jenkins, etc.)
  • Experience programming with Rest APIs

Apply for this position