Svitla Systems Inc. is looking for a Senior Software Engineer for a full-time position (40 hours per week) in Chile.
Our client is a global technology company specializing in self-service payment solutions and digital customer engagement for the retail petroleum industry. Headquartered in New Zealand, they offer a range of innovative products designed to enhance the customer experience at fuel stations and retail locations. The solution is designed to provide secure, fast, and reliable payment processing at fuel dispensers. These terminals support various payment methods, including EMV, NFC, and mobile payments. This software platform enables remote management and monitoring of payment devices. It includes features for security, diagnostics, and real-time updates, facilitating efficient operation and maintenance. The solutions allow for remote monitoring and management, reducing downtime and maintenance costs while ensuring devices are always up-to-date and secure. The client operates in multiple countries and serves a diverse range of clients, from small, independent fuel retailers to large multinational chains.
_A position within the development team responsible for designing and developing solutions for web and desktop platforms, automated testing, designing and developing solutions with integration with systems, services, and databases, creating new modules for legacy systems, and developing RESTful and SOAP APIs (JSON and XML). You will also provide technical guidance and support to other engineers on the team and the services department. You will collaborate closely with cross-functional teams, including software developers, QA engineers, and the product owner, to identify needs and enhance the company’s products.
_Requirements
- 5+ years of experience developing with React JS (hooks, TanStack Query, functional components).
- 5+ years of experience using Node.js.
- 5+ years of experience with JavaScript (ES6+).
- Understanding of API programming and testing.
- Knowledge of MongoDB and Mongoose.
- Knowledge of SQL.
- Knowledge of RabbitMQ /AmazonMQ/ MQTT (IoT)
- Experience as a senior developer with design responsibilities.
- Experience with Git (use of branches, pull requests, and merges).
- Understanding the subsystems in the overall architecture and the interaction between various subsystems. Leverage that deep knowledge to ensure designs are designed for quality, performance, reliability, and scalability.
- Experience in implementing the test-driven development (TDD) approach and coaching the team.
- Experience in developing REST APIs and SQL queries (complex queries).
- Understanding of creating cloud services and coaching the team.
- Expertise in using a CI/CD pipeline to deploy applications on cloud (AWS, PCF, Azure, etc.).
- Experience in implementing authentication methods (LDAP, OAuth, OAuth2.0, etc.).
- Adherence to coding standards and creating software documentation.
- The ability to work without guidance on medium to high complexity algorithm features and non-functional requirements.
- Understanding how to review one’s work without PRTI and performing unit testing.
- Expertise in performance testing of the software.
- Technical Support
- Expertise in identifying and fixing issues in multiple modules and their interfaces.
- Expertise in identifying the root cause of complex issues that impact functionality and performance.
- Understanding principles of Software architecture, including embedded platforms, IoT, and cloud.
- Knowledgeable about automated testing tools and procedures.
- Requires conceptual and practical expertise in one’s discipline and basic knowledge of related disciplines.
- Understand and collaborate with other software professionals to integrate work effectively.
- Ability to apply knowledge acquired through training in new technology
- Ability to develop or maintain new automation to align with software architecture and design.
- Extensive experience working in an Agile software development lifecycle and can function as a Scrum Master or lead daily stand-ups, sprint planning, and sprint retrospectives.
- Understanding how to work across Scrum teams to deliver a project may lead to a Scrum of Scrums if needed, and can mentor other team members.
- Knowledge of internal or external business issues to improve products or services and processes.
- The ability to work in an efficient and timely manner.
- Willingness in gaining knowledge through experience.
- The ability to focus on quality and opportunities for improvement.
- Proactive, organized, and detail-oriented individual with an analytic profile.
- The ability to work with self-direction/autonomy.
- Cross-cultural skills to work and collaborate with others in a global team environment.
- Committed to drive results.
Advanced written and oral communication skills, both in Spanish and English.
Responsibilities
- Configure and utilize CI/CD pipelines.
- Ensure on-time delivery of agreed milestones and deliverables.
- Quickly learn the internal structure.
- Support the preparation and implementation of technical architecture under the guidance of architects and experts.
- Execute and recommend best coding practices, and understand how to minimize bugs and errors in implementation.
- Propose a standardized way to implement platform capabilities, design principles, and put standard work around it.
- Partner with product management, product owners, and architects to create software specifications and design artifacts.
- Establish a code repository and integrate with continuous build environments.
- Verify code quality for all the modules. Integrate automated tests into the CI/CD pipeline to enable continuous integration and testing.
- Collaborate across teams to enable Continuous Integration/Continuous Testing (CI/CT) for the project.
- Participate in the selection of new development and automation tools.
- Drive sprint planning with the team, is involved in backlog refinement with Product Owners, task assignments, and provides leadership to the team.
- Solve complex problems; take a new perspective using existing solutions.
- Work independently, requiring minimal guidance, and can effectively guide the work of small groups of other software professionals.
- Act as a resource for colleagues with less experience.
- Does coding of solutions as per design guidelines, independently.
- Propose designs for modules and submodules for solutions under the guidance of the architect.
- Learn to understand the customer’s needs and the system’s solution capability to address these needs.
- Propose changes needed in the system.
- Support program increment and release planning and management, participating in Scrum of Scrums.
- Conduct needs assessments and business rules.
- Design and adapt solutions to the proposed scope.
- Maintain the entire development history in the JIRA platform.
- Maintain and manage sources in a version management platform.
- Technically document the developed products.
- Provide guidance and support to other developers and the services department.
- Collaborate with other engineers to improve development processes, tools, and methodologies. Collaborate with the product owner to understand requirements, identify test scenarios, and define acceptance criteria.
We offer
- Competitive compensation based on skills and experience.
- Flexibility in the workspace and remote-friendly culture.
- Personalized learning program tailored to your interests and skill development.
- Free webinars, meetups and conferences organized by Svitla.
- Awesome team, friendly and supportive community!