We are seeking a Software Developer to develop high quality software solutions as a contributing member of a highly skilled and motivated team of Software Engineers and Consultants. The ideal candidate will have excellent communication skills, excellent teamwork and collaboration skills, mentorship skills, and a good understanding of design patterns and system design.
Requirements
- Develop high quality software which meets requirements, promote re-use of software components and facilitates ease of support.
- Diagnose, isolate, and implement remedies for system failures caused by errors in software code.
- Follow a prescribed software development process based on Scrum
- Identify and implements process improvements
- Utilize software-based system maintenance and tracking tools
- Conduct unit tests, track problems, and implement changes to ensure adherence to test plan and functional/non-functional requirements
- Analyse, design and implement software mechanisms to improve code stability, performance, and reusability.
- Participate and lead code review sessions
- Create good estimates of their own work efforts and assist others in estimating task effort and dependencies.
- Apply good debugging and troubleshoot techniques to understand and resolve defects found in software
- Stay current with technology, disseminate knowledge to team members, form best practices
- Create high quality documentation as required like functional specifications; unit test specifications
- Provide input and technical content for technical documentation, user help materials and customer training
- When required, travel to customer sites (usually for no longer than one week at a time) and work with customers on project related activities