mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
Add job post to Zed.dev
This commit is contained in:
parent
61b806e485
commit
78564dcc68
15
crates/server/src/careers.rs
Normal file
15
crates/server/src/careers.rs
Normal file
@ -0,0 +1,15 @@
|
||||
use crate::{AppState, Request, RequestExt};
|
||||
use std::sync::Arc;
|
||||
use tide::http::mime;
|
||||
|
||||
pub fn add_routes(app: &mut tide::Server<Arc<AppState>>) {
|
||||
app.at("/careers").get(get_careers);
|
||||
}
|
||||
|
||||
async fn get_careers(mut request: Request) -> tide::Result {
|
||||
let data = request.layout_data().await?;
|
||||
Ok(tide::Response::builder(200)
|
||||
.body(request.state().render_template("careers.hbs", &data)?)
|
||||
.content_type(mime::HTML)
|
||||
.build())
|
||||
}
|
@ -12,6 +12,7 @@ mod home;
|
||||
mod releases;
|
||||
mod rpc;
|
||||
mod team;
|
||||
mod careers;
|
||||
|
||||
use self::errors::TideResultExt as _;
|
||||
use ::rpc::Peer;
|
||||
@ -178,6 +179,7 @@ pub async fn run_server(
|
||||
api::add_routes(&mut web);
|
||||
home::add_routes(&mut web);
|
||||
team::add_routes(&mut web);
|
||||
careers::add_routes(&mut web);
|
||||
releases::add_routes(&mut web);
|
||||
community::add_routes(&mut web);
|
||||
admin::add_routes(&mut web);
|
||||
|
20
crates/server/templates/careers.hbs
Normal file
20
crates/server/templates/careers.hbs
Normal file
@ -0,0 +1,20 @@
|
||||
{{#> layout }}
|
||||
|
||||
<div class="max-w-screen-lg p-5 mx-auto font-extralight text-main lg:p-20">
|
||||
<h1 class="mb-10 text-4xl text-white font-display font-extralight">
|
||||
We think there's a better way to write code—and we've been working for more than a decade to bring it into existence.
|
||||
</h1>
|
||||
<p class="mt-5 leading-relaxed">Zed is looking for a Rust engineer to help us advance the art of code editing. We're currently three engineers and a designer developing a new editor with a focus on performance, clean design, and collaboration.</p>
|
||||
<p class="mt-5 leading-relaxed">We're working on exciting technologies, including a custom, GPU-accelerated UI framework, heavy use of parallelism and persistent data structures, conflict-free replicated data types, and an incremental parsing framework called Tree-sitter that was created by one of our founders.</p>
|
||||
<p class="mt-5 leading-relaxed">Our codebase consists of about 60,000 lines of well-factored, thoroughly-tested Rust that compiles quickly. In addition to the Zed editor, we're also developing a server-side component to facilitate collaboration that tightly integrates with the client.</p>
|
||||
<p class="mt-10 leading-relaxed">We'd love to hear from you if you're excited to build the world's best code editor and meet this description:</p>
|
||||
<ul class="mt-10 mb-16 leading-relaxed">
|
||||
<li class="mt-5 leading-relaxed">You're experienced in Rust. You've developed a substantial piece of software or meaningfully contributed to an open source project.</li>
|
||||
<li class="mt-5 leading-relaxed">You'd be excited to to pair program with us multiple times a week to learn the codebase.</li>
|
||||
<li class="mt-5 leading-relaxed">You know how to maintain code quality while being pragmatic and prioritizing the needs of the customer.</li>
|
||||
<li class="mt-5 leading-relaxed">You know how to write performant software, including algorithmic analysis and profile-driven optimization.</li>
|
||||
<li class="mt-5 leading-relaxed">Bonus: You have experience working on code editors, compilers, distributed systems, CRDTs, or real-time graphics.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{/layout}}
|
@ -4,7 +4,7 @@
|
||||
<article class="">
|
||||
<h1 class="mb-10 text-4xl leading-tight text-white font-display font-extralight">Introducing Zed—A lightning-fast, collaborative code editor written in Rust.</h1>
|
||||
<p class="mt-5 leading-relaxed">
|
||||
We think there’s a better way to write code, and it starts with the following assumptions:
|
||||
We think there's a better way to write code, and it starts with the following assumptions:
|
||||
</p>
|
||||
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Mission-critical tools should be hyper-responsive.</h3>
|
||||
@ -20,11 +20,11 @@
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Real-time collaboration produces better software.</h3>
|
||||
|
||||
<p class="mt-3 leading-relaxed">
|
||||
Pull requests have their place, but sometimes you just want to code together. It’s more fun than code review, builds trust between colleagues, and it’s one of the best ways to distribute knowledge through a team. But it has to be easy.
|
||||
Pull requests have their place, but sometimes you just want to code together. It's more fun than code review, builds trust between colleagues, and it's one of the best ways to distribute knowledge through a team. But it has to be easy.
|
||||
</p>
|
||||
|
||||
<p class="mt-5 leading-relaxed">
|
||||
If you want someone’s perspective on a piece of code, it should be as easy as sending a message to pull them into your working copy and start coding.
|
||||
If you want someone's perspective on a piece of code, it should be as easy as sending a message to pull them into your working copy and start coding.
|
||||
</p>
|
||||
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Conversations about software should happen close to the code.</h3>
|
||||
@ -40,7 +40,7 @@
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Our goal is to make you as efficient as possible.</h3>
|
||||
|
||||
<p class="mt-3 leading-relaxed">
|
||||
If you’re living in a tool for hours every day, you want it to disappear. Every pixel must carry its weight, and the software you’re creating should always be the focus. So we constantly ask ourselves how we can maximize signal and minimize noise.
|
||||
If you're living in a tool for hours every day, you want it to disappear. Every pixel must carry its weight, and the software you're creating should always be the focus. So we constantly ask ourselves how we can maximize signal and minimize noise.
|
||||
</p>
|
||||
|
||||
<p class="mt-5 leading-relaxed">
|
||||
@ -49,15 +49,21 @@
|
||||
|
||||
<p class="mt-10 mb-10 leading-relaxed">———</p>
|
||||
|
||||
<p class="mt-5 leading-relaxed">
|
||||
We're looking to add another engineer to the team. Want to help us build the future? <a href="/careers">Join us</a>.
|
||||
</p>
|
||||
|
||||
<p class="mt-10 mb-10 leading-relaxed">———</p>
|
||||
|
||||
<h2 class="mt-16 mb-5 leading-tight text-white font-display font-extralight">Under the hood</h2>
|
||||
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Building in Rust</h3>
|
||||
<p class="mt-3">Rust offers expressivity and developer productivity rivaling languages that depend on a VM, while simultaneously offering the control required to fully utilize the underlying hardware.</p>
|
||||
|
||||
<p class="mt-5">Rust’s unique ownership model is a challenge at the beginning, but once you internalize it, you can write extremely efficient multi-core code without fear of invoking undefined behavior.</p>
|
||||
<p class="mt-5">Rust's unique ownership model is a challenge at the beginning, but once you internalize it, you can write extremely efficient multi-core code without fear of invoking undefined behavior.</p>
|
||||
|
||||
<p class="mt-5">It also makes it straightforward to call directly into the C-based APIs of the operating system. Rust makes it possible for a small team to build a complex product quickly, and Zed wouldn’t have been possible without it.</p>
|
||||
<p class="mt-5">It also makes it straightforward to call directly into the C-based APIs of the operating system. Rust makes it possible for a small team to build a complex product quickly, and Zed wouldn't have been possible without it.</p>
|
||||
|
||||
<p class="mt-5">In the past, to write software with this performant you would need to use C++. Rust, for the first time, enables us to write software at that level as a very small team.</p>
|
||||
</article>
|
||||
@ -68,11 +74,11 @@
|
||||
|
||||
<p class="mt-5"></p>We call it GPUI.</p>
|
||||
|
||||
<p class="mt-5">We took a lot of inspiration from Mozilla’s Webrender project. The key insight was that modern graphics hardware can render complex 3D graphics at high frame rates, so why not use it to render relatively simple 2D user interfaces with an immediate mode architecture? </p>
|
||||
<p class="mt-5">We took a lot of inspiration from Mozilla's Webrender project. The key insight was that modern graphics hardware can render complex 3D graphics at high frame rates, so why not use it to render relatively simple 2D user interfaces with an immediate mode architecture? </p>
|
||||
|
||||
<p class="mt-5">Rust’s ownership model required us to rethink much of what we learned in other UI programming paradigms, but the result is a framework that’s productive to use and remarkably easy to reason about.</p>
|
||||
<p class="mt-5">Rust's ownership model required us to rethink much of what we learned in other UI programming paradigms, but the result is a framework that's productive to use and remarkably easy to reason about.</p>
|
||||
|
||||
<p class="mt-5">It’s liberating to control every pixel, and it’s a rush to push those pixels at lightning speed.</p>
|
||||
<p class="mt-5">It's liberating to control every pixel, and it's a rush to push those pixels at lightning speed.</p>
|
||||
</article>
|
||||
|
||||
<article class="leading-relaxed">
|
||||
@ -82,17 +88,17 @@
|
||||
|
||||
<p class="mt-5">After being applied locally, edits are transmitted to collaborators over the network, whose copies may have also changed in the meantime. This means that as participants edit together, their replicas continuously diverge and reconverge. Turns out this is a tricky problem.</p>
|
||||
|
||||
<p class="mt-5">To solve it, we’re using conflict-free replicated data types, which have emerged in the last decade as a general framework for achieving eventual consistency in a variety of circumstances.</p>
|
||||
<p class="mt-5">To solve it, we're using conflict-free replicated data types, which have emerged in the last decade as a general framework for achieving eventual consistency in a variety of circumstances.</p>
|
||||
|
||||
<p class="mt-5">Making Zed’s buffers CRDTs allows for collaborative editing, but it also helps us reason about concurrent change so that we can push work into background threads and keep the UI thread responsive.</p>
|
||||
<p class="mt-5">Making Zed's buffers CRDTs allows for collaborative editing, but it also helps us reason about concurrent change so that we can push work into background threads and keep the UI thread responsive.</p>
|
||||
</article>
|
||||
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Tree-sitter</h3>
|
||||
|
||||
<p class="mt-3">We plan to integrate with the Language Server Protocol to support advanced IDE features, but we also think it’s important for a code editor to have a rich, native understanding of syntax.</p>
|
||||
<p class="mt-3">We plan to integrate with the Language Server Protocol to support advanced IDE features, but we also think it's important for a code editor to have a rich, native understanding of syntax.</p>
|
||||
|
||||
<p class="mt-5">That’s why we built Tree-sitter, a fast, general, incremental parsing library that can provide Zed with syntax trees for over 50 languages. Tree-sitter already powers production functionality on GitHub, and we’ll use it to deliver syntactically-precise syntax highlighting, tree-based selection and cursor navigation, robust auto-indent support, symbolic navigation, and more.</p>
|
||||
<p class="mt-5">That's why we built Tree-sitter, a fast, general, incremental parsing library that can provide Zed with syntax trees for over 50 languages. Tree-sitter already powers production functionality on GitHub, and we'll use it to deliver syntactically-precise syntax highlighting, tree-based selection and cursor navigation, robust auto-indent support, symbolic navigation, and more.</p>
|
||||
</article>
|
||||
|
||||
<p class="mt-10 mb-10 leading-relaxed">———</p>
|
||||
|
@ -114,6 +114,12 @@
|
||||
</span>
|
||||
The Team
|
||||
</a>
|
||||
<a href="/careers" class="relative mt-2 text-base no-underline lowercase hover:underline">
|
||||
<span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
|
||||
</span>
|
||||
Careers
|
||||
</a>
|
||||
<a href="/community" class="relative mt-2 text-base no-underline lowercase hover:underline">
|
||||
<span class="absolute items-center justify-center hidden h-full align-middle nav-active-arrow -left-7">
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.1594 12.1606C10.0309 12.0567 9.96803 11.8899 9.96803 11.7204C9.96803 11.5509 10.0321 11.3846 10.1603 11.2564L12.7596 8.65813H1.6562C1.29392 8.65813 1 8.36284 1 7.97732C1 7.63829 1.29392 7.34573 1.6562 7.34573H12.7596L10.1613 4.74747C9.90501 4.49114 9.90501 4.07596 10.1613 3.81949C10.4177 3.56303 10.8328 3.56317 11.0893 3.81949L14.8078 7.53794C15.0641 7.79427 15.0641 8.20945 14.8078 8.46592L11.0893 12.1844C10.832 12.4395 10.4164 12.4395 10.1594 12.1606Z" fill="white"/></svg>
|
||||
|
Loading…
Reference in New Issue
Block a user