Role: Python \& C and C++
Location: Ottawa, Canada (Remote)
Type: Full Time
Experience: 10 years total experience (this is a MUST)
5 years of relevant experience is mandatory.
Extensive Python experience from the web development side. Must have done integration and testing using C and C++.
Must share the candidate screen form when submitting.
Roles \& Responsibilities
Develop software components in Python and Java language for the LCC subsystem, using containerised micro-services, network and data storage (SQL) functions, clustering features, cryptographic libraries, gRPC and REST API interfaces, common data formats (JSON, YAML, XML, Protobuf…).
Collaborate with senior developers, architects, and the engineering manager to implement components based on architectural requirements: draft designs, propose solutions, review in weekly design syncs, and finalize through code inspections.
Define unit tests for components, support the team in BDD feature definition, and assist with automation goals.
Collaborate with QA to develop BDD feature definitions (e.g., Gherkin files), translating acceptance criteria into executable scenarios.
Apply common practices to ensure code quality and maintainability.
Ensure thread safety, proper memory management (no leaks or undefined behavior), as well as code security.
Document your code with inline comments or lightweight documentation for public interfaces.
Provide clear effort estimates during planning and flag any deviations in daily scrums.
Update status daily on the team board (e.g., Jira), and in standups, flag any deviation greater than 10% from the original estimate; if you exceed 20%, notify the engineering manager and suggest a corrective action.
Ensure designs facilitate troubleshooting of field issues.
Troubleshoot and resolve issues uncovered during feature or design testing.
When a QA feature or design test uncovers a defect, reproduce the issue locally, perform a brief root-cause analysis (noting steps and findings in the ticket), and categorize its impact.