We are here to leverage the [Power of Data] and our [Strategic Knowhow] to accelerate the next [Mobility] Revolution.
Senior Software Engineer – Java
Location
Greece
Posted
4 days ago
Salary
0
Seniority
Senior
Job Description
Senior Software Engineer – Java
MORO TECH
• Develop, test and maintain backend applications, ensuring high performance, scalability and reliability. • Collaborate with cross functional & feature teams to understand project goals and provide input on the technical direction. • Support the Solution Architects with technical architectural decisions, bringing out of the box thinking and best practices to the team. • Troubleshoot and resolve complex technical issues within the development lifecycle. • Assist in establishing coding standards, reviewing code, and ensuring adherence to best practices. • Provide technical guidance to team members, helping foster a collaborative and growth-oriented environment.
Job Requirements
- BSc in Computer Science, Electrical/Computer Engineering, related technical discipline or related professional experience.
- 4+ years of hands-on experience within the Java ecosystem, particularly with SpringBoot.
- Solid experience working with NoSQL databases (eg. Mongo).
- Experience in designing and implementing REST APIs, with the ability to seamlessly integrate them with multiple 3rd-party services.
- Familiarity with asynchronous flows and event-driven architecture will be considered a plus.
- Familiarity with geospatial data (eg Google places) and/or EV Charging network interfaces (eg OCPI) will be considered a plus.
- Fluency in English is a must, as we are a multinational company.
- Active contribution as a team player to collaborative efforts.
- Curiosity and a willingness to learn new technologies, embracing an out-of-the-box thinking approach.
Benefits
- A competitive compensation package that grows with your impact.
- Annual Performance and Salary Reviews to celebrate your progress.
- Monthly Meal Vouchers to fuel your creativity.
- Premium Private Health Coverage for you and your family.
- Extra vacation days to recharge and explore.
- Yearly training budget to master new skills.
- Cutting-edge tech setup with optional upgrades to customize your gear.
- Structured growth plans and regular progress check-ins.
- Location-fluid culture with work-from-anywhere flexibility.
- Modern workspaces designed for collaboration, open for visits as often as you like.
- Flexible working hours to accommodate your productivity peaks.
Related Guides
Related Job Pages
More Backend Engineer Jobs
• Develop, maintain, and release new versions of JChat Java Client (Swing) • Develop, maintain, and release new versions of JChat Web Client (Angular) • Develop, maintain, and release new versions of JChat Openfire Server • Develop, maintain, and release new versions of M-Link Server for JChat • Participate in Scrum ceremonies • Maintain and improve the development pipeline (CI/CD toolchain) • Represent the JChat team at test events • Produce working snapshot builds every two weeks • Produce release candidates and test reports for each work package • Ensure code quality: SonarQube A score (Security, Reliability, Maintainability) • Maintain CI/CD uptime ≥ 98% and build success rate ≥ 95% • Collaborate with NCIA Product Owner on backlog prioritisation (JIRA)
• Develop, update, and maintain NIRIS software modules in accordance with agreed requirements, priorities, and release planning (NIRIS 4.7 and 4.8). • Evolve Java software components to support sustained compatibility with supported Java LTS runtimes. • Implement agreed functional enhancements, including CESMO integration (Electronic Surveillance information exchange) and historic track data capabilities (filtered retrieval from stored NIRIS recordings). • Enhance the RTS subscription mechanism and UI to support filtering by source name, time interval, geolocation, and track number. • Prepare software baselines for integration, testing, acceptance, and release. • Develop and maintain unit tests and automated tests for implemented software changes. • Support regression testing to ensure software quality, maintainability, and early defect detection. • Ensure test coverage of at least 85% for delivered changes where technically applicable. • Enhance NIRIS logging functionality, including per-port, per-endpoint, and per-interface logging. • Implement logging filters, improved stack trace handling, log compression, and framework migration as required. • Enable more efficient identification and analysis of runtime errors and operational incidents. • Maintain and improve NIRIS interfaces with external systems, including support for Link 16 / JREAP, OTH-Gold, DIS, VMF, AIS, and other agreed formats. • Provide technical support for interoperability test events (CWIX, TDLITS, INTEND, customer visits). • Address OANT/SMAQ configuration issues and analyser limit challenges. • Update user manuals, governance documentation, technical design documents, interface documentation, test documentation, and release-related artefacts. • Ensure all documentation remains accurate, current, and consistent with the implemented software baseline. • Participate in sprint planning, daily stand-ups, sprint reviews, and project meetings. • Track progress using agreed tools (Jira or equivalent) and proactively communicate risks or deviations. • Submit Deliverable Completion Reports with evidence of code commits, test results, and traceability to acceptance criteria.
• Develop, update, and maintain NIRIS software modules in accordance with agreed requirements, priorities, and release planning (NIRIS 4.7 and 4.8) • Evolve Java software components to support sustained compatibility with supported Java LTS runtimes • Implement agreed functional enhancements, including CESMO integration (Electronic Surveillance information exchange) and historic track data capabilities (filtered retrieval from stored NIRIS recordings) • Enhance the RTS subscription mechanism and UI to support filtering by source name, time interval, geolocation, and track number • Prepare software baselines for integration, testing, acceptance, and release • Develop and maintain unit tests and automated tests for implemented software changes • Support regression testing to ensure software quality, maintainability, and early defect detection • Ensure test coverage of at least 85% for delivered changes where technically applicable • Enhance NIRIS logging functionality, including per-port, per-endpoint, and per-interface logging • Implement logging filters, improved stack trace handling, log compression, and framework migration as required • Enable more efficient identification and analysis of runtime errors and operational incidents • Maintain and improve NIRIS interfaces with external systems, including support for Link 16 / JREAP, OTH-Gold, DIS, VMF, AIS, and other agreed formats • Provide technical support for interoperability test events (CWIX, TDLITS, INTEND, customer visits) • Update user manuals, governance documentation, technical design documents, interface documentation, test documentation, and release-related artefacts • Ensure all documentation remains accurate, current, and consistent with the implemented software baseline • Participate in sprint planning, daily stand-ups, sprint reviews, and project meetings • Track progress using agreed tools (Jira or equivalent) and proactively communicate risks or deviations • Submit Deliverable Completion Reports with evidence of code commits, test results, and traceability to acceptance criteria
Mid-Level Software Engineer – Python, React
RD StationTo empower the heroes and scale-ups that grow the economy
• Develop and maintain Python applications with a focus on quality, scalability, and operational support; • Contribute to frontend development using React across product flows and interfaces; • Design and evolve APIs and integrations between services and internal platforms; • Support the construction of architectures that enable agents, automations, and AI applications; • Contribute to engineering best practices, technical documentation, and development standardization; • Support the definition of testing strategies for flows involving LLMs, agents, and AI pipelines.


