- Functional programming using Scala
- -Reactive/event driven systems architecture
- -Play, Spring, or other web service frameworks
- -Azure Event Hubs or Kafka
- -Cassandra and other big database implementations
- Contribute to overall system design, architecture, security, scalability, reliability, and performance of applications
- Support the build and deployment pipeline and when necessary, both diagnose and solve production support issues
- Identify, scope, and architect solutions for new features while applying sound technical judgment that considers technology alternatives, impact on affected / adjacent systems, and tradeoffs
- Work with Product, Design, and QA to deliver world-class digital experiences
- Get the opportunity to stay ahead of new technologies with an eye to evaluating and potentially incorporating them into your team's architecture
- Apply understanding to help improve the cloud infrastructure that powers our high-performance, consumer-scale site and mobile apps
- Lead initiatives, technical design, and delivery of complex features across multiple systems to improve user experiences
- Recommend changes to processes and tools at the team level based on industry standards, patterns, and practices
- Diagnose / fix highly complex technical issues independently
- Identify and communicate cross-team dependencies
- Communicate individual and project-level development statuses, issues, risks, and concerns to technical leadership and management; research / advise technical leadership in vendor negotiations
- Create documentation and training related to technology stacks and standards within assigned team
- Provide end-to-end support to applications
Who You Are
- You have an ownership mentality and a consistent track record of successful, high-quality results
- You enjoy learning new technologies as they emerge
- You have an advanced understanding of development methodologies and processes
- You have a comprehensive knowledge of CS fundamentals: data structures, algorithms, and design patterns
- You have advanced knowledge of system architecture and design patterns
- You can understand architecture, design, and integration landscape of multiple our systems
- You have experience with common software engineering tools such as Git, JIRA, Confluence, etc.
- You have a high level of comfort in Lean Startup or Agile development methodologies
- You have a bachelor's degree in computer science or comparable field, or equivalent self-study
QualificationsExperience with Scala
Experience with Java or Python Development
Experience with Big Data technologies such as Spark, R, etc
Experience with a Modern front end framework such as React, Angular, etc.
Experience with Cloud technologies such as AWS, Azure, GCP. Azure Preferred
Experience with Devops technologies such as Git, Jenkins, Kubernetes/Docker
Experience with Shell Scripting