Pacific Light & Hologram, an eight-year-old stealthy deep tech company, is seeking a competent yet adventurous, diligent Build & Infrastructure Engineer.
You will be:
- Maintaining, optimizing, simplifying and extending our Render Team Bazel repository.
- Taking ownership of the software and hardware Release and CI processes.
- Maintain accurate documentation of said build and release processes.
- Managing the integration of ~10 different languages across multiple platforms.
- Writing the necessary code for running our systems on Linux.
- Promoting a company-wide approach to testing, building and regular release of all hardware and software.
Desired Experience
It’s not necessary to have much experience with some of the following areas. However, in the absence of any, you will be expected to have a very strong desire to learn about and even master some:
- Managing at-scale build systems such as Bazel, Pants, Buck, etc.
- Distributed source control systems such as Git, and their limitations.
- Monorepo performance and maintenance.
- FPGAs, their programming techniques and an awareness of high-level Vivado techniques.
- Language requirements include C+, C#, Python, Powershell, Bash.
- Low-level firmware implementations.
- Windows and Linux driver development.
- Software and hardware provisioning.
We maintain an environment where everybody is expected to be constantly learning new things. If you ever require the time and organizational support to discover and understand new concepts, it will always be available to you.
You get to...
Task list
•_ _Maintain our Bazel build infrastructure.
o Understand how we use it.
o Understand how we abuse it.
o Update us to the latest Bazel version (we've fallen too far behind).
o Move to the new Bazel module system before our current use is deprecated by Google.
o Remove our Python heisentool and use Bazel's internal Python interpreter.
o Simplify and improve our use of Bazel.
o Manage/simplify/extend our custom driver building tools.
•_ _Manage our CI infrastructure.
o Improve build times for the monorepo and add incremental builds.
o Visibly track build performance to demonstrate how it changes over time.
o Suggest and implement performance improvements.
o Make errors and warnings more prominent.
o Fix all our flaky build errors (mostly Python, see above).
o Take ownership of the test and release process.
•_ _Manage our monorepo.
o Move all build download dependencies to local servers.
o Improve build and launch scripts.
o Identify and fix performance bottlenecks in our use of Git for a monorepo.
o Manage all our external dependencies.
o Constantly triage the projects within it for removal (we have many).
o Develop a plan of action for scaling to a larger team.
o Plan for code review workflows.
•_ _Manage our C++ build chain.
o Make our compile_flags.txt build process hieararchical.
o Move to compile_commands.json for background indexing and better IDE support.
•_ _Manage our C# build chain.
o Update to latest dependencies so that we're no longer building C# apps twice!
o Improve our Bazel/Nuget integration.
•_ _Manage our CUDA build chain.
o Keep us updated to the latest versions.
o Try to remove as much custom code as possible from our build scripts.
o Enable more reuse between kernel and C++ code.
•_ _Maintain our readme files and wiki pages for build and release.
o Keep vigilant about stale tutorials, notes, instructions, etc.
•_ _Manage/improve/rewrite our FPGA device builds:
o We need a regular CI build of the LNC.
o Farm device builds onto separate VMs so they don’t interfere with software builds.
o PPU build either needs maintaining or removing.
o Remove our dependency on Docker.
o Move to using the Windows version of Fusesoc.
•_ _Get everything building on Linux.
o Ensure tools can be built on Linux for the use of firmware.
o Ensure our FPGA developers can use our tools when running from Linux (essential for Vivado).
Exciting.. right?
Successful candidates display a sense of curiosity and adventure, a desire to work on interesting projects, and exceptional musical taste.
Pacific Light & Hologram is a wondrous company doing several impossible things simultaneously under the cover of being a vegan chorizo factory. The benefits are great, the work is fun, and the other employees often shower.
A cover letter is REQUIRED which specifically addresses the content of this ad. Submissions without cover letter, submissions with incompatible qualifications, and random AI submissions will be binned with prejudice.
Job Type: Full-time
Pay: $140,000.00 - $180,000.00 per year
Benefits:
- 401(k)
- 401(k) matching
- Dental insurance
- Employee assistance program
- Flexible spending account
- Health insurance
- Health savings account
- Life insurance
- Paid time off
- Retirement plan
- Tuition reimbursement
- Vision insurance
Schedule:
Ability to Commute:
- San Gabriel, CA 91776 (Required)
Ability to Relocate:
- San Gabriel, CA 91776: Relocate before starting work (Required)
Work Location: In person