Application Software Engineer - Cim3D
To create, enhance and maintain the clients application software suite
Software Team Leader
About Our Client
- Design and develop software features that meet the user story acceptance criteria.
- Work closely with product owner to create and refine the product backlog through writing and estimating user stories.
- Write user stories that follow the INVEST principles (independent, negotiable, valuable, estimatable, small, testable), in particular paying attention to having detailed acceptance criteria.
- Plan sprints and track sprint progress using a burndown chart to ensure that any impediments/delays are promptly identified and resolved so that the sprint goal is met.
- Improve readability, reduce complexity and improve maintainability of the code base.
- Understand and apply modern software design principles and patterns.
- Create unit tests for new and existing code.
- Participate in pair programming sessions with other team members.
- Provide detailed information when creating, triaging and resolving Redmine issues.
- Document designs, technical information and team processes in the wiki. Ensure that information in the wiki is up to date and relevant.
- Respond promptly to TAFs and Redmine issues.
- Support other departments and overseas branches with equiries and issues.
Teamwork and Continuous Improvement
- Improve team workflows, processes and interactions through Sprint Retrospectives.
- Conduct developer presentations to share new knowledge and stimulate learning, discussion and innovation.
- Participate in brainstorming and problem solving sessions with team members.
- Support and mentor team members within and outside of the department.
- Encourage and drive a collaborative, fun, friendly and inclusive work environment.
Environment Health & Safety
- Ensure the working environment is safe at all times and activities conducted are safe and don't harm self or other employees.
- Eliminate risks in the working environment by conducting housekeeping, risk assessments and working with others to eliminate or at least mitigate the hazards.
The Successful Applicant
- Software Engineering, Computer Science or related qualification
- Object oriented software analysis and design
- Unit testing and TDD
- Expertise in C++ programming language
- Problem solving and analytical ability
- 3D graphics frameworks (OpenGL, DirectX)
- Engineering mathematics: calculus, numerical analysis, kinematics
- Algorithimic optimization and working in a multi-threaded environment
- Understanding of Scrum or similar Agile framework
- Ability to work effectively in a team based environment
- Knowledge of other programming languages such as Python, Java
- Excellent verbal and written communication skills
What's on Offer
Permanent role in progressive tech team