We are looking for a generalist Software Engineer who is excited about creating and supporting web services that provide the core functionality for the financial ecosystem, considering functional and nonfunctional requirements, as well as collaborating with other teams to evolve such services towards our technological vision.
The ideal candidate is passionate about mentoring and supporting other software engineers, and is comfortable collaborating with different teams to accomplish their team's goals.
Backend Software Engineers design and implement scalable, secure, and high-performance backend systems. They collaborate closely with their team, support peers, and ensure software quality while evaluating trade-offs in decision-making.
Key Responsibilities
- Analyzing issues, diagnosing root causes, and creating robust backend solutions aligned with business needs.
- Writing efficient, maintainable code, focusing on system performance, reliability, and security.
- Monitoring and maintaining backend infrastructure, troubleshooting and resolving bugs, and improving scalability.
- Contributing to best practices, mentoring team members, and reviewing code to uphold quality standards.
- Documenting backend processes, participating in technical discussions, and advising on project breakdowns and task estimation.
- Staying current with backend technologies, supporting onboarding, and collaborating with architects on evolving backend architecture.
Position Requirements (Experience & Competencies)
- Technical Expertise: Strong background in backend development with a solid understanding of programming fundamentals.
- Code Quality: Knowledgeable in best practices for code structure, readability, and maintainability.
- Software Design: Experience with software design patterns relevant to backend systems.
- API Development: Strong experience in designing, building, and integrating APIs, with an understanding of RESTful and/or GraphQL standards.
- Production Experience: Experience deploying, monitoring, and maintaining software products in a production environment.
- Architectural Knowledge: Familiarity with backend architectural patterns (e.g., MVC) and experience with microservices is a plus.
- Iteration & Improvement: Experience delivering solutions iteratively, with a continuous focus on optimization and improvement.
- Nice to have:
- Microservices Expertise: Experience designing and deploying microservices-based architectures.
- Language and Frameworks: Knowledge of Ruby and Ruby on Rails is beneficial.
- Cloud Platforms: Familiarity with AWS services, including deployment and monitoring solutions.