Position: Backend Engineer
Company: FlipFit
Experience required: 2y
English level: fluent

**What we offer:**

- Fully remote job
- 20 days of paid holiday
- 400 PLN each month to spend on +750 perks via Worksmile
- Working hours from 8:00 / 9:00 AM CEST to 4:00 / 5:00 PM CEST
- Integration events
- Informal atmosphere
- Non-corporate communication across teams
- An international environment in which English is spoken

**Our tech stack:**

- Databases: MongoDB / AWS RDS / ScyllaDB
- Brokers: RabbitMQ / Kafka
- Microservices based on: K8s
- Monitoring & APM: DataDog
- Logs: ELK Kibana
- CI/CD system: GitLab
- Infrastructure as a Code: Terraform & Ansible
- Our main cloud: AWS

**Your role and responsibilities:**

- Working with the newest technologies and up-to-date libraries (Node, TypeScript, NestJS, MongoDB)
- Working with microservices architecture
- Developing new features and maintaining existing ones
- Building and writing reusable code and libraries for future use
- Bringing your ideas into the product and sharing them with others
- Optimizing applications for speed and scalability
- Focusing on the quality of the code via the code review process

**What we need from you:**

- Experience in building Node web applications
- A deep understanding of JavaScript and TypeScript
- Knowledge and experience in NestJs
- Experience with MongoDB
- Experience working with RabbitMQ or alternatives
- Knowledge of Unit and Functional testing (Jest & Mocha)
- Experience working with GIT
- Experience working with Docker

**Awesome to have:**

- Experience and understanding of high-load, real-time, distributed applications
- Experience with ElasticSearch, ScyllaDB, Influx, Timescale, Kafka
- Understanding of Kubernetes & containerization
- Understanding of Cloud (AWS) Infrastructure
- Understanding of load distribution, algorithm complexity, and data-flow optimization
- Good skills in data modeling and data denormalization
- A good level of spoken and written English (min. B2)
- Being passion-driven when it comes to creating clean code, delivering a great product and constantly improving yourself
- Being ready to help other team members
- Being eager to help them make informed decisions
- Being open to learning and mastering diverse technologies and techniques, along with a desire for continuous learning
- Experience in working in a fast-paced working environment 
- “Can-do” attitude with readiness to face new challenges