Who are we?
If you’re a smartphone user then you are part of an ever more connected and digital world. At Amdocs, we are leading the digital revolution into the future.
From virtualized telecommunications networks, Big Data and Internet of Things to mobile financial services, billing and operational support systems, we are continually evolving our business to help you become more connected.
We make sure that when you watch a video on YouTube, message friends on SnapChat or send your images on Instagram, you get a great service anytime, anywhere, and on any device.
We are at the heart of the telecommunications industry working with giants such as AT&T, Vodafone, Telstra and Telefonica, helping them create an amazing new world for you where technology is being used in amazing new ways every single day.
In one sentence
Designs, develops, modifies, debugs and / or maintains software systems.
Works on one or more Microservices within a large software system scope.
Assumes ownership and accountability of specific Microservices within an application.
Serves as an expert on specific Microservices, applications or technologies, and deals with complex assignments during the software development lifecycle.
What will your job look like?
Engineering : Designs, develops, modifies, debugs and / or maintains software code according to functional, non-functional and technical design specifications.
Follows Amdocs software engineering standards, applicable software development methodology (such as design-led thinking, Agile and DevOps) and release processes based on CI-CD approach.
Ensures code is well designed, maintainable, scalable and supportable. Develops software verification plans, automation and integrates software components into a fully functional software system.
Promotes system reliability and operability. Presents demos of the software products to stakeholders and internal / external customers.
Uses knowledge of the product / solution and technologies to influence the direction and evolution of the product / solution.
Serves as an expert on specific technology.
Investigation : Investigates issues by reviewing / debugging code and providing fixes (analyzes and fixes bugs) and workarounds.
Reviews changes for operability to maintain existing software solutions. Highlights risks and helps mitigate risks from technical aspects.
Analysis : Analyzes requirement documents / HLDs. Performs impact assessment (for example, for critical production issues) and contributes to Root Cause Analysis of issues and outlines corrective actions.
Help product owners with technical information (POCs, Estimation etc) as an input to scoping.
Team Work and Collaboration : Collaborates and adds value through active participation in peer code reviews, provides comments and suggestions, and works with cross-functional teams to achieve goals.
Serves as the technical focal point with other teams to resolve issues related to interfacing functionalities.
Technical Ownership : Assumes ownership and accountability of respective Microservices involved in the Epic within an application and provides technical support and guidance during problem resolution for critical / complex issues.
Ensures that documentation related to specific Microservices / applications is correct and up to date. Performs peer code inspection and reviews developed solutions and provide relevant feedback.
Responsible for performance, security, resilience and reusability of the software. Responsible for taking design decision at respective sub domain or epic level.
Innovation and Continuous Improvement : Brings continuous improvements / efficiencies to the software or business processes by utilizing software engineering tools and various innovative techniques as well as through the reuse of existing solutions.
By means of automation, reduces design complexity, reduces time to response, and simplifies the client / end-user experience.
Quality and SLAs : Contributes to meet various SLAs and KPIs as applicable for account and unit - for example, Responsiveness, Resolution, Software Quality SLAs, etc..
Onboarding and Knowledge Sharing : Onboard new hires and train them on processes, shares knowledge with team members, and takes an active role in technical mentoring within the team and elevating the knowledge of the team.
Understands reliability, operability and ensures the implementation in the scrum team.
Communication : Represents / leads discussions related to product / application / Microservices (for example, leads technical design reviews).
Builds relationships with internal customers / stakeholders.
All you need is...
Bachelor's degree in Science / IT / Computing or equivalent 2-3 years of experience at writing software code in at least one programming language.
6 to 10 years of experience in SW Engineering role.
Significant proficiency / in-depth knowledge in business domain (Telecom Preferred).
At least 1 year of experience in designing, technically leading and delivering projects on Microservices and Cloud.
Knowledge of software best practices like Refactoring, Clean Code, Domain Driven Design, Encapsulation etc.
Practical experience of Design Patterns & Design Principles and decision-making ability to use those appropriately.
Must have an art to translate business requirement or product features into low-level design.
Strong Java and J2EE background. Working experience in Multi-Threading, Exception Management and Use of Collections.
Understands, provide technical guidance and implements cross cutting concerns such as queueing, caching, distributed transaction, session management etc.
Experience with web application frameworks like Spring Boot or Drop wizard.
Strong experience in Unit Testing using tools like Junit & TestNG, and mocking tools like Mockito / Power mock.
Working experience in NoSQL databases.
Proven experience in message queue such as ActiveMQ, Kafka or RabbitMQ.
Expert in branching and release strategy with version control tools like Git and Bitbucket.
Exposure to Agile / Scrum, TDD not in theory but in practice.
Experience with Continuous Integration (Jenkins), Continuous Deployment, and Static Code Analysis (e.g. SonarQube).
Willingness to take ownership of technical solution and ensure technical expectations of deliverables are met.
Exposure to containerization.
Why you will love this job :
You will serve as an expert on specific technology
You will take an active role in technical mentoring within the team.