IC2 - Software Engineer Backend
Objective of the Role
*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-turn-id="request-6a8dd5cb-6410-83e8-8ee0-a02c67a27fb9-6" data-turn-id-container="request-6a8dd5cb-6410-83e8-8ee0-a02c67a27fb9-6" data-testid="conversation-turn-24" data-turn="assistant">
We are looking for: A Backend Engineer focused on the technology behind the terminal engine, primarily using Java and Spring Boot. The role will be mainly responsible for backend development, collaborating on small-scale components, tools, and microservices applications, as well as supporting the development and testing of software solutions within defined boundaries. The engineer will also provide timely follow-up and support after service releases, resolve straightforward technical issues, and ensure solutions follow secure development standards and guidelines under the guidance of the Engineering Lead.
Main Responsibilities
Develop software solutions that meet business requirements and technical specifications.
Document code and comply with current regulations and procedures to ensure maintainability and scalability.
Develop and maintain APIs to support various applications and services.
Implement solutions using container technologies, ensuring application efficiency and scalability.
Work with Architecture, Data Management and DevOps teams through agile sprints to promote continuous development releases.
Gather and document functional and non-functional requirements in JIRA stories for projects and technical improvements.
Collaborate closely with other technical and business teams to understand and translate requirements into technical solutions.
Define clear acceptance criteria before development to ensure quality and alignment with business goals.
Write unit tests to verify code functionality and reliability.
Perform integration tests to verify joint functionality and ensure seamless operation.
Test product usability and accessibility to enhance user experience.
Maintain updated documentation on architectures, procedures, and operational tools to support ongoing development and maintenance.
Collaborate on testing to identify and resolve issues early in the development process.
Develop tools and scripts to automate operational tasks and improve efficiency.
Follow data architecture guidelines on how to collect and store information securely and efficiently.
Generate and deliver design documentation and information availability to the data team.
Promote an autonomous work culture by encouraging self-management, accountability, and proactive problem-solving among team members.
Serve as a Spin Culture Ambassador to foster and maintain a positive, inclusive, and dynamic work environment that aligns with the company's values and culture.
Required Knowledge and Experience
Minimum 2-3 years of experience as a Software Engineer.
Principal stack: Java & Spring Boot.
Knowledge of SQL and NoSQL (MongoDB, PostgreSQL, MySQL).
Use of tools like Maven, Gradle, Github Actions, Sonar Cloud.
Practice in Scrum and Jira management.
Creation of microservices and consumption of REST services, RESTful APIs.
Use of Git for version control and collaboration.
Effective communication and collaboration skills to work with cross-functional teams.
Strong problem-solving skills and attention to detail.
Location: Monterrey
Nice to have (Big plus): Knowledge of messaging protocols / transactional messages (Prosa / Global) applied to payment terminals.
Java:
At least 2 years of professional experience in Java development in a team environment.
Experience with Java, Spring Boot, Hibernate.
Experience with JUnit and Mockito.