As a Software Engineer in Backend, your primary role is in designing and developing high-quality backend services and APIs, with specific emphasis on long-term maintainability, resilience against failures, and high scalability. You are going to write codes that integrate with various other systems, both within our platform as well as those made by third-party partners.
Together with other engineers within your team, you are fully empowered to own the systems within your area of responsibility in production. From self-deployments to adding real-time metrics and automated alerts, you aim to understand the behavior and heartbeat of your systems in production.
About Your Responsibilities for the Role
- Design, develop, improve, and deploy high quality backend services and APIs.
- Write unit tests to ensure safety net of regression tests for effective refactoring.
- Within a cross-functional team, collaborate with other engineers specializing in backend services, web frontend, mobile apps, and test automation, as well as product design and ideation.
- Apply design patterns and design principles to produce maintainable and easy to extend code.
- Learn multiple tech stacks to use the best tools for the job.
What you need to have (i.e., Minimum Qualifications)
- Bachelor degree in Computer Science or related fields, or equivalent professional experience in software development.
- Humble culture, zero egos, and excellent collaborative spirit. We are all here to learn together and grow together as a team.
- Eagerness to learn, eagerness to help, eagerness to share.
- Firm grasp of algorithms, algorithmic complexities, design patterns and principles, clean code, and pragmatic aspects of programming.
What would make you stand out from the crowd (i.e., Preferred Qualifications)
- Masters degree, further education in Computer Science or Software Engineering, or equivalently extensive professional experience in software development.
- Knowledge and experience in Ruby, Go, Java, C/C++, Python, or Elixir/Erlang.
- Firm grasp in object-oriented, functional, or event-driven programming practices.
- Experience in building large-scale web apps/services/APIs.
- Solid understanding of SQL, Redis, MongoDB, Cassandra, or ElasticSearch, and the performance costs associated with queries.