Sr. Platform Application Developer
Company Name: Starbucks
Location: Seattle, WA
Date Posted: 21st May, 2017
Responsibilities and essential job functions include but are not limited to the following:
- Collaborates with application development teams to understand application development requirements and use cases.
- Tracks, studies and understands application development platform technology trends.
- Codes, tests, debugs, implements and documents prototypes to validate and demonstrate new application platforms.
- Designs, implements and documents new platform technologies including best patterns and engineering practices as well as integration with existing messaging, logging, security and other frameworks.
- Works with CI/CD and DevOps to understand, deploy and support new platform technologies in production and non-production environments.
- Reviews solution designs and works with application developers to ensure that solutions being developed make the best use of new platforms.
- Acts as a consultant to application development teams during solution architecture and design phases. Performs code reviews to ensure best patterns and engineering practices are used.
- Anticipates long term support issues and plans for corrective actions. Works with DevOps to perform root cause analysis and identify permanent resolutions to platform-related issues. Helps resolve and mitigate production application issues when needed.
- Performs platform-related sustainment activities (e.g. break-fix, enhancement, etc.) as needed.
- Application development (architecture, design, coding) 6
- Large-scale online development (web, API) 4
- Platform requirements analysis, assessment and selection 4
- Operations support (DevOps or on-call) 4
Required Knowledge, Skills and Abilities
- Proficiency in .Net programming languages and platforms (C#, Windows, SQL Server, etc.)
- Experience in Micro-Service Architectures
- Direct experience in coding for automated deployments as part of a CI/CD pipeline. Preferred CI/CD experience in Chef, Jenkins and Terraform deployments to Cloud Providers (Azure+ARM templates or AWS)
- Proficiency in Linux and other source platforms (e.g. Linux, Redis, NSB, etc.)
- Experience with cloud migration and development (AWS and/or Azure)
- Deep knowledge of database platforms (relational, NoSQL, blob, etc.)
- Strong interpersonal skills
- Strong analytical and problem-solving skills
- Ability to communicate clearly and concisely, both orally and in writing
- Ability to quickly learn new application platforms and technologies
- Fluency in Container and Container Orchestration services is a plus (e.g. Docker, Kubernetes, Azure Container Services)
- Experience with Apache Spark Spark SQL, Spark Streaming
- Ideal candidate would also be proficient in one or more of: Go, Play, Scala, Akka, Java
- Experience with Apache Kafka and Zookeeper