Job Description
Your job will be to develop a part of a distributed system that serves the hospitality industry. The system consists of many domain-oriented microservices developed under a few cross-functional teams. You can bring a smile on the faces of thousands of people working in hotels across the globe.
职位描述
我们的酒店管理解决方案由多个面向领域的微服务(domain-oriented microservices)
组成,并由数个跨职能团队共同开发。您将参与开发面向酒店行业的分布式系统的一部
分。该系统由多个面向领域的微服务组成,由若干跨职能团队共同开发。通过您的工作,
您将为全球数以千计酒店员工的工作体验带来改善。
Key Areas of Responsibilities
Designing, implementing then maintaining new functionalities inside a living system
• Designing scalable solutions within existing microservices ecosystem using Domain-Driven Design principles
• Implement complex business logic fhotel management operations including reservations, billing, reporting
• Ensure backward compatibility while evolving system architecture
• Design fault-tolerant components that handle high-volume hospitality data processing
• Collaborate with product teams to translate business requirements technical
specifications
主要职责范围
1. 系统功能的开发、实施与维护
• 运用领域驱动设计(Domain-Driven Design)的原则,在现有的微服务
(microservice)生态系统中设计可扩展的解决方案。
• 实现复杂的酒店管理业务逻辑,包括预订、费用结算和报表功能。
• 在系统架构不断进化的过程中,确保其兼容性。
• 设计容错组件,以应对高吞吐量的数据处理任务。
• 与产品团队协作,将业务需求进行技术转化。
Building dedicated export solutions f3rd parties
• Design implement robust APIs fexternal hotel management systems integration
• data export mechanisms fproperty management systems, channel managers, revenue management tools
• Implement secure authentication authorization fB2B integrations
• Develop file-based export solutions supporting various formats (XML, JSON, CSV)
• Ensure data consistency reliability in external data exchanges
• Manage API versioning maintain backward compatibility fexisting integrations
2. 为第三方构建专用的数据导出解决方案• 为与酒店管理系统对接的第三方系统设计并实现稳健的 API 集成。
• 为酒店管理系统(PMS)、渠道管理系统(Channel Management)及收益管理工具创
建数据导出机制。
• 为 B2B 集成实施安全的身份验证和授权机制。
• 开发支持多种格式(XML, JSON, CSV)的基于文件的导出解决方案。
• 确保外部数据交换的一致性和可靠性。
• 管理 API 版本控制,并维护现有集成兼容性。
Building scalable aggregated data strategy fanalytical reporting purposes
• Design efficient data aggregation pipelines fhotel performance analytics business intelligence
• Implement real-time batch processing solutions flarge-scale hospitality data
• optimized data models freporting on occupancy, revenue, operational metrics
• Develop ETL processes that handle complex hotel data transformations
• Ensure data quality consistency across multiple data sources
• Collaborate with data analysts to understreporting requirements optimize query performance
3. 为分析和报表目的构建可扩展的数据聚合策略
• 设计高效的数据聚合管道,用于酒店经营分析和商业智能(BI)。
• 对于酒店大数据场景设计实时和批处理解决方案。
• 创建针对入住率、收入和运营指标报表的优化数据模型。
• 开发处理复杂酒店数据转换的 ETL(抽取、转换、加载)流程。
• 确保来自多个数据源的数据质量和一致性。
• 与数据分析师协作,理解报表需求并优化查询性能。
Performing code reviews daily participating in code review process
• Conduct thorough code reviews focusing on code quality, security, performance
• Ensure adherence to coding standards, SOLID principles, established architectural patterns
• Provide constructive feedback on implementation approaches suggest improvements
• Review database queries foptimization opportunities potential performance issues
• Validate proper errhandling, logging, monitoring implementation
• Submit well-documented pull/merge requests with clear descriptions context
• Respond promptly to review feedback implement suggested improvements
• Engage in technical discussions about implementation approaches design decisions
• Follow established branching strategies merge procedures
• Ensure all code changes include appropriate unit integration tests
• Maintain high code coverage quality metrics
4. 每日进行代码审查并参与评审流程
• 专注于代码质量、安全性和性能进行彻底的代码审查。
• 确保代码符合编码标准、SOLID 原则及既定的架构模式。
• 就实现方法提供富有建设性的反馈并提出改进建议。
• 审查数据库查询,寻找优化机会并发现潜在的性能问题。
• 验证错误处理、日志记录和监控功能的正确实施。
• 提交带有清晰描述和上下文的、文档齐全的拉取/合并请求(Pull/Merge
Requests)。
• 及时响应审查反馈并落实改进建议。• 参与关于实现方法和设计决策的技术讨论。
• 遵循既定的分支策略和合并流程。
• 确保所有代码变更都包含适当的单元测试和集成测试。
• 保持较高的代码覆盖率和质量。
Using advanced tools to optimize performance of SQL queries used in APIs reports
• Analyze optimize complex PostgreSQL queries handling large hospitality datasets
• Design efficient database indexes partitioning strategies ftime-series hotel data
• Implement query optimization techniques including proper join strategies subquery optimization
• Use database profiling tools to identify resolve performance bottlenecks
• Monitquery execution plans implement caching strategies where appropriate
• Optimize Entity Framework queries implement efficient data access patterns
5. 使用高级工具优化 API 和报表中 SQL 查询的性能
• 分析并优化处理大型酒店数据集的复杂 PostgreSQL 查询。
• 为时序酒店数据设计高效的数据库索引和分区策略。
• 实施查询优化技术,包括适当的连接(Join)策略和子查询优化。
• 使用数据库性能分析工具识别并解决性能瓶颈。
• 监控查询执行计划,并在适当情况下实施缓存策略。
• 优化 Entity Framework 查询并实施高效的数据访问模式。
Working in collaborative iterative software development process with agile team
• Actively participate in Scrum ceremonies including daily standups, sprint planning, retrospectives
• Collaborate effectively with cross-functional teams including QA, Infrastructure, Product Team people
• Contribute to sprint planning by providing accurate effort estimates technical insights
• Adapt to changing requirements while maintaining code quality delivery timelines
• Practice continuous integration deployment with automated testing monitoring
• Participate in incident response post-mortem analysis fproduction issues
6. 在敏捷开发的框架下进行协作式、迭代式的软件开发
• 积极参与例会、迭代规划和评审会议等。
• 与质量保证(QA)、产品构架以及产品团队等跨职能团队进行有效协作。
• 通过提供准确的工作量预估和技术洞察,参与迭代规划。
• 在保持代码质量和交付时间线的前提下,适应不断变化的需求。
• 通过自动化测试和监控实践持续集成与持续部署(CI/CD)。
• 参与生产环境问题的事件响应和事后分析(Post-mortem analysis)。
Technologies used:
• C# 9, .NET Core - Latest C# features modern .NET ecosystem
• PostgreSQL (13+) - Advanced SQL features, JSON support, partitioning, performance tuning
• Microservices - Service-oriented architecture, inter-service communication, distributed system patterns
• Swagger - API documentation, testing, client code generation
• Docker - Containerization,chestration, deployment strategies
• Redis - Caching, session management, distributed data structures
• Kafka - Event streaming, message queuing, asynchronous communication between services
• Elastic Search (nice to have) - Full-text search, log aggregation, analytics
• Visual Studio 2022 / Resharper / Rider - Professional development environment with advanced debugging refactoring tools
技术需求
• C#9,.NET Core:使用*新的 C#特性和现代.NET 生态系统。
• PostgreSQL:高级 SQL 特性、JSON 支持、分区及性能调优。
• 微服务:面向服务的架构、服务间通信及分布式系统模式。• Swagger:API 文档生成、测试及客户端代码生成。
• Docker:容器化、编排及部署策略。
• Redis:缓存、会话管理及分布式数据结构。
• Kafka:事件流处理、消息队列及服务间的异步通信。
• Elastic Search(加分项):全文搜索、日志聚合及分析。
• Visual Studio 2022 / Resharper / Rider:配备高级调试和重构工具的专业开发
环境。
Qualifications
Strong verbal written communication skills in English are required
• Ability to communicate complex technical concepts to both technical non-technical stakeholders
• Experience in writing clear technical documentation API specifications
• Effective collaboration in international, distributed teams
Being fluent in Object-Oriented Functional Programming paradigms
• Deep understanding of OOP principles
• Experience with functional programming concepts in C#
• Knowledge of design patterns
Knowledge of .NET 8/9, Entity Framework
• Proficiency in latest .NET features including minimal APIs, global using directives, filescoped namespaces
• Advanced Entity Framework Core knowledge including migrations, query optimization, performance tuning
• Experience with dependency injection, middleware, ASP.NET Core pipeline
Strong experience with PostgreSQL
• Advanced SQL skills including complex joins, window functions, CTEs
• Database design normalization principles
• Experience with PostgreSQL-specific features like JSON/JSONB, arrays, custom data types
• Knowledge of database performance tuning query optimization
Good understanding hands-on experience in database performance aspects
• Index design optimization strategies
• Query execution plan analysis optimization
• Database monitoring performance metrics analysis
• Experience with connection pooling transaction management
Capability of writing clean code along with tests
• Test-driven development (TDD) behavior-driven development (BDD) practices
• Unit testing, integration testing, end-to-end testing strategies
• Code coverage analysis quality metrics
• Clean code principles SOLID design patterns
Being an open-minded, proactive person
• Willingness to learn new technologies adapt to changing requirements
• Initiative in identifying solving problems before they impact the team
• Collaborative approach to problem-solving knowledge sharing
Proactive attitude continuous improvement
• Self-motivated approach to professional development
• Regular participation in technical communities staying updated with industry trends
• Initiative in proposing implementing process improvements
Minimum 3-year experience in similar position minimum 5 years of experience in IT industry
• Proven track record in senibackend development roles
• Experience in leading technical initiatives mentoring other developers
• Demonstrated ability to work with complex, distributed systems
任职要求
• 英语能力:要求具备流利的英语口语和书面沟通能力,能够向技术和非技术利益相 关者传达复杂的技术概念;具备撰写清晰的技术文档和 API 规范的经验;能有效地在国际化的分布式团队中协作。
• 编程范式:精通面向对象(OOP)和函数式编程(FP)范式,对 OOP 原则有深刻理 解,具备 C#函数式编程概念的经验,并掌握设计模式。
• .NET 技术:具备.NET 8/9 和 Entity Framework 的扎实经验,精通*新.NET 特 性;高级 Entity Framework Core 知识(包括迁移、查询优化和性能调优);具备依赖注入、中间件和 ASP.NET Core 管道的经验。
• PostgreSQL:具备丰富的 PostgreSQL 实战经验,拥有高级 SQL 技能(包括复杂连接、窗口函数和 CTE);掌握数据库设计和规范化原则;具备 PostgreSQL 特定功能 (如 JSON/JSONB、数组和自定义数据类型)的经验;拥有数据库性能调优和查询优化的知识。
• 数据库性能:具备编写代码及配套测试的能力,熟悉测试驱动开发(TDD)和行为驱动开发(BDD)实践;掌握单元测试、集成测试和端到端测试策略;了解代码覆盖率分析和质量指标;遵循整洁代码原则和 SOLID 设计模式。
• 软性素质:思维开放、积极主动,乐于学习新技术并适应变化的需求;能主动发现问题并在其影响团队前解决;乐于协作解决问题并分享知识;具备自我激励的职业发展态度,定期参与技术社区并紧跟行业趋势;能主动提出并实施流程改进方案。
• 工作经验:至少 3 年同类职位经验,且在 IT 行业拥有至少 5 年经验;在高级后端开发岗位上有可证实的业绩;具备领导技术项目并指导其他开发人员的经验;具备处理复杂分布式系统的能力。
Nice To Have Skills:
Basics of Linux, Docker
• Linux commline proficiency system administration basics
• Docker containerization, Docker Compose, containerchestration
Domain-Driven Design
• DDD concepts including bounded contexts, aggregates, domain events
Experience with CQRS Event Sourcing patterns
• CommQuery Responsibility Segregation implementation
• Event sourcing architecture event store management
• Experience with event-driven architecture patterns
Experience with distributed systems web services
• Microservices communication patterns (synchronous asynchronous)
• Distributed transaction management eventual consistency
Experience in AWS RDS PostgreSQL other AWS database-related technologies is a plus
• AWS RDS configuration, monitoring, optimization
• AWS database migration services backup strategies
• CloudWatch monitoring performance insights
Experience in hospitality systems & familiarity with hospitality applications is a strong plus
• Understanding of hotel operations including reservations, check-in/check-out, billing
processes
• Knowledge of hospitality industry standards integrations (PMS, CRS, GDS)
• Experience with hotel revenue management reporting requirements
• Familiarity with hospitality-specific data models business rules
加分技能(Nice To Have)
• Linux 与 Docker 基础:熟练使用 Linux 命令行及系统管理基础;具备 Docker 容器化、Docker Compose 及容器编排的经验。
• 领域驱动设计(DDD):了解 DDD 概念,包括限界上下文(Bounded Contexts)、聚合(Aggregates)和领域事件(Domain Events)。
• CQRS 与事件溯源模式:具备命令查询职责分离(CQRS)和事件溯源(Event
Sourcing)架构及事件存储管理的经验。
• 分布式系统与 Web 服务:具备微服务通信模式(同步和异步)的经验;了解分布式事务管理和*终一致性。
• AWS 技术:具备 AWS RDS PostgreSQL 及其他 AWS 数据库相关技术的经验者优先,包括 AWS RDS 配置、监控与优化;AWS 数据库迁移服务及备份策略;AWS CloudWatch 监控及性能洞察。
• 酒店系统经验:具备酒店系统经验并对酒店应用熟悉者将被视为极大的优势,包括了解酒店运营(预订、入住/退房、计费流程);熟悉酒店行业标准及集成(PMS, CRS, GDS);了解酒店收益管理和报表要求;熟悉酒店特定的数据模型和业务规则。
More