The Select Group
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 2 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.
Preferred Qualifications:
- Experience with pair programming and Agile methodologies.
- Knowledge of additional testing tools and frameworks.
- Experience with RESTful web services and microservices architecture.
- Familiarity with version control systems (e.g., Git).
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.