Senior Developer - Android

Ulta Beauty - Chicago, IL

Full-time
OUR STORY:
Ulta Beauty is the largest specialty beauty retailer in the United States and the place for the true beauty enthusiast who gets butterflies as she shops for beauty and experiments throughout our store. We are the only one to provide our guests prestige, mass and salon products and services under one roof – All Things Beauty, All in One Place™. We put our guests at the center of all we do, committing to offer her unrivaled ways to be beautiful in an environment that provides the thrill of exploration and delight of discovery.

POSITION SUMMARY:
The Senior Developer has significant responsibilities related to project planning, architecture and execution. They support a team of employees and consultant developers to ensure successful delivery of Guest Facing Android App projects and operate in a highly dynamic and fast paced environment. This position works closely with business teams to understand and implement strategic initiatives on time and on budget. The Senior Developer takes a hands-on role delivering multiple projects and contributing to the future state architecture for Android Apps. The Senior Developer is responsible for the design, development, implementation, and rollout of Guest Centric Android Mobile Apps.

CORE JOB RESPONSIBILITIES:
Application Support - Assists in the investigation and resolution of issues relating to mobile native applications. Assists with specified procedures.
Development Testing - Performs the execution of given test scripts under supervision. Records results and reports issues. Develops an understanding of the role of testing within system development, as a tool for design improvement as well as a validation process.
Performance Management - Supervises individuals. Allocates routine tasks and/or project work. Provides direction, support and guidance as necessary, in line with individuals’ skills and abilities. Monitors progress against agreed quality and performance criteria. Acts to facilitate effective working relationships between team members.
Problem Management - Investigates problems in systems, processes and services. Assists with the implementation of agreed remedies and preventative measures.
Programming/Software Development - Provides local or team-based standards for programming tools and techniques, including security guidelines, and the selection of appropriate development methods. Takes technical responsibility for all stages and/or iterations in a software development project, providing method specific technical advice and guidance to project stakeholders.
Release Deployment - Uses the tools and techniques for specific areas of release and deployment activities. Administers the recording of activities, logging of results and documents technical activity undertaken.
Requirements Definition & Management - Undertakes business requirements as directed, maintaining traceability back to source. Reviews operational requirements, problems, and opportunities, seeking effective business solutions through improvements in automated and non-automated components of new or changed processes.
Systems Integration - Assists in the software builds from software source code. Performs tests as defined in an integration test specification, records the details of any failures, and carries out fault diagnosis relating to simple failures, reporting the results of the diagnosis in a clear and concise manner.

ADDITIONAL RESPONSIBILITIES:
Responsible the lifecycle of design, develop, test Android applications, and app store submission.
Responsible for evaluating new technologies to be implemented on Ulta mobile apps.
Responsible for reviewing the implementation of mobile technologies to ensure they meet our guidelines.
Evaluate and select from existing and emerging technologies for the options best fitting business needs.
Contribute to all phases of an enterprise, full lifecycle project
Able to multi-task and adapt quickly to agile, aggressive schedules
Work closely with key business partners during entire lifecycle of the project
Provide technical support & troubleshooting for production issues

REQUIREMENTS FOR CONSIDERATION:
Bachelor’s degree in Computer Science or related field or applicable work experience
5+ years development experience with solid programming abilities including Android tool ecosystem (e.g. Android Studio) for development, testing, debugging, and performance benchmarking using Java or Kotlin(preferred). Experience reviewing and implementing third party APIs and SDKs
Strong experience in Android Apps and related technologies, Google Push Notification Services, Foundation Framework, Memory Management, and detailed knowledge of Android API capabilities.
Experience working XML/JSON and familiarity with REST/SOAP methodologies
Strong leadership skills in accountability and customer focus
Experience creating and publishing apps at scale, retailer app experience is a plus
Proactive and able to catch issues before failures
Experience interacting with business users and vendors including vendor management
Strong analysis/troubleshooting skills
Excellent communication skills; feels comfortable working with non-technical business partners
Work with production support and project consultants in an onshore / offshore model
Flexibility of providing support during odd hours, weekends, and peak seasons
Minimal travel required (training/conferences)