Job Purpose:
As an Intermediate Software Engineer, you can work fairly independently and are tasked with the development of software inside a team and sub sections of a system. You will have the ability to design solutions and modules to existing systems. You have a good command of the fundamentals of software development, coding principles, stakeholder engagement and good troubleshooting capabilities because you understand how systems work together and when and who to ask for help. At this point in your career, you should also be able to architect the basic components of a system.
Key Accountabilities:
Skills, know-how and experience:
• Knows and applies the fundamental concepts, practices and procedures of software development.
• Passion for being a hands-on techie
• Innovative and creative thinking
• Customer Focus
• Ability to interpret and document user requirements and translate these into technical specifications and/or code
• High numerical reasoning and logic ability with good problem-solving skills
• Knowledge of one or more relevant programming languages, frameworks and databases
• Be willing to adapt to significant changes in either technology or environment
• Broad operational knowledge in 21st Century IT (Cloud, Social, Mobility, IoT, Big Data…)
• Knowledge on Architecture Best Practices and Patterns (Microservices, CQRS, Event Sourcing, Domain-Driven Design, …)
• Proven experience in using a TDD approach
Essential:
• 3-5 years professional or other practical experience
Experience in the following technologies:
Software Engineer • Pretoria, South Africa