Software Developer

GOSS Interactive Limited
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
£ 55K

Job location

Remote

Tech stack

Clean Code Principles
HTML
Java
JavaScript
API
Software Quality
Code Review
Relational Databases
Software Debugging
Web Development
ECMAScript
Revision Control Systems
Gradle
Java Virtual Machine (JVM)
JSON
PostgreSQL
Maven
Microsoft SQL Server
Node.js
Object-Oriented Software Development
Open Web Application Security
Prometheus
Secure Coding
Software Engineering
Software Systems
Stylesheet Language
Large Language Models
GIT
Kotlin
Git Flow
Information Technology
Deployment Automation
Npm(Software)
Web Technologies
Software Version Control
Microservices

Job description

Goss was founded in 1999 and has been delivering digital transformation projects for over 25 years. Over that time, we have produced a lot of software, some of which includes two frameworks that provide the front ends that power our websites. As part of this role, you will be a member of a team responsible for modernising these frameworks by decomposing them into microservices and defining our core technologies going forward. You will have opportunities to shape our future technology and improve and design systems on mostly greenfield projects.

Role Responsibilities

Development

  • Write clean, testable, maintainable and secure code following industry best practices.
  • Practice good branching and merging hygiene, using revision control systems to ensure features can be safely reintegrated without large numbers of conflicts.
  • Produce effective human-readable documentation and LLM-friendly documentation (AGENTS.md, etc.).
  • Produce ADRs for larger technical decisions to ensure the context and reasoning behind them is not lost.

Software Quality and Security

  • Create and maintain automated unit, integration and functional tests to ensure regressions are caught and system stability is high.
  • Contribute to code reviews and share knowledge to improve the team's overall code quality.
  • Maintain vigilance over codebases to ensure high security standards are met, following good practices set by projects like OWASP and monitoring CVEs to keep projects updated and protected against known vulnerabilities.

Team Contribution

  • Contribute to systems design and engineering discussions with Senior Engineers and the Team Leader to shape and improve technical solutions.
  • Effectively communicate progress, blockers and technical details clearly during daily standups so that direction is well understood.
  • Participate in backlog refinement and team ceremonies and contribute to process improvements for increased team effectiveness.
  • Share knowledge and learnings with peers to ensure that the team's understanding and skill set consistently improves.

Personal Profile

You are a strong engineering professional with solid fundamentals and a passion for writing clean and maintainable code. You can work as part of a technical team and provide valuable insight and contributions to technical discussions. You continuously strive to improve your abilities and are not afraid to get involved in areas potentially outside of your areas of expertise. You have an overall passion and appreciation for the field and enjoy producing high quality solutions that meet client needs.

Requirements

  • A degree in Computer Science or equivalent computing field and/or industry experience in a related field
  • Strong understanding of Web Development fundamentals and technologies including but not limited to HTML, CSS and JavaScript/EcmaScript and JSON.
  • Very strong skills with Kotlin/Java, JavaScript/EcmaScript and Node.js.
  • Solid understanding of software development principles specifically around Object-Oriented systems.
  • Understanding of version control systems such as Git and the ability to employ merging and branching strategies for feature development.
  • Solid understanding of secure coding practices and the ability to write modular, performant and testable code.
  • Ability to debug and trace issues through complex systems.
  • Knowledge of RDBMS such as PostgreSQL or SQLServer.
  • Strong soft and interpersonal communication skills via verbal and written communication, able to communicate technical subjects with clarity.

Desirable

  • Related industry relevant qualifications or additional training courses online or otherwise.
  • Understanding of additional Web technologies such as API paradigms, i.e. REST and methods for securing transmitting claims, i.e. JWT.
  • Experience working with dependency management tools such as Maven, Gradle and NPM.
  • Understanding of package decomposition principles and the ability to apply them to large software systems.
  • Understanding of CI/CD pipelines for automated deployment and testing.
  • Familiarity with observability and logging systems such as OpenTelemetry and Prometheus.
  • Knowledge of remote debugger tools for JVM and Node systems.
  • Able to distil complex technical subjects into an easily digestible format for both technical and non-technical audiences.

Benefits & conditions

Pulled from the full job description Referral programme Free parking Company pension Paid volunteer time Casual dress Work from home Company events, * Casual dress

  • Company events
  • Company pension
  • Enhanced maternity leave

Apply for this position