We view our client as one of the top digital organisations in South Africa, who provide marketing and support services to millions of clients across the globe. They are based in very trendy and upmarket offices in Century City, Cape Town. A multi billion-dollar global giant in their field, they are able to attract the very best talent in South Africa, and retain them.
They are currently looking for an Application Architect to join their team.
You will be a key driver in projects and products; representing users and business working together with our clients Software Development teams to deliver high quality software products. Reporting to the Enterprise Architect, you will be responsible for validating product ideas with iterative reviews of plans and work-in-progress with Customers, Architects and Product teams. You 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.
Requirements
– 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
– 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