27 Sep
|
InfoVision
|
Bengaluru
27 Sep
InfoVision
Bengaluru
Essential
- Tertiary qualification in Computer Science, Software Development, or Engineering
- Proficient in C++
- 8+ years of development and/or testing experience – developing code using C++
- Experience with Version Control Systems (Git)
- Technical skills including high level understanding of software development, network systems, software test
- Problem investigation and resolution experience in a software environment Desirable:
- Payments and/or Retail Petroleum industry experience
- Embedded Linux x86 / ARM
- C, Java, Assembler, Python, Bash scripting
- Ability to promote a test-driven development approach
- Experience using embedded tools; compilers, debuggers, JTAG, protocol analysers, RTOS or OSes
Roles & Responsibilities
Responsibilities include
Software development and documentation
- Contribute to requirement gathering, specification creation and design as required
- Contribute to project planning by providing input on estimates and detailing dependencies
- Complete the development of recent functionality and modifications to existing functionality according to project requirements and plan
- Develop solutions with minimal defects
- Ensure timelines are met in implementations
- Ensure all functionality delivered with regression / unit tests
- Complete software documentation, ensuring it is in accordance with good coding practices
- Ensure product documentation is updated and submitted
- Ensure customer specific application solutions are in-line with the customer and company requirements
Software product maintenance
- Respond to product issues to ensure resolution in a timely manner
- Update regression / unit test suite
- Ensure relevant documentation is up to date
- Input and update all issues using our tracking system
Software design and architecture
- When required - contribute to the architecture for a specific product stream or technology area
- Utilise industry best practice design and implementation techniques
- When required - contribute to technical decision making for product architecture and implementation
- When required - propose design, documentation, and communication of system engineering specifications and product software architecture specifications, based on:
o market requirements provided by product management, including certification requirements o company requirements around quality, maintainability, testability, and related measures
- Collaborate with fellow developers, architecture team and product management to ensure any product design proposals fit appropriately into the Invenco product range
- When required - work closely with Security Architect to ensure design proposals are compliant with relevant security standards, and documented appropriately to facilitate product certifications in a timely, risk free manner
- When required - contribute to ensuring system engineering specifications and product software architecture specifications are peer reviewed and accepted by architecture,
engineering, and product management teams
- Peer review team output for quality and alignment to designs – provide corrective feedback and/or refine designs as necessary
- Regularly review defects and performance characteristics of technology area and ensure that these are resolved appropriately
- Contribute to supporting leadership around development process and technology selection – participate in development of company standards (eg standardised coding style, VCS structure & workflows, build systems etc)
Test plan development
- Create developer test plans for use in regression suite
- Test plan contains complete coverage of functionality and features delivered
- Ensure suitability for integration into regression suite
- Assist testers with understanding changes and new features to enable their development of test scripts
Development Process and Continuous Improvement
- Follow agile development methodology
- Actively use, advocate, and seek to continuously improve Invenco procedures and processes for software development, build, and generation of production quality artifacts
- Contribute to continuous improvement in systems and processes
- Escalate issues and delays in a timely manner
- Evaluate status quo and apply best practice
- Look for opportunities and work to continuously improve process
- Set up and maintain processes and procedures where required
- Reporting around planned activities, progress, and performance
- Use existing systems and processes – JIRA, Confluence, Time Logging, Project Planning etc to plan and execute work
📌 C Embedded Linux Developer (Bengaluru)
🏢 InfoVision
📍 Bengaluru