About the Role:
ALICE is a growing startup serving 2k+ hotels all over the world with a global team of 140 staff spread across 16 countries. Our mission is to help businesses deliver exceptional hospitality with a focus on hotels. We do this by partnering with the world's best hoteliers to build a product that lets them do their best work. We take on the challenge of running the day to day tasks of every department in a hotel through a unified platform.
We are looking for a Software Architect to drive the next generation of ALICE products and their technical architecture. The ideal candidate is a structured thinker as well as an expert hands-on technologist who knows how to build scalable, reliable, and fault-tolerant distributed systems. You stay up-to-date with the latest architectural trends.
The Software Architect is responsible for designing ALICE's Core architecture as well as of all of its subsystems with our engineering team and serves as a coach during implementation. You will be part of the Platform Engineering team and responsible for:
Owning resiliency, performance, and scalability of the Platform and continuously improve it
Creating and enforcing technical standards (Coding Guidelines, Architectural Standards, etc) that apply to the entire Software Engineering team
Serving in a consulting role for all Agile product pods; do Architecture reviews
Technical Quality management for product releases; designing, running and analyzing load tests
Creating and managing API documentation, data model documentation, etc
Building POCs (proof of concept) and kicking off new innovative and exciting projects leveraging different services APIs, libraries and tools.
We are a small team with a big vision, and this is a chance to see how a product comes to life from the ground up.
Our front end stack is AngularJS.
Our backend is Java, Groovy/Grails, Spring MVC, Hibernate, ElasticSearch, Redis.
Experience architecting large, high-scale web applications and distributed systems
Exposure to architecture patterns in cloud (AWS, Azure, etc)
Understanding of performance and memory management
Object-Oriented Design and Development for 5+ Years (Java, C++, C#)
Proficiency with Java frameworks like Spring MVC and ORM solutions like Hibernate
Experience with real-time systems and messaging
SQL Database design and development
Agile software development lifecycle
Bachelor's degree in Computer Science