At least 8 years of experience in development using development in C, C++, Java, Python.
Key Responsibilities:
T1: Develop software components in C, C++ and Java language for the LCC subsystem, using containerized micro-services, network and data storage (SQL) functions, clustering features, cryptographic libraries, gRPC and REST API interfaces, common data formats (JSON, YAML, XML, Protobuf...).
T2: 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.
T3a: Define unit tests for components, support the team in BDD feature definition, and assist with automation goals.
T3b: Collaborate with QA to develop BDD feature definitions (e.g., Gherkin files), translating acceptance criteria into executable scenarios.
T4a: Apply common practices to ensure code quality and maintainability.
T4b: Ensure thread safety, proper memory management (no leaks or undefined behavior), as well as code security.
T4c: Document your code with inline comments or lightweight documentation for public interfaces.
T5a: Provide clear effort estimates during planning and flag any deviations in daily scrums.
T5b: 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.
T6: Ensure designs facilitate troubleshooting of field issues.
T7a: Troubleshoot and resolve issues uncovered during feature or design testing.
T7b: 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.
What are the Mandatory skills and skill proficiencies required for this position?