The Java Tech Lead is involved in all stages of development including planning, implementation, testing, documentation, release and product support; work to debug and implement new changes to systems as they are prioritized. He/she must have good inter-personal, oral and written communication skills and have strong problem-solving skills with an aptitude for learning.
- Design and architect technical solutions for the business problems.
- Provide technical leadership to teammates through coaching and mentorship.
- Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain.
- Implement new features and modifications.
- Work in cross-functional team, collaborating with peers during entire SDLC.
- Develop code for system changes or new modules within Bottomline core technology and architecture according to specifications and standards
- Follow release cycles and commitment to deadlines.
- Performs production support and troubleshooting and maintenance (defect resolution)
- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
- Prepare reports, manuals and other documentation on the status, operation and maintenance of software.
Experience and Required Skills:
- 5+ years of experience as full stack developer.
- Expert level understanding of all phases of SDLC, preferably with Agile methodology.
- Strong Knowledge in spring, hibernate, spring boot and docker.
- Strong Knowledge in testing framework like Junit, Mockito.
- Good knowledge and understanding of CI/CD processes and tools (GitLab, ArgoCD).
- Good Knowledge in REST API design and implementation.
- Knowledge in Postgresql/Oracle.
- Solid experience developing with SQL queries, stored procedures, views and triggers for Oracle databases.
- Understanding of multi-tier architecture, Web based development, and Services Oriented Architecture.
- Excellent communication (verbal and written) and interpersonal skills. Able to step into complex situations and take responsibility.
- Strong problem solving and conflict resolution skills.
- Ability to learn and master internal frameworks quickly.
- Deep knowledge in writing complex unit tests.
- XML and knowledge of generating Java data binding code from XSDs
- Experience with Agile methodology.
- Experience developing complex financial applications.
- Bachelors Engineering degree in computer science or equivalent