The Senior Software Developer is a hands-on role responsible for design, development, and implementation of core parts of the next generation billing system - the Core Systems Transformation project (CTX).
CTX is a highly visible and collaborative development effort involving multiple teams, host systems, and technologies.
You will be aiding in the adoption of test-driven development and participate in behavior-driven development, designing using SOLID principles, conducting code reviews, and relying on automated testing to enhance the manual quality assurance and regression testing efforts.
You will regularly collaborate with stakeholders, other agile teams, and various operations groups, serving as a team liaison and partner. Your hands-on knowledge of design, development, coding, and testing across various technology domains will be counted on to solve complex and mission-critical problems.
Sr. Java Software Developer Main Responsibilities
Translates high-level requirements into detailed technical designs, leading technical discussions, collaborating with other technologists, architects and infrastructure experts
Write or review code for various applications and services according to the technical design documents
Design, develop and implement unit and scenario testing for existing code base and for new functionality under development
Ensures adherence to business requirements, architecture principles, quality and security standards
Participates in Scrum ceremonies, helps to remove roadblocks, adheres to Agile practices
Proactively identifies system improvement opportunities, embraces a culture of innovation and continuous improvement
Conducts technical research, generating POCs for new technologies, software components and tools, documenting adoption path and usage, and mentoring junior team members
Organizes troubleshooting discussions, code fixes and rapid response to production issues
Hands-on architect and Java development experience using J2EE, Spring framework, Hibernate framework and REST API technologies
Hands-on coding experience interfacing with REST APIs (Swagger, consuming and providing REST APIs for internal / external clients etc.)
Strong familiarity with Microservice-based application architecture
Experience working with SQL databases. Experience working with one of the following databases is a plus: Oracle, PostgreSQL, Microsoft SQL Server
PL/SQL Development highly preferred (stored procedures)
Experience working with No-SQL databases is a plus (AWS DynamoDB, MongoDB etc.)
Experience working with message processing systems or data streaming is a plus (AWS SQS, Apache Kafka etc.)
Familiarity with AWS Cloud technologies (e.g. S3, autoscaling, experience building resilient and scalable applications)
Experience working with Kubernetes or OpenShift is a plus
Understanding of the concepts of SOLID, TDD, BDD and hands-on experience with automated testing frameworks such as Cucumber and JUnit
Ability to work well with people from many different disciplines with varying degrees of technical experience is required
Excellent communication skills, both oral and written with internal and external customers, team members, other teams and corporate functions, and management
Ability to coach others
Advanced technical and analytical skills required to diagnose, isolate and resolve problems