👨🏻‍💻 postech.work

Java Engineer with exp. in C, C++ and Python

United Softw • 🌐 In Person

In Person Posted 1 day, 12 hours ago

Job Description

Job Title: Software Engineer

Location: Ottawa, Canada (onsite)

Duration: 6 – 12 months

Job Description: 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?

Java Development

· Strong proficiency in Java programming.

· Experience with Java-based Microservices.

Microservices Architecture

· Containerized Microservices (e.g., Docker, Kubernetes).

· Clustering features and distributed systems.

Networking \& APIs

· gRPC and REST API development.

· Understanding of network protocols and service communication.

Data Storage \& Formats

· SQL databases and data storage mechanisms.

· Familiarity with data formats: JSON, YAML, XML, Protobuf.

Security \& Cryptography

· Use of cryptographic libraries.

· Code security best practices.

Testing \& QA Collaboration

· Unit testing and BDD (Behavior-Driven Development).

· Writing Gherkin scenarios and collaborating with QA teams.

Code Quality \& Performance

· Thread safety and memory management.

· Code maintainability and inline documentation.

Regards

Krishna

Job Type: Fixed term contract

Contract length: 6 months

Pay: $45.00-$50.00 per hour

Get job updates in your inbox

Subscribe to our newsletter and stay updated with the best job opportunities.