MRI Software is seeking a Software Engineer to join our team in our Cape Town office! As a Software Engineer, you will be responsible for developing, testing, and maintaining software solutions throughout the Software Development Lifecycle. Candidate should have a passion for development and an eagerness to learn new things and improve their skills. You will be a part of a team that collaborates well, works hard, and has fun.
Responsibilities
Develop software features in a self-sufficient way and to a high technical standard
Understanding the system architecture and technical goals of the product
Follow the development process (source control, branching, testing, etc.) without assistance
Actively troubleshoot issues and assist with complex support queries that require further analysis
Taking part in team rituals such as stand-ups, planning sessions, demos and retrospectives
Taking part in team activities such as collaborative development and code reviews
Taking part in cross-team activities such as knowledge-sharing and documentation
Building relationships with all other teams in the product development department
This is not intended to be an exhaustive list of responsibilities. The job holder may be required to complete any other reasonable duties to achieve business objectives.
Essential Criteria
Angular: Extensive experience with Angular, including component-based architecture, RxJS, and state management.
TypeScript: Proficient in TypeScript, including understanding of advanced concepts such as decorators, generics, and type definitions.
CSS: Strong experience with CSS, including Flexbox, Grid, pre-processors (like SASS or LESS), and responsive design principles.
HTML5: Excellent understanding of HTML5, including semantic markup and accessibility standards.
JavaScript: Solid understanding of JavaScript (ES6+), including closures, promises, async/await, and other advanced concepts.
Version Control: Proficient with Git and version control workflows.
Tools & Frameworks: Experience with front-end build tools and package managers (Webpack, npm, etc.)
Testing: Experience with front-end testing frameworks (Jasmine, Karma, etc.)
SQL Experience: Demonstrable experience in SQL (Microsoft SQL Server).
Cloud Technologies: Experience using cloud technologies (Microsoft Azure, RabbitMQ).
Design Systems: Experience with design systems and component libraries (Material UI, Bootstrap, etc.)
CI/CD: Familiarity with CI/CD pipelines and deployment processes (Azure DevOps).
UX/UI: Basic understanding of UX principles and an eye for design.
Agile: Experience working in Agile/Scrum development environments.
Personal Attributes
Good verbal and written communication skills
Eager to learn new skills
Constantly improving current abilities
Team player with a can-do attitude'
We’re obsessed with making this the best job you’ve ever had!
We want our staff to love working here, and so we’ve created a few unique perks such as office breakfasts, quarterly lunches and virtual social events.
20 Initiatives to Boost Employee EngagementAre you struggling with improving employee engagement at work? This article covers everything from better communication to building a strong workplace culture.
30 Common Interview Mistakes to AvoidThis piece examines 30 of the most common mistakes applicants make at interviews, so you know how to better avoid them.