Hacker Newsnew | past | comments | ask | show | jobs | submit | sbenitez's commentslogin

Formal | Multiple Positions | REMOTE | Full-Time | $100k - $250k + Equity

We’re [0] rethinking serverless from scratch, building a new computing stack for instant, globally available, truly elastic, soundly isolated execution. We leverage formal methods and languages to build OS interfaces with low overhead, formally verified isolation without containers or VMs. Our immediate goal is a new programming language to replace eBPF and build the world's first serverless networking infrastructure.

We are a 5-person, VC-funded team with PhDs from Stanford, UW, OSU, and Brown, advised by professors from MIT and UWaterloo. We are currently hiring for the following four positions:

- [1] Staff Software Engineer: Compilers, Programming Languages, and Verification ($175k - $250k + ≥ 0.4%)

- [2] Formal Verification Engineer: Formal Methods and Programming Languages ($120k - $200k + ≥ 0.2%)

- [3] Software Engineer: Compilers and Programming Languages ($100k - $175k + ≥ 0.1%)

- [4] Formal Methods PhD Intern: Formal Methods and Programming Languages ($10k / month)

Please see [5] for general information. Apply via our job board [6].

[0]: https://formalstack.com [1]: https://formalstack.com/jobs/12-2025/staff-software-engineer... [2]: https://formalstack.com/jobs/12-2025/formal-verification-eng... [3]: https://formalstack.com/jobs/12-2025/software-engineer-v.pdf [4]: https://formalstack.com/jobs/12-2025/formal-methods-phd-inte... [5]: https://formalstack.com/jobs/info.pdf [6]: https://jobs.gem.com/formal


Formal | Multiple Positions | REMOTE | Full-Time | $100k - $250k + Equity

At Formal [0], we’re rethinking serverless from scratch: we’re building a new computing stack for instant, globally available, truly elastic, soundly isolated execution. We leverage formal methods and languages to build OS interfaces with low overhead, formally verified isolation without containers or VMs. Our immediate goal is to write a new programming language to replace eBPF and build the world's first serverless networking infrastructure.

We are a 5-person, VC-funded team with PhDs from Stanford, UW, OSU, and Brown, advised by professors from MIT and UWaterloo. We are currently hiring for the following four positions:

- [1] Staff Software Engineer: Compilers, Programming Languages, and Verification (≥ $200k + ≥ 0.5%)

- [2] Formal Verification Engineer: Formal Methods and Programming Languages ($120k - $200k + ≥ 0.25%)

- [3] Software Engineer: Compilers and Programming Languages ($100k - $175k + ≥ 0.2%)

- [4] Formal Methods PhD Intern: Formal Methods and Programming Languages (≥ $5k / month)

Please see [5] for general information. To apply, email us at (work at formalstack dot com) and let us know how your experiences fit the role and its requirements.

[0]: https://formalstack.com [1]: https://formalstack.com/jobs/09-2025/staff-software-engineer... [2]: https://formalstack.com/jobs/09-2025/formal-verification-eng... [3]: https://formalstack.com/jobs/09-2025/software-engineer-v.pdf [4]: https://formalstack.com/jobs/09-2025/formal-methods-phd-inte... [5]: https://formalstack.com/jobs/09-2025/info.pdf


Hey Sergio! I applied for the role of founding engineer a couple of months ago and passed the different stages. We had even been talking about the exact salary package and start date, decided to talk again in a couple of weeks about the specifics, but then I never heard back, despite reaching out to you again.

It’s totally fine if plans change and you decide not to move forward with a candidate, but I think a short email isn’t too much to ask after spending multiple hours on the various interviews.

That said, the interview process was otherwise pretty good and the work you’re doing sounds really interesting, so I would still encourage others to apply. Best of luck with Formal!


I was interested to 'stay in the loop' on the website but I just got a Contact error: ... Access forbidden


They should have formally verified their website.


> We are a 5-person, VC-funded team with PhDs

Who are your customers?

> we’re rethinking serverless from scratch:

What are the use cases that you target?


Formal | Formal Verification Engineer | REMOTE | Full-Time | >= $150k - $200k + 0.5% equity

We're building a new computing stack for instant, globally available, truly elastic, soundly isolated execution. We’re building low overhead, formally verified isolation primitives, without containers or VMs. We're taking all of this to the network with new a programming language to replace eBPF and enable truly serverless networking infrastructure.

We are a 5-person, VC-funded team with PhDs from Stanford, UW, OSU, and Brown, advised by professors from MIT and UWaterloo. We are looking for a formal verification engineer [1] with deep and practical experience with Rocq.

Please email us at (work at formalstack dot com) and let us know how you fit the role [1].

[0]: https://formalstack.com [1]: https://formalstack.com/jobs/05-2025/verification.pdf


Formal | Founding Software Engineer (Compilers, Verification) | REMOTE | Full-Time | >= $200k + 0.5% equity

We're rethinking the computing stack from the ground up for truly elastic, soundly isolated, instantly and globally available execution. We’re building OS interfaces and compilers for low overhead, formally verified isolation without containers or VMs. We're starting with the network: a programming language to replace eBPF and enable globally programmable networking as a service.

We are a 4-person, VC-funded team with PhDs from Stanford, UW, and OSU, advised by professors from MIT and UWaterloo. We are hiring founding-level software engineers [1] in compilers, programming languages, & verification.

Please email us at (work at formalstack dot com) and let us know how you fit the role [1]. While we are only able to move forward with strictly qualifying applicants at this time, we welcome conversations with anyone interested.

[0]: https://formalstack.com [1]: https://formalstack.com/jobs/01-2025/compilers.pdf


I am not qualified for your current hiring needs, but this is extremely interesting to me.

Right now, I am currently learning Rust and have some side projects planned writing interpreters and compilers therein, and would love to take you up on the offer to have "conversations with anyone interested" so I can learn more about what you're building and learn some things.


If you haven't sent us an email already, please do!


1. Is there any mailing list or newsletter for folks interested in this project as kind of beta testers?

2. Do you plan to implement a full programming language? Dataflow is not enough?


1. You can sign up via our website: https://formalstack.com/.

2. Yes!


Whoa! It seems really interesting, I just applied. Thanks for posting it here :D!


Very cool! Don't meet the requirements but exciting work nonetheless!


Formal | Founding Software Engineer (Compilers, Networking) | REMOTE | Full-Time | >= $200k + 2% equity

We're rethinking the computing stack from the ground up for truly elastic, soundly isolated, instantly and globally available execution. We’re building OS interfaces and compilers for low overhead, formally verified isolation without containers or VMs. We're starting with the network: a programming language to replace eBPF and enable globally programmable networking as a service.

We are VC-funded ($700k pre-seed), advised by professors from MIT and UWaterloo, and founded by ex-Stanford PhDs. There are two official roles, but we welcome conversations with anyone interested in joining the team.

- Compilers & Programming Languages - https://formalstack.com/jobs/09-2024/compilers.pdf

- Kernel Networking - https://formalstack.com/jobs/09-2024/networking.pdf

Please email us at (work at formalstack dot com) or (sergio at the same domain).

[0]: https://formalstack.com


Off topic, but since you are here, thanks for rocket.rs. Awesome project!


Thank you! I truly appreciate you saying that.


Hi Sergio, I mailed you an open proposal for a Junior kernel-hacking position in this stellar team of yours. The end-goal (objective) is astounding and the initial goals for the objective are daunting to say the least!


Hi Geraldo! Thank you for the kind words, and for sending a message! The influx of responses has far exceeded any expectation I could have had, and I'm slowly but diligently responding as I go. Just wanted to let you know that I've received your message and I'm looking forward to chatting with you further. :)


Thanks Sergio! :)


Woah, that sounds really cool! I did some research this summer on running programs in kernel space and tactics used to verify safety. This sounds right up my alley—-if I had any of the qualifications!


If you haven't already, please feel welcome to send us a message! Even if these specific opportunities might not make sense, if this is something you're potentially interested in working on, perhaps there are other opportunities to be found. If nothing else, we're always excited to talk to anyone who's as excited as we are about the general direction.


> We are VC-funded ($700k pre-seed) > >= $200k

Does this mean that right now you can only pay salaries for 2-3 devs for a year?


I'm in a similar boat right now as a founder -- likely to just hire 1 engineer at this stage, and have runway for 18-24 months at most.

If the hypothesis is correct and the mission is working, you go raise the next round in another 9-12 months.


But why? We have the internet.


This is actually possible with fairings! Because fairings can rewrite requests, it's possible to create a fairing that rewrites a request URI of `path/` to `path` or vice-versa as needed. Rocket will route the rewritten request normally. In psuedocode, such a fairing might look like:

  on_request => |request, _| {
      if request.uri().path().ends_with('/') {
          let new_path = request.uri().path()[..-1];
          request.set_uri(URI::new(new_path));
      }
  }
You can also use a fairing If you want to return a 302 (or similar) so that the browser does the redirect instead. In this case, you'd implement a response fairing that rewrites failed responses to return a redirect to the appropriate URI. Again, in pseudocode, this would look like:

  on_response => |request, response| {
      if response.status() == Status::NotFound && request.uri().path().ends_with('/') {
          response.set_status(Status::Found);
          response.set_header(Location(request.uri().path()[..-1]));
          response.take_body();
      }
  }
Take a look at the fairings guide [0] and fairings documentation [1] for more ideas!

[0]: https://rocket.rs/guide/fairings/

[1]: https://api.rocket.rs/rocket/fairing/trait.Fairing.html


Database support will live outside of Rocket's core in Rocket's contrib [0] library. Everything in contrib is implemented independently of Rocket and is entirely optional to use. The implementation will be database agnostic and extensible to any database. I'm a big believer in pluggable, optional components with no forced decisions [1], and database support will follow the same philosophy.

[0]: https://api.rocket.rs/rocket_contrib/index.html

[1]: https://rocket.rs/guide/introduction/#foreword


That's great to hear!


Thanks for trying out Rocket! There are a couple of examples in Rocket's repository that illustrate how to use Rocket with a database. The more complete of the two is the todo example [0]. This uses Diesel as its ORM alongside managed state to maintain a pool of database connections. The second example of the two uses raw SQLite without a connection pool [1]. It's meant to be a bare bones illustration of using a database with Rocket.

Managed state is a feature specifically designed to help with this kind of thing. That being said, I still think Rocket can do more to abstract away database connections. I'm tracking improvements on this front in GitHub issue #167 [2].

[0]: https://github.com/SergioBenitez/Rocket/tree/master/examples...

[1]: https://github.com/SergioBenitez/Rocket/blob/master/examples...

[2]: https://github.com/SergioBenitez/Rocket/issues/167


Thanks so much for the helpful reply! I should've noted that I haven't actually tried Rocket. :) It was a couple other frameworks that I'd played with, all of which seemed to go shrug, not our concern when the question of managed state came up. I'll give Rocket a try and see if I have better luck.


I was actually going to use `lazy_static!` for this! Good to see a nicer solution is now here. :)


Yes! Here's what happens when you don't do the right thing:

  error: 'id' is declared as an argument...
   --> src/main.rs:8:9
    |
  8 | #[get("/<id>")]
    |         ^^^^

  error: ...but isn't in the function signature.
    --> src/main.rs:9:1
     |
  9  |   fn hello() -> &'static str {
     |  _^ starting here...
  10 | |     "Hello, world!"
  11 | | }
     | |_^ ...ending here


that is some truly incredible developer ux


The span for the “...but isn't in the function signature” should be just the `()` rather than the whole function.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: