Sr. Software Engineer at Alteryx, Inc.
We are looking for a Senior Software Engineer to help us build a next generation platform SDK and API suite. You will be a technical leader, taking on the most complex design and implementation work while mentoring/supporting other members of your team. You are someone who loves knowing the intimate details of and developing in multiple languages, with a strong penchant for design.
- Partners with Product Management and technical leadership in defining our SDK roadmap including the feature and stories definitions (and related estimates) required to deliver it
- Takes on ownership of the more complex and fundamental SDK design and development work
- Participates in code reviews for the engineers on your team, ensuring our delivery of clean, well-tested, and performant software
- Stewards quality and performance across the SDK with a strong sense of accountability and ownership
- Fosters the growth of team members through informal mentoring and support
- Helps in the development of a great work environment through modeling exemplary servant leadership
- 5+ years of C++ and Python design and development experience preferably leveraging open source and open standards; experience with API and/or SDK development strongly preferred
- Deep knowledge of the C++ and Python languages
- Strong knowledge of and experience with object oriented and functional design patterns
- Experience with optimizing protocols and building efficient RPC systems
- Networking & concurrency experience
- Experience using Git and Git-based pipelines
- Experience mentoring and developing others
- Strong skills in critical thinking, decision making, problem solving, and attention to detail
- Deep knowledge of a JVM-based language (Java or Scala preferred)
- Deep understanding and commitment to modern software engineering principles/processes (Agile, Lean, DevOps) and continuous improvement through measurement
- Knowledge and experience with the Python analytics/ML eco-system, such as Pandas, scikit-learn, …
- Knowledge and experience with distributed computing, big data and stream processing systems.