Having spent the last month in interviews with executives and senior managers, I’ve heard one thing over and over: doing 1:1s remote is hard. Sure, a choppy conversation about specific work is tolerable. But managers are struggling to connect: to build trust and really understand how people are doing. No matter how you feel about remote vs. in-person work, it’s worth getting better at remote 1:1s.…
Attrition rates between 5–10% are not unusual in the tech sector. Indeed, anything outside them would be cause for introspection (are we firing good people? are we letting bad people stay?). But watching the often awkward departures from Mozilla has reminded me that there is a key conversation that many individual contributors fail to have with their managers, leading to confusion and…
Fakegrimlock ’s post on Minimum Viable Personality is from 2011, but I think it’s still worth revisiting when you look at new products. Especially ones like Servo , that absolutely will require winning the hearts and minds of customers in order to achieve our goals. As our roadmap shows, we still have a lot of work left to do to produce viable products from Servo, but we’re still far enough along…
I’ve only been at Mozilla for a little bit over a year now, but I can definitely talk about the hardest part for me of managing a team ( Servo ) that is primarily distributed but whose members work closely together on nearly everything: timezones. Most of the other pieces on various aspects of distributed work or companies that are primarily distributed cover lots of important things. e.g.,…
Smart watches and glasses are not particularly interesting today, except outside of the usual tech bleeding-edge adopters. I would not be terribly surprised if the Apple Watch sells well but primarily ends up sitting on nightstands. After all, who wants another device? Modern phones were heralded not just for their great screens and all that candy that needs crushin’, but for the replacement of…
Inspired by the post on the Mozilla Build System , especially the goals for its updates, I was motivated to pass along some stories and lessons from a similar conversion that I led within Developer Division. When I first joined the Visual Studio Environment team, it took three days to build Visual Studio - build Visual C++, drop some binaries in special places to build Visual Studio, drop some…
I’m currently managing Servo , which is looking to make widespread changes to Firefox’s engine, Gecko, which is around 8 million lines of code. That might seem like a lot, but I’ve been to this party before - in 2003 I co-founded and later managed the engineering organization of Nautilus, which was a team inside of Microsoft’s Developer Division (DevDiv) looking to make changes similar in scope to…
Servo is a new web browser engine being built at Mozilla Research, focused on memory safety and taking advantage of modern mobile and parallel hardware. We use the new systems programming language, Rust , to help us achieve these goals. But, using a self-hosting compiler under very active development brings its own issues. On my powerful laptop, a parallelized from-scratch Servo build takes around…
This post explores the space of implementation choices in concurrency models for channel-based concurrent programming languages. It also discusses Rust’s current choices in that space and their fit with the Servo parallel web browser. This post was prompted by the back-and-forth discussions on the rust-dev mailing list . Background A concurrent program’s execution is the result of interleaving…
This blog will be devoted to research topics relevant to my job at Mozilla Research, and likely focused on Rust and Servo. My last blog was similarly work-focused. During my time in graduate school, I took a bit of a break from blogging, though I actually did a lot more writing then!