Cape Town, South Africa & Johannesburg, South Africa
Senior Software Engineer, AEM
At AKQA, we believe in the imaginative application of art and science to create beautiful ideas, products and services. With an entrepreneurial and collaborative approach, we design adaptive digital services and applications that capture the imagination, delivering impressive returns for our clients.
AKQA Developers are inspired by technology and have a passion for creating innovative technical solutions.
You will love working in a team of highly skilled people, all with strong opinions about various technologies, frameworks and approaches to delivery. You will be able to articulate your ideas to your colleagues effectively and will take on board the ideas of others. You will thrive when faced with new challenges and will constantly look to improve AKQA’s work.
As a Senior Software Engineer (AEM), you'll have experience in delivering high-quality digital platforms based on the Java umbrella of technologies. You’re a technically excellent programmer who possesses a deep understanding of software engineering principles as well as the latest industry trends. You will be a self-starting technologist who can draw parallels across a technology landscape.
- Develop, implement, integrate and deploy digital consumer experiences based on the foundation of the AEM product suite, including Sites, Assets, the creation, configuration and integration of templates, components, dialogs, widgets, workflows, content fragment, experience fragment, clientlibs, replication agent, JCR API, Adapter pattern.
- Design, develop and support CMS components, integrations, and applications.
- Develop custom OSGI services using R6/R7 annotations, workflows, schedulers, sling servlets, and event handlers
- Create custom workflows in AEM
- Manage Users, groups, and permissions..
- Manage Multi Sites for AEM
- Follow, understand and implement best practices to manage security, performance and scalability of the content management and content delivery solution.
QUALITIES AND CHARACTERISTICS
- 2 + Years of AEM development experience
- 5+ Years of software development experience in Java
- Strong foundation in OOAD concepts like Interfaces, Abstract Classes, Loose Coupling and High Cohesion
- Good knowledge of software engineering best practices like readability, immutability, commenting, exception handling and logging
- Highly skilled in designing applications using design patterns and modern application frameworks.
- Proficiency in working with Java 8 and above and their latest APIs
- Proficiency in key Java packages and APIs like Collections, Generics, Lambda functions, streaming and concurrency, memory management and garbage collection.
- Good knowledge of web application concepts like HTTP(S) lifecycle, session, servlets, filters and design patterns for web development
- Hands on working knowledge of GIT and Maven for code check-in, branching, code review and build processes
- Experience in all levels of testing including unit, integration, smoke and acceptance.
- Knowledge of swagger and RESTful API design principles desirable
- An entrepreneurial, analytical and positive mindset with a personable and professional approach
- Collaborative 'one team' approach that enables client and agency partners to work together seamlessly
- Sharp attention to detail and a passion for new technology
- Able to work on complex ecom project
- Ability to be independent and proactive
AKQA is an Equal Opportunities Employer, we believe that diversity is vital to AKQA’s ability to provide our clients with the best recommendations and are committed to fostering a varied and inclusive work environment. Your race, colour, ancestry, religion, gender, gender identity, national origin, sexual orientation, age, marital status, disability or veteran status have no bearing on our hiring decisions. If you have a disability or special need that requires accommodation, please let us know.Apply