Senior Software Engineer, Build Automation - Ursa Labs
Founded in 2018, Ursa Labs is an open source development group focused on improving computational infrastructure for data science. It is led by Wes McKinney and Hadley Wickham, leading developers of data science tools for the Python and R communities, respectively.
Ursa Labs’s work is focused on the Apache Arrow open source project, a cross-language development platform for in-memory analytics. Within the Arrow project, we focus primarily on the C++, Python, and R libraries. It is our goal to make everyday tools for data access, cleaning, wrangling, analytics, and visualization a great deal more powerful and interoperable than they are now. Additionally, we wish to promote code reuse and collaboration across popular programming languages for data science, like Python, R, and Julia. Read more about the Ursa Labs technical vision at https://ursalabs.org/tech.
We are looking for an experienced engineer with a passion for devops and automation to take a lead role in the build and test systems of the Apache Arrow project. The ideal candidate is someone who delights in designing tools and systems to help other developers, particularly those who work with data, be happier and more productive. They should enjoy getting things done with Python and Docker on Linux while also unafraid to dive into another language or platform when needed.
What you'll be doing:
- Scale up the continuous integration system for the Apache Arrow project to improve developer productivity and coverage across a range of architectures and operating systems, including by building and maintaining self-hosted infrastructure
- Improve binary packaging and distribution to help us ship high-quality software releases that Arrow users can easily and reliably install and use
- Design, deploy, and maintain services for collecting benchmarks and reporting them, both for inclusion in the code review process and for public display
- Improve the productivity of Arrow developers and the experience of those who use Arrow in their projects
- Help maintain the Apache Arrow open source project: code review, documentation, and mentor junior contributors.
- 5+ years of professional software development, including experience playing a significant role in shipping software with high technical complexity
- Experience and interest in building and administering continuous-integration and automation systems, including packaging and deployment
- Some familiarity with cross-platform C++ build systems, such as CMake or Bazel
- Strong troubleshooting skills, especially around build tooling and dependency management
- A deep drive to automate everything
- Empathy for our developers and users
- Excellent project-management and communication skills: you’ll need to work mostly independently and be able to sell your vision for improving the build system to the developers in the community
Prior experience with numerical computing is not a requirement, though given the nature of the project, candidates with a background working in large-scale C++ codebases and interest in database design, HPC, supercomputers, or similar may be most successful. Other nice-to-haves include experience on platforms other than Linux, as well as system-level functional and performance debugging (perf, gdb, valgrind)
- We welcome all talented engineers and are committed to a culture that represents diversity in all its forms .
- We prioritize giving engineers “focus time” to get deep work done. We minimize meetings and attempt to operate asynchronously.
- We are a learning organization and take mentorship and career growth seriously. We hope to learn from you and we anticipate that you will also deepen your skills, influence, and leadership as a result of working at RStudio.
- We operate under a unique sustainable business model : 50% of engineering we do at RStudio is open source. We are profitable and we plan to be around twenty years from now.
- 100% distributed team
- Competitive compensation with great benefits including:
- medical/dental/vision insurance (100% of premiums covered)
- 401k matching
- a home office allowance or reimbursement for a coworking space
- a profit-sharing system
- Flexible environment with a generous vacation policy