Junior Software Developer

Full time Information Technology

Job Description

Position Summary & Key Areas Of Responsibility

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