Primary responsibility is to develop high quality software solutions as a contributing member of a highly skilled and motivated team of Software Engineers and Consultants. This individual will integrate the Global Professional Services group and will be part of an Agile team working on software development and deployment projects globally.
Responsibilities Include:
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. Be co-responsible for team commitments within the Sprint
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
The Ideal Candidate Will:
Have excellent communication skills (English is essential)
Have excellent teamwork and collaboration skills
Have good understanding of design patterns and system design
Be a self-starter, able to use his/her own initiative to get things done
Be reliable, enthusiastic and have a ‘can-do’ attitude towards achieving the team’s objectives
Be passionate about technology and how it can be used to “make the everyday easier”
Basic Qualifications:
Bachelor’s Degree in Computer Science, Computer Engineering or related field
Experience with software design and development
Experience with web applications development including client and server-side technologies
Good understanding of Software Development and Quality Assurance best practices
Excellent written and verbal communication skills
Availability to travel (up to 10% of the time, usually for short durations)
Preferred Qualifications:
Experience with Python, .NET (C#) or similar programming languages
Experience with Angular (TypeScript), React or similar front-end frameworks
Experience with RESTful API services: understanding, consuming and implementing
Experience with Unix/Linux environments and scripting
Experience with Secure Software Development Lifecycle process
Understanding of Unit Testing and experience with frameworks for their implementation
Experience with the development of mission-critical, event-driven, fault-tolerant software applications
Experience with tools like GitHub, Jenkins, Jira, SonarQube or others
Experience operating in an Agile development environment and familiarity with Scrum methodologies