Position
Verfasst am 2026-09-21
-
Software Entwicklung
Software-Ingenieur, C++ Entwicklung
David Dashyan
June 30, 2025
We are a research and development collective working on technologies that enhance horizontal coordination. We strive to develop resilient and secure systems without compromising on privacy, autonomy and utility.
Admittedly baffled by the grandiose venture, yet equipped with guile and ardour, we arrived at an uninhabited intersection of the Venn diagram of technologies. Hence, we are looking for co-conspirators with drive, opinions and ideas, not only for candidates with relevant experience.
Yes, this couldn’t be more vague, but no particulars will do a good job of capturing what we do. Bear with us.
Autonomous Build Network (ABN) is a project that aims to create a protocol for distributed software supply chain with credible source/binary build transparency and no single points of failure. In other words - a distributed package index with strong guarantees of tamper resistance.
A task worthy of inclusion in both “forward thinking innovation” and “how did we even get here without it?” categories. If, at this point, one does not use a distributed version control system (e.g. Git), theywould probably be receiving moral guidance on this issue every day. Yet, the industry is still ignoring the absence of transparency and integrity for deployments.
We are not starting from scratch. More than a decade of workconducted by Guile Scheme, Guix and adjacent communities in the areas of reproducible builds and declarative configuration, bootstrapping, and distributed programming environments cover the majority of the milestones on the path towards a secure software supply chain.
Technology stack and architecture Build Systems, Operating Systems, Distribution, OrchestrationReproducible builds and full-source bootstrapping are a baseline requirement for our design. We adopt Functional Deployment Model (pioneered by NixOS) and deeply integrate our work with Guix software distribution.
There will be a sufficient amount of work with Linux subsystems. Thus, experience with networking, file systems, name spaces, virtualization, and/or anything else from an endless list of concepts a system engineer is deemed to acquire, is a prerequisite for a quick onboarding. We live in the user space (so far) but familiarity with Kernel side is a big plus, as we have been digging closer and closer to the center all along.
You will be interacting with compilers and build tool chains, all of them. Guix provides abstractions for the majority of commonly used build systems. Yet, experience with Rust, Go, Python, Elixir will be helpful to resolve and adapt to packaging convention inconsistencies inevitably present in all programming language ecosystems. Knowledge of C toolchain related concepts like dynamic linking, FFI, cross-compilation is especially welcomed.
Guile (a dialect of Scheme) is our primary implementation language. For those who have not worked with Guile, it might seem as a choice solely influenced by the Guix ecosystem. However, Guile is one of the few programming languages that fits our long-term roadmap. It hasgood support for system APIs, rich standard library, seamless two-way interoperability with C land while at the same time able to provide unconventional features such as:
- Expressive and safe macro system to easily create DSLs
- First class suspendable continuations hence concurentML-like concurrency (aka CSP)
- Sandboxing
- Staged execution with module closure propagation (implemented in Guix)
- Flexible compiler hacking platform (IRs and language front end API)
- VM, JIT compiler for common IS-es and Wasm compiler
- P2P framework (Goblins) with Object capability security,asynchronous communicating event-loops, distributed garbage collection and debugging, and time-travel (for real)
Familiarity with…
(Wenn dieser Job tatsächlich in Ihrem Zuständigkeitsbereich liegt, verwenden Sie möglicherweise einen Proxy oder VPN, um auf diese Seite zuzugreifen. Um weiterzukommen, sollten Sie Ihre Verbindung zu einem anderen Mobilgerät oder PC wechseln).