Job Description
Job Summary
- We are seeking a Software Engineer (Backend) to join the Technology team to build the next-generation applications to solve complex problems and work with a world-class engineering and product team to deliver innovative products for our users.
What a typical week may look like at Youverify:
- Design and implement new features and enhancements using NodeJS
- Fix bugs assigned during the sprint planning process
- Design, innovate and solve complex problems inherent in operating a high scale classifieds platform
- Play a key role in reviewing and approving the work of your peers as part of the software development process
- Interact with product owners, partners, and business stakeholders to understand and develop requirements
- Debugging and Improvement of existing systems
- Expand our micro-services architecture
- Management of all 3rd party tool relationships and integrations from a technical aspect. i.e. SMS providers, Email, APIs, Finance tools, Marketing tools, Business tools, AWS, etc.
Requirements
- Bachelor’s or Master’s Degree in Computer Science, Mathematics, Electrical Engineering or related field
- 4+ years experience working with NodeJS
- Comfort working within agile methodologies and experience in estimation and time management
- Intermediate understanding of unit and integration testing, and testing frameworks/libraries – Mocha, Jest, etc
- Strong preference for test-driven-development (TDD) and understands its importance
- Experience having worked with at least one Web Framework for your language of choice
- Comfort and familiarity with code editor and formatting tools
- Familiarity with at least one web server technology — (ex: Apache, Nginx)
- Working knowledge of at least one CI / CD tool — Jenkins, Travis CI, Circle CI, Github Action
- Working knowledge of gRPC and protocol buffers
- Strong ability to problem-solve, debug, and understand pertinent performance metrics
- Familiarity with containerization infrastructure (Docker), Caching (Redis), API gateway (Kraken), orchestration (Kubernetes), Distributed tracing (Jaeger), Service mesh (LinkerD), and observability
- Knowledge of microservices (or SOA), Docker, and/or distributed systems.
- Good working knowledge of NoSQL systems (MongoDB, Elastic, Cassandra), Relational Database Systems (MySQL, PostgreSQL, or Oracle), Messaging Systems (RabbitMQ), Kafka
- Experience with managing and deploying applications on AWS / DigitalOcean / GCP.