Lead Software Engineer - Consumer, Product & Innovation

Posted:
10/16/2024, 4:49:21 AM

Location(s):
Beaverton, Oregon, United States ⋅ Oregon, United States

Experience Level(s):
Senior

Field(s):
DevOps & Infrastructure ⋅ Software Engineering

WHO YOU’LL WORK WITH

Our team supports the Nike Sports Research Lab by implementing technology solutions for the consumer.

Teamwork, open, and honest communication matter. Teammates spend much of their time mentoring, guiding, and supporting each other to promote the best understanding of our desired outcomes.

Most of our code is written for NodeJS and built into Docker, hosted on a variety of operating systems. We create solutions using our own code, 3rd party software, AI models, and consumer web-services on top of physical athlete experiences.

We operate the systems we develop and have a rotating on-call schedule for off-site, local business-hours, contact. The team as a whole handles incidents - which are uncommon.

WHO WE ARE LOOKING FOR

You are a lead software engineer. You've held several roles and have a good understanding of your technical and career direction. You've learned how to learn and know when to ask questions versus figure things out on your own, and can nurture this skill in others. You know multiple tech stacks very well and are continually assessing emerging technology, tools, and patterns. You are comfortable completing moderately complex projects by breaking them down and delegating within the team. You have demonstrated having a strategic technical vision for your products out to about a 1-quarter time horizon with effective continuous delivery of value.

As a Lead on this team we expect you to:

  • Successfully operate within our engineering environment and help it evolve over time.
  • Provide mentoring for more junior engineers to help them grow their skills and careers.
  • Review 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.
  • Leverage your knowledge to design full-stack applications for quality, security, reliability, availability, maintainability, and performance.
  • Practice DevOps ensuring a culture of testing and releasing software continuously using automation and monitoring.
  • Partner with other engineering and product teams to loosely couple and scale the ecosystem.

Preferred Skills and Experience:

  • Bachelor of Science in Computer Science, Information Systems, or other relevant subject area related to Information Technology
  • 7+ years of programming experience in Python and JavaScript
  • 2+ years of  Leadership experience: Decision making, Communication,
  • Languages: JavaScript, TypeScript, Python, Go, Rust
  • Frameworks: React, Express, Apollo
  • Platforms: Docker, AWS
  • OSes: Linux, MacOS, Windows, iOS
  • I.T.: Networking, PC Hardware
  • Databases: PostgreSQL, SQLite, DynamoDB
  • Tools: Vite, Github, Atlassian, VS Code, New Relic, Splunk/SignalFX

WHAT YOU’LL WORK ON

In this role you will:

- Have strong technical and non-technical communications skills.

- Be able to leverage a deep and broad set of experiences when considering solutions.

- Practice patience while maintaining an action-oriented mindset while resolving technical and interpersonal conflict.

- Have reliable instincts regarding the consequences of complexity.

- Be an expert in designing, building, and consuming reliable, secure, synchronous, and asynchronous web services for front end utilization.

- Have experience building consumer facing web ui utilizing modular and reactive ui frameworks.

- Be able to lead architectural design discussions, following best practices and learnings from your own failures.

- Have contributed to the software change lifecycle, source control, and review processes in complex environments.

- Anchor your design and engineering practices on the foundations of observability.

- Expect that you are responsible for testing and asserting the quality of your own work in an automated and repeatable fashion.

- Understand, practice, evolve, and promote agile development methodologies.