Senior Back-End Engineer - Application Infrastructure
- West Jakarta, Kebon Jeruk, West Jakarta City, Jakarta, Indonesia
Airyrooms.com was established in the middle of 2015 with the mission to build the best customer-centric services and to disrupt conventional hospitality industry by using technology. We are one of the fastest-growing online hospitality services in Indonesia and are currently the leading online hotel aggregator in the market. Our solutions span from hotel management to IT solutions mainly for our clients in hospitality industry.
To build a product that our customer love does not only need exceptionally beautiful interface, but also an extremely reliable and high performance back-end to deliver the required data. The application infrastructure team is the team that help our back-end engineers to develop that extremely reliable and high performance back-end with high efficiency and less effort over time. Thus, if you are interested to:
- Tweak, evolve, improve, and optimize our back-end service run-time. e.g: improve request processing time, implement various cross-cutting-concern in the framework (logging, security, extensible plugin), and simplify iteration and development workflow.
- Optimizing build and compilation speed for our back-end project (we use Java, NodeJS, and Python).
- Implement, experiment, adopt, and prototype various aspects of back-end technology ecosystem and cross-cutting concerns starting from build/compilation, cross-language communication protocol, abstraction and library distribution, high performance logging.
- Develop re-usable abstraction & components to help other engineers develop high performance, scalable, and reliable product with less effort.
- Unlocking and adopting new language to shape our future back-end engineering ecosystem.
- Continuously refactoring and improve the current application & service architecture, extract the general requirement to a common component, to maintain the long-term quality of the codebase.
- Have 4 to 5 years experience in similar role.
- Education in Computer Science or other quantitative subjects from top universities.
- Passionate and obssessed with scalability and reliability.
- Deep understanding and highly proficient in Java language and its ecosystem (we use Gradle, Maven, Quartz, RX, and DropWizard).
- Deep understanding and extensive knowledge about various back-end application architecture and design pattern.
- Deep understanding an extensive knowledge about various back-end application cross-cutting concerns (e.g: communication protocol, circuit-breaker, logging, request/response filtering & middleware, service discovery, load balancing), fundamental concept (e.g: multi-threading, asynchronous, non-blocking) , and best practices (e.g: configuration management, codebase structure, database design and modeling).
- Familiarity with Go, NodeJS and its ecosystem is a plus.