Software Engineer (Java)
Dublin
Product & Technology – Product & Technology /
Permanent /
Hybrid
Role Purpose:
CarTrawler’s server-side car and transportation platforms are developed by several in-house Java technology teams. While each of the teams focus on different aspects of the technology stack, they share common software architectures, working practices, agile methodologies and design strategies. This role has responsibility for participating in one such team, contributing to the development and delivery of features, projects and commitments agreed with the business.
The Mid-Level Java Engineer is expected to demonstrate a high degree of initiative in terms of design and implementation decisions, while collaborating with senior engineers to review and ensure best practices are implemented – particularly in respect of new and novel technology initiatives. Additionally, the Mid-Level role is expected to provide mentoring and director to Junior engineers, contributing to code reviews and design reviews with the goal of ensuring quality and maintainability of the overall codebase.
Reporting to: Engineering Manager
Main accountabilities and key tasks:
- Participating in technical design. Validating strategies with Senior Engineers and Engineering Manager to ensure best practices and recognised design patterns are used. Striving for simplicity.
- Collaborating with developers on the same team and across the entire technology team. Ensuring knowledge is shared.
- Implementing efficient and performant solutions. Avoiding over-optimisation but recognising compute-intensive or IO intensive solutions and tuning / validating as appropriate.
- Implementing test-able, maintainable code. Following the Java team’s pragmatic, defensible test strategies to ensure a desired level of quality.
- Working with Engineering Manager to deliver prioritised features and projects to the business according to agreed priorities and timing commitments.
- Providing input into the evolving Agile Strategy, Architecture, Continuous Integration and Automation.
- Fellow Java Developers
- Product Technology Teams
- Business Teams within CarTrawler
Critical Interfaces
Knowledge and Experience Required:
- Experience participating in agile planning and cross-functional stand-ups.
- Experienced Java (enterprise) developer. 4+ years of Java development experience.
- Working knowledge of Gang of Four Design Patterns.
- Working knowledge of frameworks such as Spring, Hibernate, JPA. Particularly in terms of the design and development practices they represent (Inversion of control, Modularity, Composition, etc)
- Awareness of emerging technologies and methodologies, recognising when there are efficiencies to be gained or competitive advantages in adopting or investigating new technologies.
- Experienced developing scalable Java Enterprise applications.
- Experienced in database integration – particular emphasis on Relational & Transact SQL.