At Tapad, we look for individuals who see complex and difficult work as a challenge. We want to work with people who share interesting solutions to those challenges; solutions informed by their unique experiences, passions, and expertise.

We are currently looking for a Senior Software Engineer in Test to bring their individual approach to our collaborative process. We need a person who can, on any given day, code on their own, and deliver milestones on major projects, and work with others in and outside of their team. We believe our engineers have an obligation to dissent and discuss. A successful Tapad engineer understands that their ideas hold weight, and they contribute freely and regularly.

We are building new applications using our custom and cutting edge software stack. We strongly believe in shipping well built, well tested, and highly-resilient software using reusable components. We stay on top of best practices especially when it comes to applying proper testing methodology for our software. We have no wall between designers, developers and product owners – every feature is expected to be a collaboration and ensure that the best ideas are implemented.

When you work with us, you matter. We ask our employees to make an impact, and feel it is only right to give a lot in return. We offer every employee a 401k with matching, generous parental leave, and unlimited PTO. We believe if you’re sick, feel like you’re getting sick, or just need a personal day, you should take that time to get better. We have free lunch every Wednesday, free bagels every Friday, and a free and open hierarchy every day. We hire slow and smart, making sure our office is full of individuals who can teach and learn from one another.

Technologies We Use:

  • Languages: Scala, Javascript, Python
  • CI/CD: Jenkins
  • Infrastructure: Google Cloud, BigQuery, Kubernetes, Docker, DataProc, DataFlow, PubSub, Airflow, Prometheus, Graphite
  • Testing: Unit, Regression, Functional, Integration, End-to-End
  • Testing Tools: ScalaTest, Mockito, ScalaCheck, Mocha, Karma, Jasmine, Nose

Responsibilities

  • Help create facilities to test outside of production
  • Help create facilities to automate testing
  • Own the end-to-end product testing cycle from initial prototyping to production release
  • Define and advocate for Engineering best practices around Unit, Integration, and Functional testing
  • Implement proper testing methodology and process for successful releases
  • Serve as subject matter expert on test tooling
  • Establish benchmarks, methodologies and targets for performance testing
  • Test Tapad’s software, and ensure it performs up to standards. Help test against specifications and prevent regressions

Qualifications

  • 5+ years of experience as a Software Engineer or a Software Engineer in Test
  • Expert level knowledge in testing practices including but not limited to; Unit, Regression, Functional, Integration, etc.
  • Expert in building test utilities or leveraging existing ones
  • Experience or deep familiarity with the JVM ecosystem (especially Scala)
  • Experience or deep familiarity with SQL and NoSQL Databases
  • Experience or deep familiarity with testing large-scale, distributed systems environment in Spark, MapReduce, Hadoop frameworks
  • Deep familiarity with testing solutions for RESTful web services, microservices, and batch data pipelines
  • Knowledge of CI/CD pipelines, containerization, and container orchestration
  • Demonstrated expertise or experience in tooling i.e., SonarQube for Code Coverage, Jenkins CI, familiarity with Docker and Creating  tooling to extend software to make testing easier.
  • Passion for both internal and external advocacy of leveraging tools

Tapad is proud to be an equal opportunity employer and will consider all qualified applicants regardless of age, sex, race, religion, national origin, sexual orientation, gender identity, marital or family status, disability, or any other legally protected status.