Senior Software Engineer – App Platform Engineering

Beaverton Oregon
Required Experience: 0 year(s)
Employment Type: Full-Time
Salary Range: Not available
Posted yesterday

Does building a scalable suite of platform services to handle the needs of millions of consumers of Nike Training, Nike Running, and other Nike+ applications pique your interest? Are you passionate about creating experiences which help motivate millions of people to run and train? If so, come join App Platform Engineering team in the Nike Digital Engineering group to be at the forefront of this technology movement! Nike does more than gear-up the world’s best athletes. Nike is a place to explore your potential, obliterate boundaries, and push out the edges of what can be. Are you looking for passionate technologists who can grow, think, dream and create? We thrive in a culture that embraces diversity and rewards imagination. At Nike, it’s about bringing your skills and talents to a challenging and constantly evolving game in a supportive work environment. Traits of the Ideal Person for This Job: •You love to learn, grow, and bring new ideas into the group in an impactful and positive manner. •You have relevant professional experience or a bachelor’s degree in Computer Science, Information Systems, (or another relevant field) with good working knowledge of basic computer science data structures and algorithms. •You can design and build web services and event processors using AWS and JVM technologies. •Your broad spectrum of knowledge about database paradigms, programming languages, and frameworks informs your decisions. •You understand scalable, highly available, and eventually consistent distributed systems. •You have excellent written and oral communication skills to both technical and non-technical audiences. The Team’s Engineering Environment Nike Digital Engineering is a big place. Our primary concern is supporting the Nike Run Club and Nike Training Club apps with a team that has a diverse spectrum of experience levels – from industry veterans to recent college grads. Our production code is usually written for the JVM, mostly in Scala / Akka, and deployed on EC2. We tend to prefer strong-typing and functional style over imperative style in our code. The architecture is highly distributed and decoupled, favoring availability over consistency. We operate the systems we develop and have a rotating on-call schedule for off-hours contact but during office hours, the team as a whole handles incidents. Getting paged is rare. We practice continuous delivery - every merged pull request goes directly to production with appropriate feature flagging. Our automation is typically scripted in python or ruby with AWS CloudFormation as the backbone of our deployment architecture. As a Member of the Team, You’ll Be Expected To: •Successfully operate within our engineering environment and help it evolve over time. •Review your peers’ technical designs, code, and tests, giving supportive feedback and asking good questions. •Work in a collaborative environment that rewards experiments, initiative, curiosity, and mentoring. •Use your database knowledge to design data storage for security, reliability, availability, maintainability, and performance. •Practice DevOps ensuring a culture of testing and releasing software on AWS continuously using automation and monitoring. •Partner with other engineering and product teams to loosely couple and scale the service ecosystem. •Work with teams dedicated to mobile development, physiological science, and user experience.Qualifications•Has significant experience and a strong understanding of building microservices and event processing pipelines in a distributed environment.•Has significant experience consuming and creating web services, with a good understanding of API design.•Has significant experience working in the modern Java ecosystem with knowledge of at least one build tool (mvn, sbt, gradle, etc.), library dependency management, and at least one JVM language (Java, Scala, Kotlin, etc.)•Has experience with multiple modern web service frameworks in the JVM ecosystem.•Has worked in a dev-ops environment where strong automation and observability are required to keep the team moving.•Has contributed to software change management, source control, and review processes on a large team scale.•Understands the benefits and drawbacks between SQL and NoSQL databases and has experience with both.•Has some experience with continuous integration and delivery practices ensuring frequent and safe deployments.•Understands and contributes to agile development methodologies.•Has significant experience using Amazon Web Services.Preferred Skills:•Languages: Scala, Python, Java 8+•Frameworks: Akka Streams & HTTP, Spark, Netty•Platforms: EC2, Lambda, Kubernetes, EMR•Techniques: Functional Programming, High Availability, "Big Data"•OSes: Linux, MacOS•Databases: DynamoDB, MySQL, PostgreSQL, Cassandra•Tools: Jenkins, Splunk, SignalFX, Atlassian suite, IntelliJ IDEA NIKE, Inc. is a growth company that looks for team members to grow with it. Nike offers a generous total rewards package, casual work environment, a diverse and inclusive culture, and an electric atmosphere for professional development. No matter the location, or the role, every Nike employee shares one galvanizing mission: To bring inspiration and innovation to every athlete* in the world.
NIKE, Inc. is committed to employing a diverse workforce. Qualified applicants will receive consideration without regard to race, color, religion, sex, national origin, age, sexual orientation, gender identity, gender expression, veteran status, or disability.
Job ID: 00439601