Job Summary
The role of Specialist Software Development is to contribute to the whole solution by analyzing functional specifications to identify the best technical design (blueprint) and coding of applications.
The Specialist takes full responsibility of assigned deliverables, aligns own workload, and focuses on key tasks to deliver as per service commitment, leveraging own expertise and skillset to achieve delivery goals.
Depending on the assignment, the role may apply in either a Project, Enhancement or Support environment.
Main Responsibilities
Works with managers, product management, system designers, and other members of the team to implement the software requirements committed by the team.
Software Design
- Interact with system designers, product management and architecture to understand requirements of a project.
- Highlight the technical impacts of the functional design on existing applications based on a detailed analysis.
- Define software detailed requirements based on the system functional and non-functional requirements.
- Create and maintain technical software documentation.
- Contribute to the preparation, compliance, and improvement of coding standards in place for the Onboard Network & Communication team.
- Analyze sub-system component issues and / or business requirements to design effective, high-availability, business-critical solutions.
- Work with project managers during the project to identify software design and build deliverables with associated estimates including technical risks.
Delivery
- Create or modify software applications to fulfill design requirements.
- Perform code reviews with other team members.
- Define, implement, and maintain of software and configuration.
- Work with system designers to apply or modify system configuration of embedded systems hosting software applications.
Expertise in Software Development concepts and tools
oRepository management tools ( GIT, SVN)
oCI / CD & Pipeline solutions (Azure DevOps, Jenkins)
E e Expertise in embedded software development with the following skills :
oC++ programming language (including GCC, makefile or cmake)
oPython programming language
oBash scripting language
oExperience with the Linux command line (preferably on Linux RedHat OS)
oRest API server implementation and queries
oBasic understanding of database configuration and maintenance
Familiarity with end-user (Front End) Interface development
oAngular
oJavaScript / Web development
Basic understanding of computer networking concept
oDNS, SNMP, SSH, SSL
Understanding cloud-based infrastructure (Google, Azure, AWS) solutions
oCloud orchestration
oCloud data integration
oHybrid Integration
oIntegration Platform as a Service
- Follow change and release management processes.
- Support Q&A from engineers from a technical subsystem product owner perspective
- Participate in implementing full product in production.
- Provide software delivery mechanisms and implementation plan for internal stakeholders.
- Support debugging and issue investigation in production and provide root cause analysis reports.
- Provide necessary documentation, training, and presentation material to operationalize developed solutions.
Quality Controls
- Ensure quality KPIs are identified, measured, and produced in line with team development standards.
- Ensure right level of testing (unit & assembly) is consistent across all projects.
- Perform unit testing of the software and configuration including writing and executing scripts for automated testing.
- Establish pilot test plan, execute pilot testing and test report for newly defined solution
- Requirements
Education / Certification / Designation
Bachelor’s degree in computer science or equivalent degree or work experience
Skills / Knowledge
- Detail oriented analytical skills.
- Strong algorithmic thinking and design skills.
- Expertise in debugging and problem investigation skills.
Experience
- Minimum 7-10 years overall work experience.
- 5 years experience as a developer.
- 2 years experience as writing automated unit testing scripts.
Assets
- Experience in working with Agile and DevOps development organizations.
- Knowledge of cloud-based infrastructure (Google, Azure, AWS) solutions.
- Knowledge of application development for cloud-based solutions.
- Managing life cycle of delivery of complex software solution.
- Scrum Master.
Working Conditions
- In office presence required 3 days a week.