Job Title: Java Software Developer
Location: Ottawa, Ontario (onsite only)
Key Responsibilities:
Required Experience:
Bachelor’s degree in computer science, Engineering, or related field.
7+ years of experience in Java development.
5+ years mandatory experience with C, C++
Mandatory experience with microservices, containerization (Docker/Kubernetes), and SQL databases.
Must have experience in SQL, REST API, gRPC, protobuf, XML, JSON, YAML, protobuf.
Proficiency in gRPC, REST APIs, and data serialization formats.
Experience with BDD tools and frameworks (e.g., Cucumber).
Strong problem-solving and communication skills.
Preferred Skills:
Experience with cloud platforms (AWS, Azure, GCP).
Knowledge of CI/CD pipelines and DevOps practices.
Familiarity with Agile/Scrum methodologies.
Software Development:
Design and implement Java-based software components for the LCC subsystem.
Utilize containerized microservices architecture (e.g., Docker, Kubernetes).
Integrate SQL-based data storage and clustering features.
Apply cryptographic libraries for secure data handling.
Develop and maintain gRPC and REST API interfaces.
Work with common data formats including JSON, YAML, XML, and Protobuf.
Collaboration \& Design:
Work with senior developers, architects, and the engineering manager to translate architectural requirements into working components.
Participate in weekly design syncs to propose and review solutions.
Draft design documents and finalize implementations through code inspections.
Testing \& Automation:
Define and implement unit tests for developed components.
Support Behavior-Driven Development (BDD) initiatives and automation goals.
QA Collaboration
Collaborate with QA to develop BDD feature definitions using Gherkin syntax.
Translate acceptance criteria into executable test scenarios.
Job Type: Full-time
Pay: $90,000.00-$100,000.00 per year
Work Location: On the road