This job contributes to Starbucks’ success by providing technical leadership in developing cost-effective information technology solutions for key product initiatives. The role will make significant key decisions on various levels of engineering. This role will provide technical leadership and supervision in all dimensions of complex application development including prototyping, technical requirements gathering, coding, debugging, and system monitoring. In addition, the job includes ensuring that system improvements are successfully implemented and monitored to increase efficiency.
- Anticipates long term support issues and plans for corrective actions. Supervises and collaborates with support teams to ensure complex issues are resolved in a timely manner. Performs root cause analysis to identify permanent resolutions to software or business process issues.
- Recommends and establishes new software development, testing and documentation standards.
- Provides supervision and guidance in requirements gathering and functional specification activities. Collaborates with systems analysts in completing deliverables. Translates business requirements and functional designs into technical designs.
- Leads resolution of escalated software application issues as needed. Leads and coordinates activities to develop and execute plans to mitigate reoccurrence of production issues. Oversees and contributes to the documentation of production support processes.
- Ensures application and infrastructure architectural solutions are stable, secure, and compliant with company standards and practices
- Performs unit and property-based testing on all application functionality, and supports integration and load testing activities
- Participates in systems planning, scheduling and implementation. Collaborates with project team to keep projects on schedule by coordinating activities, monitoring project schedules, and costs.
- Designs, develops, implements, documents, and tests changes to an application microservice. Codes, tests, debugs, documents, and implements complex software applications. Initiates design reviews for new applications and adheres to software development standards.
- Collaborates with engineers and business partners to arrive at recommendations for technology decisions. This includes tools and process selection and systems design and modifications. Initiates process improvements for new and existing systems.
- Leads all aspect of engineering disciplines including application security and scalability. Leads creation of complex prototypes and ensures deliverables are high quality that meet user/business expectations.
Qualification & Experience:
- Microservice application development experience – 3 years
- Experience with building distributed systems rooted in Reactive Systems principles
- Reactive application development experience – 2 years
- Extensive development experience with Java, Object-Oriented Programming, and Scala is a plus
- Strong working knowledge of microservices development and relevant technologies such as orchestration, service discovery, service gateways and proxying
- Analyzing, diagnosing, proposing and implementing solutions to user problems – 7-9 years
- Working knowledge of Reactive application development tools and relevant technologies such as Akka, Spring Boot, CQRS, event sourcing,
- Kafka, Spark
- DevOps experience – 2+ years
trong working knowledge of SQL and No-SQL persistence approaches; experience with Cassandra preferred
Vacancy Type: Full-time
Job Functions: Information Technology, Engineering
Job Location: Seattle, WA, US
Application Deadline: N/A