Marriott is looking to resolve and make decisions on more complex, non-routine service requests with limited to moderate risk, and to perform research, analysis, design, creation and implementation of applications to meet current and future user requirements. The company aims to define and create the next generation of solutions to drive Marriott value by creating solutions that serve the business leveraging current and leading-edge technologies in an innovative and impactful manner.
Requirements
- 5+ years hands-on experience with Android native application development languages, frameworks and tools (e.g., Kotlin, Java)
- Proficient understanding of Android Architecture components (Jetpack Compose, Data Binding, etc)
- Strong architectural mindset and experience working with MVVM/MVI design patterns
- Expertise in multithreading techniques and hands on experience with Coroutines or RxJava.
- Solid understanding of caching mechanisms, data management and storage solutions (Room, SQLite, etc.)
- Excellent knowledge of working with dynamic data using services (e.g., JSON, REST APIs, GQL, etc.)
- Experience with unit testing and Android testing frameworks such as Espresso
Responsibilities
- Operates as a key member of the team/squad to resolve and makes decisions on more complex, non-routine service requests with limited to moderate risk.
- Performs research, analysis, design, creation and implementation of applications to meet current and future user requirements.
- Defines and creates the next generation of solutions to drive Marriott value.
- Monitors multiple projects by Service Provider to successful completion, maintaining scope within the time and budget constraints.
- Creates solutions that serve our business leveraging current and leading-edge technologies in an innovative and impactful manner.
- Provides consultation for routine and complex systems development
- Ensures early warning to the business stakeholder executives regarding degraded or missed service levels
Other
- 6+ years’ experience in software development with expert level expertise in multiple programming languages and methodologies.
- Undergraduate degree or equivalent experience/certification
- Strong verbal and written communication skills with the ability to articulate complex technical ideas in easy-to-understand business terms
- Ability to accomplish results through others, particularly by establishing relationships, effective controls and leading in a managed service environment
- Technology leadership experience in a sourced environment