Headquarters: London, UK
URL: https://paymentology.com
In this role you will be responsible for creating, enhancing, and maintaining software applications and systems. You will collaborate with cross-functional teams to comprehend requirements, design solutions, and implement code that conforms to best practices and industry standards. The role may necessitate the capability to work on multiple concurrent projects, proactively review progress, and offer recommendations for process enhancement. Moreover, the Software Engineer must possess robust problem-solving skills, technical expertise, and a dedication to delivering dependable software solutions.
- Collaborate with product management and tech leads to gather and analyse software requirements, ensuring a clear understanding of project objectives and specifications.
- Design software solutions and architectures that address functional and non-functional requirements, considering scalability, performance, and security.
- Write clean, efficient, and maintainable code using appropriate programming languages and frameworks, following established coding standards and best practices.
- Develop and execute comprehensive test plans to validate software functionality, reliability, and performance, including unit tests, integration tests, and end-to-end tests.
- Identify and resolve technical issues and bugs throughout the software development lifecycle, employing debugging tools and techniques to ensure the stability of software applications.
- Manage source code repositories using version control systems (e.g. Git), ensuring proper branching, merging, and documentation of changes.
- Implement unambiguous tasks with limited direction, breaking down portions of projects and contributing to task estimation. Follow standard issue-tracking workflows and processes, facilitated by JIRA.
- Create and maintain technical documentation, including design documents, user guides, test cases and API documentation, to facilitate knowledge sharing and support future development efforts.
- Write technical specification documentation and participate in the planning, and review of design and development activities for concurrent projects.
- Adhere to organisational policies, procedures, and regulatory requirements related to software development, security, and data privacy, ensuring compliance with industry standards and regulations.
- Collaborate with engineering teams to develop moderate to complex software applications, leveraging expertise in required languages and technologies.
- Work closely with cross-functional teams, including product managers, designers, and quality assurance engineers, to deliver high-quality software solutions on time and within budget.
- 3-5 years of experience in software development.
- Knowledge of one or more programming languages commonly used in software development, such as Java, with experience in the Spring Boot framework for building robust and scalable applications.
- Understanding of software engineering principles, data structures, algorithms, object-oriented design concepts, clean code, and SOLID principles
- Familiarity with software development tools and technologies, including integrated development environments (IDEs), version control systems (e.g. Git), and issue tracking systems (e.g. JIRA).
- Understanding of software practices such as Agile development methodologies, code reviews, and continuous integration/continuous deployment (CI/CD) pipelines.
- Skills in unit test and/or Test-Driven Development.
- Experience with multicloud kubernetes environments.
- Experience in leveraging Apache Kafka for building scalable, distributed systems and handling large volumes of data in real-time
- Ability to document requirements and specifications.
- Problem-solving skills.
To apply: https://weworkremotely.com/remote-jobs/paymentology-software-engineer-3