Work as a member of a team responsible for developing a large scale application for a telecom product in accordance with established processes. You will apply your knowledge of building scalable, distributed applications and have the opportunity to work with technologies & frameworks such as Java, Spring, Angular etc.
Essential Functions include, but are not limited to the following.
You will be expected to:
- Contribute to all phases in the software lifecycle – requirements analysis, development, and deployment
- Maintain high quality standards for the work undertaken and be responsible for the quality of deliverables
- Own the design, implementation and documentation of product features
- Ensure assigned projects are developed in accordance with established engineering processes, adhering to scope, schedule constraints and agile project plans
- Participate in code reviews
- Work effectively as part of a distributed team
- Mentor the junior team members.
Requirements
Key technical expertise areas expected for this role:
- Strong programming skills in Java with clear understanding of Object-Oriented programming.
- Experience building production applications using Java and Spring framework.
- Strong troubleshooting skills
- Some exposure to building production applications using Javascript based frontend frameworks like Angular.
- Demonstrable ability to learn new programming languages and frameworks quickly
- Experience working with REST APIs and distributed systems
Additional areas that would add value:
- Knowledge about Kafka.
- Basic understanding of containerization technologies like Docker.
- Strong understanding of Design Patterns & their application in system design.
- Using DevOps & Infrastructure tooling such as Git CI/CD, Jenkins, Git.
- Test Driven & Behavior Driven Development.
- Experience working in Agile Scrum/Kanban methodologies.
- Fundamental knowledge of Native Cloud Environments like AWS or Azure