Developer in Test
As a Developer in Test you will bring hands-on contributions to the FinanceIt/Centah product teams with the use of automation, software engineering, and up to date test practices. This is a key role for our Agile team concentrating on Security testing.
You will provide Software Quality support to our product team by automating the build-test-deploy lifecycle for a wide variety of services. You will also roll up your sleeves and do manual testing when needed.
You are comfortable coding in modern Object Oriented languages such as one of the following languages: Java, Python, Ruby, etc. You are not only a good coder but you know how to design with testability in mind, you have written and tested your own software in the past. You don’t test quality into the product, you build quality into the product.
We are an agile organization; our teams regularly use pairing techniques, giving you exposure to the full code base. You will work as part of an agile team that brings together Developers, DevOps, QA, and Product Management.
If you are creative, customer focused, have a passion for automation, and would like to try new technologies then the Financeit team is right for you!
What you’ll do:
– Coding new and maintaining existing automated tests in Ruby and other test tools.
– Assist with manual testing when needed
– Ensure test scenarios are considered during backlog refinement and sprint planning
– Focus test scenarios from customer perspective both positive/negative, intention rather than implementation
– Pair with development team members to implement tests at all levels
– Live by and mentor your peers on QA best practices
– Work with business and other stakeholders to get input on test scenarios
– Participate in implementation of CI/CD pipelines for new products
– Monitor CI/CD pipelines, quality of builds, and analyze test failures
– Reduce redundancy in test automation
– Perform manual exploratory testing to identify potential additions to automation tests
– Report defects as they arise to product team through JIRA
– Provide support to our operational teams for systems in production
– Develop and maintain integration, end-to-end and regression test suites
– Perform testing that includes the identification, verification and exploitation of vulnerabilities as well as subsequent privilege escalation (post exploitation) in order to assess the risk arising from the vulnerabilities.
– Identify, and report vulnerabilities that cannot be identified by scanners or tools.
– Review and identify false positives generated.
– Contribute to the review of internal processes, services and tools and assist in identifying, aligning, and implementing improvements. Mentor less experienced staff.
– Stay up to date on the latest exploits and security trends.
Roles, responsibilities and duties may evolve and change over time.
– Ability to write quality code in at least one OOP language like Ruby, Java, C# .
– Computer Science fundamentals in OO design, data structure and algorithm.
– Able to work with the relevant security testing tools like Wireshark, Nessus, Burp Suite and Metasploit
– Practical knowledge of the OWASP Testing Guide
– Exposure to working with development tools supporting Continuous Deployment: GIT, Jenkins, Kubernetes, etc.
– Your GIT experience extends beyond ‘push/pull’; you should be comfortable troubleshooting and handling conflicts.
– You feel at home on the Linux command line. Though you will not focus your efforts on bash scripting none of the following should make you uncomfortable: ‘vi’, ‘awk’, ‘sed’
– Demonstrable experience creating and designing tests using REST APIs
– Familiarity and understanding of Agile SDLC
– Complete comfort working with Atlassian toolset
– You are comfortable with a variety of test automation frameworks RSpec, Cucumber, pytest, junit, Puppeteer, etc.
– Please include your open source contributions on github.com, we would love to take a peek. Be sure to include your StackOverflow id, too!
You are made for this if you:
– Have experience testing processes and applications that deal with complex algorithms
– Strong analytical and problem-solving skills
– Positive, can-do attitude
– Creative thinking and natural curiosity
– The successful candidate should be energetic and enthusiastic and able to work with flexibility in a highly dynamic environment with stakeholders from variety of teams