ActiveState is securing open-source software supply chains and enhancing dependency management with an on-demand SaaS Platform and CLI tool that lets DevSecOps automatically build any runtime environment using any open-source language ecosystem on any platform.
We’re building an ambitious language distribution platform so that no engineer ever has to suffer dependency hell again, and we need your help!
This position is open to full-time telecommuters anywhere in Canada or continental US. You can also choose to work from our headquarters in beautiful Vancouver, BC.
This position is open to experienced candidates with a track record in this area. Our audacious goal is to build all of the open-source software released on the internet completely from source, in an automated and repeatable way.
We’re adding Java to our catalog of languages and libraries, and we’re looking for someone who knows how to go from source code to fully-built product, in a repeatable, secure, hermetic, deterministic way and how to build systems that make this happen.
What You’ll be Doing
At ActiveState we are building a highly scalable, 100% automated build system for multiple languages across multiple platforms.
As open-source authors release new code to PyPI, CPAN, RubyGems, MavenCentral, NPM, et al, we bring this code to our platform and make it available to our users.
As a Build Engineer on our team, you will help us analyze this data, understand these ecosystems, model repeatable build steps, map dependencies in a complex build graph, and simplify the build process for our customers.
We’re ingesting, analyzing, and building things at scale, so you’ll be automating the process for hundreds or thousands of packages at a time.
Your Primary Responsibilities Include :
Assisting automating the build of applications and libraries directly from source from multiple ecosystems.
Being a subject matter expert for Java related build issues.
Improving the quality of our data by finding new and better ways to import and analyze open source data.
Making more and more packages build successfully by developing and improving systems that perform the difficult work of build engineering.
Testing and documenting your work.
You must be comfortable working independently while coordinating with a team, and you must be fluent in the modern software development lifecycle, including GitHub, pull requests, code review, automated testing, and agile development.
WHAT’S IN IT FOR YOU
Working for a stable and growing company that offers the environment and personal growth potential of a start-up as well as the stability of a successful business with established revenue.
The chance to grow and grow with a team, as we expand our data portfolio and team.
The chance to collaborate with a smart, considerate, enthusiastic team of people.
The chance to work on a project that will change the work lives of developers around the world, including your own!
Competitive salary and bonus plan.
Comprehensive benefits package and health / wellness credit program.
REQUIREMENTS
3+ years of experience working on a build system or performing build engineering, including compiling code and debugging issues with build tools such as make, autotools, Bazel, and Buck.
The ability to build and debug open source software using various compilers and toolchains, especially from the command line.
Experience building and managing Java projects with more than one build system (maven, gradel, ant etc..)
Strong development experience with at least one of the following languages :
Python
Perl
Ruby
Java
Strong development experience with at least one major platform (Linux, MacOS, Windows) and exposure to the others.
Experience with the command line, IDEs, and developer tools in each.
Excellent written and spoken skills, both technical and non-technical. You’ll need to work closely with your developer teammates, as well as be able to have coherent conversations with people from QA, sales, marketing, and other parts of the company.
ASSETS
If you have experience with any of the following please make sure to highlight it in your cover letter :
Notable contributions to or presence in at least one open source project or language community.
The ability to read and understand Python or Go code.
Agile processes, including breaking large projects up into smaller stories, estimation, working in branches (GitHub Flow), code review, and CI.
C or C++ code and debugging compiler issues across platforms.
Experience with Java related build systems or dependency management solutions.
What to Expect
We’re a polyglot company and embrace using the best language or tool for the given task at hand. We gladly use Python, Elm, JavaScript, Golang, Bazel, Docker, Kubernetes, Haskell, Airflow, and other modern tools.
Quality is as important as speed. We’re building for the long run, so you’ll need to enjoy writing tests and documentation too.
We use open source software whenever possible, and we also like to contribute back to the open source ecosystem. We embrace open sourcing both libraries and tools developed in-house where that makes sense.
Our day to day work practices are centered around GitHub, pull requests, code review, continuous testing, integration, and deployment, and agile development.
We coordinate with each other and the rest of the company using Slack for chat, Zoom for video calls and screen sharing, Jira, and Google Drive.
We’re always looking to improve our practices and we expect you to help us to do so.