Our client based in Century City is currently seeking the expertise of an Application Architect to form part of the Enterprise Architecture Team.

The ideal candidate will have strong leadership, interpersonal and communication skills. The Application Architect will be a key driver in projects and products; representing users and business working together with our Software Development teams to deliver high quality software products. Reporting to the Enterprise Architect, the Application Architect will be responsible for validating product ideas with iterative reviews of plans and work-in-progress with Customers, Architects and Product teams. This individual will have acquired expertise in the assigned functional area by staying ahead of industry trends, competitor capabilities and new entrants in the Technology space.

Duties include, but not limited to:
Operating Duties

– Advocating design first principles.
– Designing clear architecture visions to ensure business sustainability.
– Performing gap analysis between baseline architecture and target architecture.
– Researching, introducing and applying new technologies that become available.
– Owning system design artefacts, such as the Architecture Notebook.
– Maintaining topology documentation with the Enterprise Architects.
– Creating, maintaining and adhering to set of Architectural principles with the Enterprise Architects.
– Assisting in providing concrete implementations and realizations of Enterprise Architecture Strategies.
– Ensuring that all our various systems interact consistently and fit into a coherent overall framework.
– Work alongside other Architects to integrate and propose viable solutions to business.
– Coordinating work effort between departments as necessary.

Duties to Tech Teams

– Driving of technology innovation through continuous team engagement and showcasing.
– Driving system and architecture development methodologies.
– Leading system design activities to ensure that applications solutions will exhibit high levels of performance, security, scalability, maintainability, appropriate reusability and reliability upon deployment.
– Taking responsibility and ownership of implementing and researching best practices and relevant methodologies.
– Designing and reviewing newly developed software systems.
– Reviewing and re-engineering of existing software systems and encompassing applications.
– Monitoring system performance, relevance and usage.
– Defining and maintaining key metrics to ensure quality and performance of systems and delivery.
– Ensuring Application Lifecycle Management continuity, by reviewing, monitoring and provide practical changes.
– Assisting developers in design and guide the development lifecycle.
– At times being hands-on with assisting with development and mentoring.
– Training of clients and developers in the use of new technologies.
– Dealing with internal clients on a technical level.
– Assisting with the management of technical debt.
– Designing / Prototyping /Piloting of new software systems and proof of concept work as required.
– Assisting with impact analysis of potential changes to process and systems.
– Assisting with technology SWOT analysis.

This job description is not intended to be an exhaustive list of responsibilities. The job holder may be required to complete any other reasonable duties in order to achieve business objectives.

Essential Criteria:

– At least 10 years’ hands-on development experience.
– Computer Science related degree, diploma or similar qualification.
– Proven experience in internet technology and web development.
– Proven experience in coding of website components with a firm grasp of Microsoft technologies.
– Proven experience in coding with an understanding of system architectures.
– Solid experience in Software and Database Development languages and patterns.
– Solid knowledge of Object Orientated Programming, Actor based, Functional development methodologies.

Desirable Criteria:

– Technical Leadership experience an advantage.
– Multi-skilled and willing to learn and apply new technologies and languages.
– Understanding and experience in:
– Service Orientated Architecture (SOA) and Microservices.
– Event Driven process design.
– Geo-distributed system designs.
– Complex Event Processing and design principles.
– High-volume data processing environments and the constraints.
– ArchiMate 2-3 experience an advantage.
– Have a firm grasp on design patterns, like MVC, Abstract Factories, and Actor Model.
– Firm understanding of SOLID principles with practical implementations.

Person Specifications:

– Communication
– Self-Development
– Teamwork
– Adaptability / Flexibility
– Organisation & Planning
– Interpersonal Skills
– Stress Tolerance
– Innovation
– Problem Solving

If you are interested in this position, please feel free to send your CV to (email address)

Learn more/Apply for this position