JAVA Software Development Team Leader
|Our client is a globally operating French credit insurer which for nearly 70 years offers adapted risk prevention, monitoring and protection services to companies of all sizes and nationalities and in all sectors. Clients thus benefit from the expertise and organisation of an international Group that can offer them local service fine-tuned to their needs.
The group holds an estimated 20% market share in the credit insurance industry and is present directly or via strategic partnerships in 100 countries, with the ability to offer multinationals a structure suited to their needs that combines global reach and proximity, with a deep knowledge of local economic conditions in multiple sectors
Due to their specific Business, it's not possible to find off-the-shelf software for all 'core' activities so most of critical core business applications are developed internally.
Their current ambition is to be the most agile global trade credit partner in the industry, while evolving to a more capital efficient business model. The setting of a new IT Application Development Excellence Center based in Bucharest will allow a concentration of efforts and expertise for IT, the main pillar of the plan implementing the strategy.
For this new center, they are looking for a Java Software Development Team Lead who will be part of an agile development team, building and working on enterprise grade software systems on top of the Java Enterprise Environment (JEE) development stack. The Software Development Team Lead will provide technical and team leadership through coaching and mentorship.
Duties and Responsibilities
Reporting to the Head of IT Development, the duties and responsibilities of the Software Development Team Lead include:
- Guide team development efforts towards successful project delivery.
- Provide technical leadership to teammates through coaching and mentorship.
- Maintain high standards of software quality within the team by establishing good practices and habits. Identify and encourage areas for growth and improvement within the team.
- Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications built on JEE technologies.
- 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.
- Design, develop, and unit test applications in accordance with established standards. Participate in peer-reviews of solution designs and related code.
- Package and support deployment of releases.
- Analyze and resolve technical and application problems.
- Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
- Adhere to high-quality development principles while delivering solutions on-time and on-budget.
Desired Skills & Experience minimum requirements
- 5+ years experience as a Software Developer
- Prior experience in a technical leadership position
- College or University degree in Computer Science or a related discipline
Core Competency Requirements
- Proficient in Java, with a good knowledge of its ecosystems
- Solid understanding of object-oriented programming
- Familiar with various design and architectural patterns
- Skill for writing reusable Java libraries
- Good knowledge of object/relational mapping and tools (Hibernate)
- Knowledge of concurrency patterns in Java
- Familiarity with concepts of MVC, JDBC, and RESTful
- Experience with popular web application frameworks
- Familiarity with Java GUI frameworks (Angular JS, Spring , JSF)
- Knack for writing clean, readable Java code
- Experience with both external and embedded databases
- Understanding fundamental design principles behind a scalable application
- Basic understanding of the class loading mechanism in Java
- Creating database schemas that represent and support business processes
- Basic understanding of JVM, its limitations, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools
- Familiarity with build tools such as Ant, Maven
- Familiarity with continuous integration
- Knowledge on Linux environment