Senior Java Developer (Remote)

Full Time

    Job Description

    Sr. Java Software Developer (REMOTE)

    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
    • Reports to the Software Development Team Lead

    Sr. Java Software Developer Education & Experience

    • Bachelor's degree in computer science/related field or equivalent experience
    • Eight+ years' experience in software development technologies

    Sr. Java Software Developer Required Knowledge & Skill

    • 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