Java Developer (TDD)
Skills :     Software Developer
Job Description:

Java Developer (TDD) (Onsite; Ontario Canada)

As a Java Developer with TDD experience, you will play a critical role in the development and maintenance of our client software solutions. You will be responsible for writing and maintaining high-quality code and tests, ensuring the reliability and performance of our applications. This role requires the candidate to be onsite in Brampton, Ontario Canada

Java Developer (TDD) skills:

  • Minimum of 3 years of experience with Java and Spring framework.
  • Proven experience with Test-Driven Development (TDD) methodologies.
  • Strong understanding of object-oriented programming principles and design patterns.
  • Experience with Java testing frameworks (JUnit, TestNG) and mocking frameworks (Mockito).
  • Familiarity with continuous integration (CI) tools and practices.
  • Excellent problem-solving skills and attention to detail.
  • Strong communication and collaboration skills.
  • Ability to work effectively in a team environment.


Java Developer (TDD) Responsibilities:

  • Write unit tests before developing code to ensure comprehensive test coverage.
  • Implement minimal code to pass the written tests and refactor regularly to improve code quality.
  • Run and maintain tests to ensure all code changes pass successfully.
  • Collaborate with QA engineers and other developers to understand requirements and translate them into test scenarios.
  • Strive for high test coverage and ensure tests are clear, maintainable, and effective.
  • Utilize Java testing frameworks (e.g., JUnit, TestNG) and mocking frameworks (e.g., Mockito) effectively.
  • Refactor test code regularly to keep it clean and understandable.
  • Integrate tests into the continuous integration (CI) pipeline and monitor CI results.
  • Document test cases and provide clear guidelines and best practices for testing.
  • Identify edge cases and write tests to cover potential failure points.
  • Maintain a comprehensive suite of regression tests to ensure new changes do not break existing functionality.