Software Engineer in Test - REMOTE
SemanticBits is looking for a seasoned Software Engineer in Test with at least 3+ years of experience testing backend, data-oriented applications. You will play a crucial part in improving quality, speed to delivery, and consistency of software and data used to improve patient care across the country. You'll be working with our engineers, product owners, and technical support teams within an Agile development process to assess risk and help define the required process to build quality in for everything that we ship.
We strongly believe that the path to high-quality software is through an engineering-focused process that is supported by test engineering and quality assurance. As a team we have worked hard not to cultivate a "toss it over the wall" mentality of sharing work between engineering and test. Instead, we believe in a collaborative approach to defining the necessary steps to build quality into the engineering and release process.
Our application will be developed using Scala, Spark, Hadoop, and SQL. Data will be in data warehouses, data marts, JSON, CSV, etc. Leveraging modern frameworks to write data-driven tests is required, along with experience integrating automated testing into CI/CD processes.
While SemanticBits is one of the leading companies specializing in the design and development of digital health services, what makes us unique is not what we do, but rather the culture in which we do it. We are an established company with the mindset of a startup. That means that all of our employees contribute equally to our success. There is no hierarchy to navigate, and by taking advantage of a flexible office environment—as well as a remote workforce across the country—we allow our employees to find the working conditions that are best for their individual success.
- Perform exploratory, manual and automated testing activities as required within sprint release cycle.
- Develop and implement test automation systems and frameworks for software testing
- Design robust test plans with a broad system understanding
- Assess risk with engineering deliverables and define testing strategies to mitigate.
- Define and own the test engineering stack and toolset.
- Define and implement testing best practices.
- Triage, diagnose and debug root-cause and drive them to resolution
- Bachelor’s Degree in Computer Science or related field
- At least 3 years of experience testing backend, data-oriented application
- Hands-on experience with different types of testing (Unit, Integration, Data-driven, Exploratory, etc.)
- Knowledge of relational database concepts and excellent SQL skills
- Experienced with the linux command-line
- Experience handling large datasets in CSV and JSON format
- Expertise validating large datasets using automated and manual tests
- Experience testing Scala code running in Spark highly desirable
- Knowledge of professional software engineering best practices for the full software development life cycle, source control, build and release processes, containerization technologies, and competency with test suite development and maintenance
- Experience with one or more continuous integration tools (e.g. Jenkins), version control systems (e.g. Git)
- Working knowledge of agile/iterative practices
- Competency with test case automation frameworks
- Strong critical thinking, attention to detail, and analytical skills
- Strong oral and written communication skills
- Ability to work independently