IT & Software

Software Engineer - Java/C++

LEAP29

Oxfordshire · Oxfordshire · United Kingdom

Overview

As a Software Engineer (Java), you will develop and maintain high-performance desktop applications in an Agile setting. You’ll work closely with Product, Architecture, QA and DevOps to deliver features from design to production support. You will apply solid CS fundamentals, design principles and best practices to build reliable software. The role offers an opportunity to impact technical and scientific software across distributed teams, focusing on quality and performance.

Responsibilities
  • Design, develop and maintain complex desktop software applications primarily using Java
  • Contribute across the full software development lifecycle including design, development, testing, deployment and production support
  • Work within an Agile Scrum team delivering new features, enhancements and defect fixes through iterative development
  • Collaborate with Product Owners, Architects, QA Engineers, Scrum Masters and Developers to deliver high-quality software
  • Participate in technical design discussions, solution reviews and estimation sessions
  • Write clean, maintainable and well-tested code following engineering best practices
  • Perform code reviews and contribute towards improving code quality and development standards
  • Investigate, troubleshoot and resolve complex software issues across development and production environments
  • Work effectively with distributed engineering teams across multiple locations
  • Continuously improve engineering practices and contribute ideas to enhance software quality and team performance
Key requirements
  • Strong hands-on Java development experience within complex desktop applications
  • Excellent understanding of object-oriented programming principles and software design
  • Strong computer science fundamentals including algorithms, data structures and software architecture
  • Solid understanding of multithreading, concurrency and synchronisation
  • Experience applying common design patterns and architectural principles in commercial software
  • Good understanding of memory management, performance optimisation and application profiling
  • Experience writing unit and integration tests and building maintainable automated test suites
  • Experience working with Git and CI/CD pipelines using GitLab or similar tooling
  • Strong analytical thinking and problem-solving ability
  • Excellent debugging and troubleshooting skills
  • Ability to communicate technical concepts clearly and work collaboratively within Agile teams
  • Analytical thinking
  • Collaborative mindset
  • Clear communication
  • Java
  • Object-oriented programming
  • Multithreading and concurrency

Reference: WJ-747_30144266

Apply now

Continue on the employer's official application - the same link they use for every candidate.

More jobs

Find more on GigBlows

This role is listed on GigBlows for discovery and search. Hiring decisions and applications are handled by the employer or their chosen application system.