From eddef237473a3a417e73f7eb8739568bb2c3bf2e Mon Sep 17 00:00:00 2001 From: James Arthur Date: Tue, 1 Oct 2024 14:19:32 -0700 Subject: [PATCH] jobs: draft PGlite Engineer role. (#1780) --- website/.vitepress/config.mts | 9 +++- website/about/jobs/index.md | 21 ++-------- website/about/jobs/pglite-engineer.md | 60 +++++++++++++++++++++++++++ website/about/team.md | 8 ++-- 4 files changed, 74 insertions(+), 24 deletions(-) create mode 100644 website/about/jobs/pglite-engineer.md diff --git a/website/.vitepress/config.mts b/website/.vitepress/config.mts index 64165b4cf9..4b1c6c728d 100644 --- a/website/.vitepress/config.mts +++ b/website/.vitepress/config.mts @@ -195,7 +195,14 @@ export default defineConfig({ items: [ { text: 'Community', link: '/about/community' }, { text: 'Team', link: '/about/team' }, - { text: 'Jobs', link: '/about/jobs' }, + { + text: 'Jobs', + link: '/about/jobs', + items: [ + { text: 'PGlite Engineer', link: '/about/jobs/pglite-engineer' } + ], + collapsed: false + }, { text: 'Legal', items: [ diff --git a/website/about/jobs/index.md b/website/about/jobs/index.md index ec1a93b82d..28e8f4505d 100644 --- a/website/about/jobs/index.md +++ b/website/about/jobs/index.md @@ -19,8 +19,8 @@ We're a [small, technical team](/about/team) that's passionate about our work, o ## Active roles -> [!WARNING] Sorry, we're not currently hiring. -> Please do [join the community](/about/community). We will announce on Discord when we're hiring. +> [!TIP] We're hiring! +> - [PGlite Engineer](/about/jobs/pglite-engineer) ## Stage @@ -36,25 +36,10 @@ You get 25 days holiday + public holidays, equipment of your choice and a mandat We're a remote-first team but we organise quarterly on-sites in Europe. -So far places we've met up in include Dublin, Istanbul, Istria, Lisbon, London, Munich, Paris, Stockholm and Zagreb. +So far places we've met up in include Amsterdam, Dublin, Istanbul, Istria, Lisbon, London, Munich, Paris, Stockholm and Zagreb. ## Diversity We especially welcome female applicants, applicants from ethnic groups that are under represented in tech and LGBTQ+ applicants. We're happy for you to fit work around your children or other life commitments. - - \ No newline at end of file diff --git a/website/about/jobs/pglite-engineer.md b/website/about/jobs/pglite-engineer.md new file mode 100644 index 0000000000..7fedab3799 --- /dev/null +++ b/website/about/jobs/pglite-engineer.md @@ -0,0 +1,60 @@ +--- +title: PGlite Engineer - Jobs +description: >- + We're looking for a generalist web and systems engineer to join the core PGlite team, + working mainly in Typescript, Rust and C++. +image: /img/icons/pglite.svg +outline: deep +--- + +# PGlite Engineer + +| | | +| ----- | -------- | +| **Basis** | Full time or contract | +| **Salary** | €80-100k | +| **Location** | Remote in Europe or eastern US | +| **Published** | 1st October 2024 | +| **Deadline** | 21st October 2024 | + +We're looking for a generalist web and systems engineer to join the core PGlite team, working mainly in Typescript, Rust and C++. + +PGlite is a [lightweight embeddable/WASM Postgres](https://pglite.dev). It's a fast growing open source project, with 8k GitHub stars and over 100k weekly downloads. It opens up new possibilities for local-first apps and systems built on an embedded, real-time, reactive Postgres, such as [https://postgres.new](https://postgres.new) + +
+
+ +
+
+ +You'll be part of the core PGlite team at [ElectricSQL](https://electric-sql.com/about/team), working closely with [Sam Willis](https://github.com/samwillis) and [Paul Peny](https://github.com/pmp-p). It's a full time or contract role, working remotely in Europe or eastern US. Remuneration depends on how the hiring is structured but would be a ~€80-100k salary for full time (we work a 4 day week). + +See the [Jobs](/about/jobs/) and [Team](/about/team) pages for more information about working at Electric and to see the team you'll be joining. + +You will collaborate with partners and contributors like Supabase and the wider open source community. So you need great communication skills and ideally experience of building open source. Technically, you need strong Typescript and systems programming experience, ideally in C++ and Rust. It would be great if (but is not essential that) you're familiar with some aspects of database internals, filesystems and WASM. + +Current priorities include developing a libpglite version of PGite that can be embedded in native apps, creating an HTTP/S3 VFS, multi-connection, robustness and stability improvements. Example tasks that you might pick up include things like: + +- write a HTTP VFS for PGlite (in Typescript) that allows an instance to load a database from a HTTP or S3 end point, using HTTP range requests +- improve the OPFS VFS so that it works in Safari, this probably involves creating a mini-filesystem (using b-trees) that maps multiple files to a single file +- fix bugs in PGlite - could be anything from JS/TS bugs to chasing down obscure issues caused by Postgres being compiled to WASM +- help to port Postgres extensions that are written in c++ (e.g.: `pg_duck`) or Rust (e.g.: `pg_search`) to PGlite +- create a Postgres extension that allows you to call Javascript functions from Postgres triggers +- investigate and build out support for PGlite on various serverless/edge platforms (Cloudflare, Fastly), would involve building VFSs backed by object stores and optimising the WASM build for restricted environments +- document how to build Postgres extensions for PGlite for common languages like C, C++ and Rust + +It's a core role at a fast moving project, so priorities evolve quickly. It's essential that you're self-directed and can be productive in a small team environment. + +You need to be able to write your own requirement docs and move between research and implementation with the right balance of planning and velocity. You also need to write public docs and help debug and fix issues, so that developers and collaborators can be successful using and building PGlite. + +### How to apply + +Apply using the form linked below: + + + +The first step is a 45 minute call. After that, the process is personalised but we strive to keep it as efficient as possible and move swiftly to an offer. \ No newline at end of file diff --git a/website/about/team.md b/website/about/team.md index 45671b9964..b4e6fe81b4 100644 --- a/website/about/team.md +++ b/website/about/team.md @@ -18,13 +18,11 @@ const { advisors, angels, team, vcs } = data } - - # Team +> [!TIP] We're hiring! +> See the [jobs page](/about/jobs/) for active roles. + ## Core team