Description:
We use a full TypeScript stack for both the front and backend, including some legacy JavaScript. Our front-end is a ReactJS app following modern standards such as functional components and the context API. The back-end is an ExpressJS application with a PostgreSQL database and Sequelize as an ORM. Our architecture follows a microservices approach, utilizing Docker, Terraform, AWS ECS and other AWS services. For interservice communication, we rely on RabbitMQ and Apache Kafka.
What You'll Do
- Write clean, readable, and testable code that adheres to best practices, ensuring high performance, reliability, and maintainability.
- Collaborate with the team to design and implement scalable, secure, and resilient system architectures that align with the company’s long-term goals.
- Lead projects from initial planning through development, testing, deployment, and maintenance, ensuring milestones are met and project outcomes are successful.
- Work closely with stakeholders, including Product, Design, and Data teams, to translate business needs into technical solutions that enhance the customer experience.
- Engage in peer reviews, contribute to system design discussions, and help improve overall development standards and best practices.
- Take ownership of solving complex technical challenges, balancing business needs with technical constraints to deliver scalable and maintainable solutions.
- Stay ahead of emerging technologies, evaluate new tools and frameworks, and contribute to reducing technical debt while improving system performance.
- Provide mentorship and technical guidance to engineers across all levels, fostering a culture of collaboration, knowledge sharing, and continuous learning.
What We're Looking For
- B.S. degree in Software Engineering or equivalent experience
- 4+ years relevant industry experience developing software solutions
- Proficiency in one or more modern programming languages (e.g. Typescript, Python, Go, Ruby, C#, Rust, etc…)
- Strong understanding of Frontend and/or Backend frameworks such as (React/Vue, Express/Flask, Ruby on Rails, etc…)
- Familiarity with cloud platforms such as AWS (Amazon Web Services), Azure, or Google Cloud Platform.
- Experience working with relational databases like PostgreSQL, MySQL, or Oracle, and in writing efficient SQL queries, designing database schemas, and optimizing database performance.
- Experience in optimizing application performance, identifying and resolving bottlenecks.
- Knowledge of testing frameworks and methodologies for unit testing, integration testing, and end-to-end testing.
- Experience working in an Agile development environment, following methodologies such as Scrum or Kanban, and using tools like Jira or Github Projects for project management and collaboration.