The Allan Gray Institutional development team is an environment where growth is encouraged and individuals who display initiative; willingness to learn and stretch themselves are given of opportunity to do so; the acquisition of new skills, both business and technical, is supported wholeheartedly.
The team is currently around 60 members, covering a range of skills and responsibilities including Business Analysts, Application developers, Reporting/Integration developers, Testers and IT Operations. This team is responsible for the systems that support Allan Grays asset management function. There is plenty of opportunity to learn about the asset management industry and technology.
We are looking for a senior developer with 5+ years of experience to join a team responsible for developing new solutions and supporting the existing systems in a challenging business environment.
Our web applications follow a microservices approach where the backend services are built primarily of RESTful APIs using .NET Core whilst our frontends are written as ReactJS single page applications.
Our previous generation desktop applications are built using WPF and Winforms.
Our ideal candidate is highly autonomous, detail oriented and possesses strong written and verbal communication skills.
Job Responsibilities
Interact with business users, Business Analysts and other Developers to understand new requirements.
Write technical specifications and develop new functionality to Allan Gray standards and deadlines.
Participate in design and planning sessions.
Understand how our existing systems work, how they fit into the overall architecture and what they achieve for the business.
Analyse issues reported by users and track down their cause through debugging techniques and discussion with other team members.
Testing and deployment of code changes.
Requirements
5+ years experience in systems design and coding in Microsoft .NET, .NET Core, C#, C++, Java or JavaScript.
Proficiency in a database technology such as SQL Server or PostgreSQL.
Knowledge of software engineering practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes and testing.
Experience in interacting with business users to understand requirements and managing the implementation of system changes.
Desired
Experience with any of the following would be advantageous:
- Microservices.
- Docker and Kubernetes.
- Message queueing technologies (e.g. RabbitMQ).
- Event driven architecture.
- Cloud (preferably AWS).
A positive, can-do attitude, willing to learn and persevere.
Attention to detail and quality.
Willingness to take initiative and responsibility.
Ability to meet deadlines and deal with pressure.
Ability to work effectively as part of a diverse team and cross-train with team members.
Strong analytical & mathematical skills.
Good communication.
Education
Degree or diploma in an analytical, quantitative field such as computer science, engineering, business science or similar.
Candidates should demonstrate a track record of achievement in the top 25% of their peer group