Senior Java Dev (specialist product engineer) Role in JHB – EE/Non-EE position – Local / AnyApply critical thinking and problem-solving skills to all phases of the development lifecycle and quickly produce well-organized, optimized, and documented source code to deliver high-performing scalable, enterprise-grade applications.AccountabilityDevOps
- Apply critical thinking, design thinking and problem-solving skills in an agile team environment to solve technical problems (Front End, Back End, or Middleware) with high-quality solutions.
- Contribute to all phases of the development lifecycle including
- Evaluate analysis, problem definition, business requirements, solution development and provide recommendations to enable the operational feasibility of solutions.
- Quickly produce well organised, optimized, and well-documented source code to deliver technical solutions.
- Ensure designs and solutions support the technical organization principles of self-service, repeatability, testability, scalability and resistance.
- Apply general design patterns and paradigms to deliver technical solutions.
- Support the development of CI/CD Pipelines (authoring and supporting CI/CD pipelines in Jenkins/ similar tools and deploying to multi-site Kurbenetes environments – supporting and managing your application all the way to production).
- Use and configure modern observability techniques leveraging e.g aggregated logging via ELK stack, metrics via Prometreus/ Grafana/NewRElic, and tracing using Zipkin/Jaeger.
- Automate tasks through appropriate tools and scripting e.g Jenkins, Docker, Ansible, Kubernetes.
- Debug existing source code and polish feature sets.
- Work with integrated teams and other developers to improve and evolve technical products and services.
- Align all application development process to Group Architecture and Infrastructure guidelines.
- Provide input into project and program teams (when required) to plan and manage the development lifecycle e.g releases, risks management, testing, integration, etc.
- Conduct reviews, performance monitoring and ongoing optimization and maintenance on applications.
- Stay ahead of the curve on emerging technologies and development practices and continuously evolve existing knowledge and skill in preparation for cross-domain and other experiences e.g. Secure Side, Testing, Infrastructure solutions etc.
People
- Conduct peer reviews, testing, problem solving within and across the broarder team.
- Support the people change teams in the development of the user material (Customer, Employee and 3rd Party Adoption).
Risk and Governance
- Identify technical skills and mitigate these (pre, during and post-release).
- Update/ Design all application documentation aligned to the organisation technical standards and risk/ governance frameworks.
- Participate in incident management and DR activity – applying critical thinking, problem-solving and technical expertise to get to the bottom of major incidents.
About The Employer:
- 3-8 years+ experience
- Relevant B-Degree in Computer Science preferred but not essential if minimum requirements of experience and practical application in the following is evident:
- Automation
- Messaging
- Solutioning
- SSL Security
- CI/CD etc
- Experience working in an agile environment.
- Excellent communication, analytical skills and decision-making ability in collaborative environments.
- Excellent understanding of specific coding/ scripting languages e.g Java, C#, Python, Perl, JavaScript.
- Solid understanding of Object Oriented Design and ability to properly apply general design patterns and paradigms.
- Experience with open-source relational databases.
- Knowledge of application server containers: Tomcat, Jetty, JBoss, NodeJS, IIS, .Net Core etc.
- Good understanding of frameworks and libraries like JavaSCript, jQuery, TypeScript, HTML, CSS.
- Experience with CI/CD tools (like Jenkins, Bamboo, TFS, Azure DevOps) and Artifact Management.
- Ability to create and maintain sophisticated CI/CD pipelines.
- Strong understanding of version control and related concepts and techniques, particularly Git.
- Experience with an appropriate unit testing framework(s).
- Excellent debugging and problem-solving skills.
- Comfortable with stubbing tools like wire mock and/or hoverfly.
- Experience with scripting languages like bash and/or Python.
- Experience with Cloud platforms e.g Azure, AWS, and Google Cloud Platform.
- Familiar with OAuth, Open Connect ID and SAML, preferably with an understanding of AD/ LDAP/ Kerberos
Java
- Object Orientation in Java
- Java Memory Management
- Access Modifiers
- Generics and Collections
- Strings, Formatting and Parsing
- Exception Handling
- Java Streams
- Concurrency
- Flow Control
- Interfaces
Angular
- Using Asynchronous Operations
- Using Components and Data Binding
- Using Directives
- Using Forms
- Using Templates, Expressions, and Pipes
- Coding with TypeScript
- Routing and Authentication
- Testing Angular Applications