Summary of Key Responsibilities
This role requires strong technical expertise, domain proficiency, platform depth, and leadership.Responsibilitiesand essential job functions include but are not limited to the following:
- Designs, develops, implements, documents, and tests new applications and APIs, or changes to an application subsystem. Codes, tests, debugs, documents, and implements complex software applications.
- Creates innovative prototypes to rapidly identify new business opportunities and leading edge technology implementation. Does so while ensuring deliverables are high quality and meet user expectations. Supports system and integration testing activities. Initiates design reviews for new applications and helps define and ensure team-wide adherence to software development standards.
- Collaborates with other team members and SMEs across Starbucks Technology to recommend new software development technologies and development processes. Coaches and mentors other less experienced team members. Performs cross- training and facilitates information sharing among team members.
- Working with application development leads, establishes, maintains and ensures compliance with standards for development, testing and documentation. Acts as a senior technical expert to analyze, consult, and recommend application software solutions based on the business needs.
- Participates in, leads and mentors others in requirements gathering and functional specification activities. May assist Functional Analysts in completing deliverables and translates business requirements and functional designs into technical designs. Assist with development of functional designs and resolving complex design issues. May act as senior technical expert to consult with and analyze the business needs.
- Resolves and helps mitigate production application issues and assists less experienced application developers as needed. Works with other business and technology teams to support resolution of end-user issues. Contributes to the documentation of production support processes as required. Anticipates long term support issues and plans for corrective actions. May perform root cause analysis to identify permanent resolutions to software or business process issues.
Summary of Experience
- Analyzing, diagnosing and proposing solutions to user problems: 6 years
- Systems engineering, application development, test and integration: 6 years
- Providing support to various business applications: 6 years
- Working with process owners and identifying information technology solutions that enable business process improvements: 4 years
Required Knowledge, Skills and Abilities
- Advanced knowledge of C# and .NET Framework.
- Working knowledge of a JVM-based language Java/Scala/Groovy/JRuby).
- Building middleware systems, RESTful APIs and microservices with public cloud (Azure / AWS).
- Using and supporting modern continuous delivery and DevOps pipelines and tools.
- Strong interpersonal skills, building an effective network of relationships inside and outside Starbucks.
- Ability to communicate clearly and concisely, both orally and in writing, as an advocate for technology solutions.
- Strong analytical and problem-solving skills, with proven ability to design pragmatic solutions.
- Mentoring, coaching and leading other technical team members.
- Strong proficiency in programming languages, databases, web technologies and RESTful API integration techniques.
- Demonstrated success working within an Agile development environment (Scrum/Kanban/Lean/XP).
- Deep knowledge of design patterns and OO design principles, including experience with Domain Driven Design.
- Advanced experience working with distributed systems and architectures, including SOA, SaaS, and microservices approaches; knowledge and experience with Reactive systems preferred.
- Experience with Cloud hosting technology stacks (SaaS/PaaS/IaaS) and service delivery models, including Microsoft Azure and Amazon Web Services.
- Significant experience with relational and non-relational, including NoSQL databases.