
About this role
Company Description
Shiji is a global technology company dedicated to providing innovative solutions for the hospitality industry, ensuring seamless operations for hoteliers day and night.
Built on the Shiji Platform - the only truly global hotel technology platform - Shiji’s cloud-based portfolio includes Property Management System, Point-of-Sale, guest engagement, distribution, payments, and data intelligence solutions for over 91,000 hotels worldwide, including the largest chains.
The best hotels run on Shiji - day and night.
Job Description
Your Role
You will be working on a distributed technology platform that supports a wide range of hospitality operations, including hotels, restaurants, spas, golf facilities, and more. The platform is used globally and supports thousands of hospitality professionals in their day-to-day work.
In this role, you will contribute to the quality and reliability of a system made up of many domain-driven microservices, developed by multiple cross-functional teams. Your work will directly impact the stability and usability of products used by customers around the world.
What You Will Do
- We work in iterations with regular refinement, planning, and retrospective meetings.
- Source code is managed in GitLab, using develop and master branches with feature branches for each user story.
- We make changes regularly and use CI/CD pipelines via GitLab and Jenkins.
- Merge requests are reviewed by team members before being merged.
- Docker and Docker Compose are used for local development and microservices deployment.
- Microsoft Teams is our primary communication and collaboration tool.
- We create internal NuGet packages to share functionality, build platform components, and avoid duplication
- We develop an API-first platform with a strong focus on integrations and internal front-end consumers
Technologies We Use
- C# 13, .NET 9
- Microservices architecture
- CQRS, Domain-Driven Design (DDD)
- Swagger / OpenAPI
- Docker
- PostgreSQL, Redis, Elasticsearch
- Kafka
- Visual Studio, Rider, ReSharper
Key Areas of Responsibility
- Understand functional requirements and develop, enhance, and maintain software features based on documentation and user stories
- Work within an agile Scrum framework (sprints, grooming, planning, retrospectives)
- Deliver high-quality, and maintainable code
- Write and maintain tests
- Participate in code reviews to ensure quality and consistency
- Contribute to the development infrastructure and tooling used by the team
- Collaborate with team members on solution design and technical decisions
- Share knowledge and best practices with other developers
- Work with microservices in a multi-region cloud environment
Qualifications
- Strong understanding of Object-Oriented and Functional Programming paradigms
- Experience with distributed systems and Domain-Driven Design
- Experience with CQRS and Event Sourcing patterns
- Solid knowledge of C#, .NET, REST APIs, and relational databases
- Basic working knowledge of Linux and Docker
- Ability to write clean, well-tested code
- Interest in testing, code review, and overall code quality
- Familiarity with Git and collaborative development workflows
- Good understanding of software design principles, best practices, and patterns
- Open-minded, proactive, and comfortable contributing to technical discussions
- Ability to work independently while knowing when to ask for help
- Fluent in English, both written and spoken
Additional Information
Interested?
We look forward to your application, including your possible starting date and salary expectations.
We thank all applicants for their interest, however only those candidates selected for interviews will be contacted.