From 7e537b71c2217f8c7ef373eca313044f13357bdc Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Sun, 11 Aug 2024 16:35:00 -0400 Subject: [PATCH 1/9] First draft --- content/news/2024-??-??-dream-job/index.md | 171 +++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 content/news/2024-??-??-dream-job/index.md diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md new file mode 100644 index 0000000000..6e24cadd3f --- /dev/null +++ b/content/news/2024-??-??-dream-job/index.md @@ -0,0 +1,171 @@ ++++ +title = "I landed my dream job. Now what?" +date = 2024-08-10 +authors = ["Alice I. Cecile"] +[extra] +github = "alice-i-cecile" +image = "TODO.svg" +show_image = true ++++ + +So, I landed my dream job. Full-time open source, making a game engine, in Rust. Absolutely no meetings. What more could you ask for? +With a very unconventional background (plant ecology, self-taught programming and years of disability), it's flatly astonishing to be [so supported](https://bevyengine.org/donate/): surrounded and empowered by a community making incredible things together. + +But now what? +[Bevy's fourth birthday](../2024-08-10-bevys-fourth-birthday/index.md) has rolled around, and @cart has put out a call for others to reflect on the year behind us, and plan for the year ahead. +How have my first few months of Serious Employment at the Bevy Foundation gone, and what am I cooking up? + +## Quasi-Hobby to Day Job + +For years before I started working at the Bevy Foundation, I've helped out around Bevy: writing docs, triaging issues, reviewing PRs, designing complex systems and polishing off rough corners. + +I'd pitch in where I could, tackling the million small tasks in moments between working on side projects, the occasional bits of consulting and making sure my home was running smoothly. +And over the weeks, months, and years that really added up! +Reading, thinking, communicating: I've never been the sort to write code day after day, or get down and dirty to track down obscure bugs. +But if I listened to people talk about what they needed, chewed on it for a bit, and then passed it on to the people who wanted to help, I found I could be *remarkably* effective! + +It was a good groove, but all of a sudden: this was my day job! +40 hours a week, 8 hours a day, 9-5 Monday to Friday in the office, right? +Well, okay, sure, no one cares when I work. Or exactly how much I work per day. And we don't even have an office! +But surely, that was the platonic ideal of what Real Work should look like, and I should be aspiring to it, even if it would forever be out of reach. + +Actually no, not so much. +At first, I tried to stick to this (entirely of my own volition!): Monday to Friday, 8 hours a day, strict start and stopping time. +I focused on big initiatives, tried to code more, and made *sure* I wasn't working outside of the allowed time blocks. + +It made me *miserable*. +Pushing myself to work for long blocks at a time was physically and mentally demanding. +I had to actively force myself *not* to triage that issue, leave that comment, or tackle that PR. +And conversations across our team of dozens of globally-distributed contributors simply didn't have the decency to stay nicely confined to a 9-5 schedule! + +So, how did I square the circle? The time and freedom to tackle bigger projects was a huge advantage, +but all those little tasks still mattered! +And even though a more flexible schedule was probably *good* for me, +I needed to make sure that work didn't consume my whole life. + +My solution: **focus tasks**. +Every work day (but not days off!), I would pick a single task to focus on. +Writing a piece of documentation, reviewing a complex PR, adding a feature, refactoring a complex bit of code, preparing a design doc, running a Merge Train... +I would focus on that when I was feeling well, get done what I could, and as soon as my focus broke or the task was completed, that was it. I was *done work* for the day. + +To complement this, the strict 9-5 M-F schedule would be relaxed. I could work whenever I felt like it (turns out, for me, that's quite a bit): +tackling the million little things that help keep Bevy ticking along. +But there would be no *obligation*: no sense that I *must* do these things, or must do them in a timely fashion. +I could be there for the impromptu late night design chats, but still disconnect during date night because, after all, I finished work *hours* ago. + +This balance has worked really well for me: letting me drive forward larger initiatives (`bevy_color`! A huge `leafwing-input-manager` refactor! The 0.14 release!) without falling behind on the flood of notifications. +Would I recommend you use it? Probably not! It requires a remarkable degree of flexibility that many organizations won't afford you, you need to be driven and self-motivation and frankly, the work-life boundary is far blurrier than most people can live with. +But for someone working full-time in open source? Absolutely! + +## Dream Jobs are Still Jobs + +So, having worked at the Bevy Foundation for a few months: is this really my dream job? How does it live up to my expectations? +Despite my boundless idealism, working for a non-profit you care about is not a panacea: if the working conditions suck, +the fact that you're Doing Good won't get you through the day. + +On the bright side, I have: + +- a mission I believe in +- a comfortable living (my latest budget says $84k CAD pre-tax) +- the opportunity to meet and learn from incredible people: within Bevy, with Rust and within game dev more broadly +- a work-from-home arrangement, with incredible flexibility +- huge levels of agency over what I work on +- generous European-style vacation and sick-leave policies + +But it's not perfect, that's all balanced out by: + +- a remarkably public role, where everything I do from day-to-day is visible +- an incredibly small non-volunteer team to serve as a backstop for all of the needful but tedious things that need to be done +- fuzzy work-life boundaries +- a salary is *much* lower than what I could be making +- existential dread caused by relying entirely on [generous donors](https://bevyengine.org/donate) to keep both myself and the project I love afloat + +Honestly, it's a lot like founding a startup. +It's just instead of having a small-but-nonzero chance of becoming wealthier than anyone ever needs to be, +I have a chance to change an industry for the better and help people make cool things! + +## Learn or Drown + +The most striking thing about it though, is the extent to which I have to *keep* learning and growing. +Rust? ECS? Technical writing? Project management? Input management? Community management? + +I can't get complacent and only work within my comfort zone of skillsets that I've mastered. +There's always more work to be done, areas that need leadership, and brilliant but complex PRs to review. +Even if my natural proclivities are focused on design and communication, I need to be *fluent* in every single area needed to make games. +Experts are great, but keeping things moving along means I have to be able to understand what they're saying and integrate it into a broader project context. + +Over the next year, I hope to get comfortable with basic custom rendering, muck about with Bevy's asset solution and learn about reactive UI in earnest. +Should be fun, and it might even drive some progress on my *own* games. + +## Working Groups: Self-Organization and Empowerment + +I've long believed that building systems and altering incentives is the best way to fix problems for good. +When I first started working at Bevy, we had a pair of twin problems: contributors were frustrated by the lack of direction and reviews for complex but valuable initiatives, while maintainers were out of bandwidth and frustrated with efforts that petered out as individual contributors got busy. + +Enter [working groups](https://github.com/bevyengine/bevy/pull/13162): scoped, collaborative efforts to define, explore and tackle complex problems. +I've been incredibly pleased to see how they've turned out: + +- an emphasis on clear, well-motivated designs +- a clear list of things that we're actively tackling +- a space to focus community efforts towards a shared goal +- a ready-made source of reviewers for complex efforts +- a mechanism for ambitious contributors to build consensus and radically change things + +The `bevy_color` working group was a wonderful bubbling hub of activity that tackled all of the gnarly corners of writing a color library from scratch, +the 0.14 release working group really helped take the pressure off of Cart and I, even if it was a slog. + +I'm really excited to see what the open groups (relations, text, audio, picking, contributing guide, scenes, render graph and curves) put together over the next year! +I'll stir the pot periodically to keep things moving along smoothly, but overall I'm delighted by how well this experiment in self-organization has gone. + +## Technical Future: UI that doesn't Suck + +Right now, Bevy has a critical technical limitation: our UI solution sucks. +While of course you could argue that *all* UI solutions sucks, `bevy_ui` is remarkably underbaked. +There's too much boilerplate, there are virtually no premade widgets, and most of the hard problems are handed off to the user. + +While things *have* improved substantially since Bevy's initial release, `bevy_ui` operates at the same level as HTML: just raw data structures to be manipulated. +And for most of our users, that simply isn't enough! +Bevy's an incredible choice for CAD software, or complex simulation games, or dev tooling (like the fabled editor), *except* that building UIs takes too long and polishing them is nearly impossible. + +While I've shared [my own vision for what `bevy_ui` could be](https://hackmd.io/@bevy/HkjcMkJFC), I trust @cart (and @viridia, @StarArawn, @UkoeHB and @SanderMertens) to figure out most of the fancy incremental, reactive, data-driven bits. +Instead, I want to clean up all the low-hanging fruit that drags our UI solution down, no matter what solution they land on. + +Over the course of the next year, I want to: + +- swap to `cosmic_text`, and properly support non-Latin character sets +- make it easier to reason about fonts and how they're related +- support basic localization and markup-style rich text +- port `bevy_ui` to a polished picking paradigm +- make sure that simple alternatives to flexbox layout can be used for those who prefer it +- add focus management, making it easy to navigate UI with keyboards, gamepads and screen readers +- upstream `leafwing-input-manager`, giving Bevy first-party support for keybindings for both UI and gameplay +- ship a modest collection of functional standard widgets: radio buttons, text input, sliders and more +- write examples that cover real use cases: splash screens, settings menus, drag-and-drop inventories, UI mockups for various game genres... + +None of these things will radically change how `bevy_ui` works, but taken together, should lead to a night-and-day difference in the experience for both devs and end users. + +## Product Future: Beyond Rust Gamedev + +In both Rust-focused and gamedev-focused spaces, Bevy is often *defined* by the fact that it's written in Rust. +But thinking about game engines in this way is a trap, both for Bevy and for the ecosystem as a whole. + +Serious people don't sit down, decide that they're going to become professional game developers, and *insist* on using Rust, come hell or high water. +While hobbyists and those seeking to learn Rust *might* choose an engine that way (Rust is delightful and making games is a great way to learn), +it's a terrible way to run a business and make a living. + +Instead, they look at the set of *full* set of engines: Unity, Unreal, Godot and dozens more. +Every team and every project has different needs and idosyncratic preferences: there will never be an ur-engine that others are simply *wrong* for not choosing. +But if you want to compete within a crowded space, you need to both carve out and communicate a niche: a set of things that you're *uniquely* good at. + +Simply being the best, most popular, or most featureful game engine in Rust isn't enough, and frankly, barely matters at all. +Rust is fantastic, and I think in the long-run it'll be a major advantage, but right now, the game industry perception is that it's immature and slow to develop in. +To survive as anything beyond a hobby engine, you need to attract commercial teams building serious games, built on a budget with mixed teams of programmers, artists and designers. +While you don't need to be better than the big kids in *every* way, you need to be better than them in some ways, and the *rational* choice for some set of teams needs to be to pick your engine. + +While we're not the rational choice yet for most projects and teams, I want to set us up for real success in the future. +In the coming year, I want to network more with gamedevs outside of Rust (say hi!), learn more about the workflows that real indie teams use and challenges that they face. +While the small improvements trickle in, one PR at a time, I want to set my eyes on the horizon, understand what talented small teams are looking for out of their next engine, and make sure we're building towards those goals.s + +No one is writing the next Call of Duty in Bevy (yet!): the requirements around rendering, tooling, training, console support and risk are way too strict. +But what would it take to convince teams to write the next Factorio, Terraria, Slay the Spire, Hollow Knight or Hades in Bevy? +Time to find out! From 26d50e0ea61985847b2b97e16dbeb1622a47c236 Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Sun, 11 Aug 2024 16:40:47 -0400 Subject: [PATCH 2/9] Reduce salt content --- content/news/2024-??-??-dream-job/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index 6e24cadd3f..cc24211aba 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -149,16 +149,17 @@ None of these things will radically change how `bevy_ui` works, but taken togeth In both Rust-focused and gamedev-focused spaces, Bevy is often *defined* by the fact that it's written in Rust. But thinking about game engines in this way is a trap, both for Bevy and for the ecosystem as a whole. -Serious people don't sit down, decide that they're going to become professional game developers, and *insist* on using Rust, come hell or high water. +Overwhelmingly, professional game developers don't decide that they're going to use Rust, look at the options within the set of Rust game engines and then choose one. While hobbyists and those seeking to learn Rust *might* choose an engine that way (Rust is delightful and making games is a great way to learn), -it's a terrible way to run a business and make a living. +it's an ineffective way to make business-critical decisions! -Instead, they look at the set of *full* set of engines: Unity, Unreal, Godot and dozens more. +Instead, they look at the set of *full* set of engines and what they have to offer: Unity, Unreal, Godot and dozens more. Every team and every project has different needs and idosyncratic preferences: there will never be an ur-engine that others are simply *wrong* for not choosing. But if you want to compete within a crowded space, you need to both carve out and communicate a niche: a set of things that you're *uniquely* good at. Simply being the best, most popular, or most featureful game engine in Rust isn't enough, and frankly, barely matters at all. Rust is fantastic, and I think in the long-run it'll be a major advantage, but right now, the game industry perception is that it's immature and slow to develop in. + To survive as anything beyond a hobby engine, you need to attract commercial teams building serious games, built on a budget with mixed teams of programmers, artists and designers. While you don't need to be better than the big kids in *every* way, you need to be better than them in some ways, and the *rational* choice for some set of teams needs to be to pick your engine. From 99fc854bf790e05440c042419fd5f9c42992d3cf Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Sun, 11 Aug 2024 16:42:47 -0400 Subject: [PATCH 3/9] TODO the date --- content/news/2024-??-??-dream-job/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index cc24211aba..e46198a6c9 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -1,6 +1,6 @@ +++ title = "I landed my dream job. Now what?" -date = 2024-08-10 +date = 2024-TODO-TODO authors = ["Alice I. Cecile"] [extra] github = "alice-i-cecile" @@ -8,7 +8,7 @@ image = "TODO.svg" show_image = true +++ -So, I landed my dream job. Full-time open source, making a game engine, in Rust. Absolutely no meetings. What more could you ask for? +So, I landed my dream job. Full-time open source building a game engine in Rust. Absolutely no meetings. What more could you ask for? With a very unconventional background (plant ecology, self-taught programming and years of disability), it's flatly astonishing to be [so supported](https://bevyengine.org/donate/): surrounded and empowered by a community making incredible things together. But now what? From 7f1de9212ebf9923cebf341c7c42d19d1049c14d Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 9 Sep 2024 21:20:08 -0400 Subject: [PATCH 4/9] Copyediting --- content/news/2024-??-??-dream-job/index.md | 43 +++++++++++----------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index e46198a6c9..051d8c4a2d 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -8,24 +8,25 @@ image = "TODO.svg" show_image = true +++ -So, I landed my dream job. Full-time open source building a game engine in Rust. Absolutely no meetings. What more could you ask for? -With a very unconventional background (plant ecology, self-taught programming and years of disability), it's flatly astonishing to be [so supported](https://bevyengine.org/donate/): surrounded and empowered by a community making incredible things together. +So I landed my dream job. Full-time open source building a game engine in Rust. Absolutely no meetings. What more could you ask for? +With a very unconventional background (plant ecology, self-taught programming and years of disability), it's flatly astonishing to be [supported](https://bevyengine.org/donate/) by such an awesome community: surrounded and empowered by experts and beginners alike making incredible things together. But now what? -[Bevy's fourth birthday](../2024-08-10-bevys-fourth-birthday/index.md) has rolled around, and @cart has put out a call for others to reflect on the year behind us, and plan for the year ahead. +[Bevy's fourth birthday](../2024-08-10-bevys-fourth-birthday/index.md) has rolled around, and `@cart` has put out a call for others to reflect on the year behind us, and plan for the year ahead. How have my first few months of Serious Employment at the Bevy Foundation gone, and what am I cooking up? ## Quasi-Hobby to Day Job For years before I started working at the Bevy Foundation, I've helped out around Bevy: writing docs, triaging issues, reviewing PRs, designing complex systems and polishing off rough corners. -I'd pitch in where I could, tackling the million small tasks in moments between working on side projects, the occasional bits of consulting and making sure my home was running smoothly. -And over the weeks, months, and years that really added up! -Reading, thinking, communicating: I've never been the sort to write code day after day, or get down and dirty to track down obscure bugs. +I'd pitch in where I could, tackling the million small tasks in moments between working on side projects, the occasional bits of consulting and making sure life at home was running smoothly. +And over the years that really added up! +Reading, thinking, communicating: I've never been the sort to write reams of code for specific subsystems, or to dive into the most obscure bugs. But if I listened to people talk about what they needed, chewed on it for a bit, and then passed it on to the people who wanted to help, I found I could be *remarkably* effective! -It was a good groove, but all of a sudden: this was my day job! -40 hours a week, 8 hours a day, 9-5 Monday to Friday in the office, right? +It was a good groove. +But then all of a sudden, working on Bevy was my day job! +That means 40 hours a week, 8 hours a day, 9-5 Monday to Friday in the office, right? Well, okay, sure, no one cares when I work. Or exactly how much I work per day. And we don't even have an office! But surely, that was the platonic ideal of what Real Work should look like, and I should be aspiring to it, even if it would forever be out of reach. @@ -36,17 +37,17 @@ I focused on big initiatives, tried to code more, and made *sure* I wasn't worki It made me *miserable*. Pushing myself to work for long blocks at a time was physically and mentally demanding. I had to actively force myself *not* to triage that issue, leave that comment, or tackle that PR. -And conversations across our team of dozens of globally-distributed contributors simply didn't have the decency to stay nicely confined to a 9-5 schedule! +And conversations across our team of dozens of globally-distributed contributors simply didn't have the decency to stay nicely confined to my 9-5 schedule! -So, how did I square the circle? The time and freedom to tackle bigger projects was a huge advantage, -but all those little tasks still mattered! -And even though a more flexible schedule was probably *good* for me, +So, how did I square the circle? +The time and freedom to tackle bigger projects was a huge advantage, but all those little tasks still mattered! +And even though moving to a more flexible schedule was probably healthy for me, I needed to make sure that work didn't consume my whole life. My solution: **focus tasks**. Every work day (but not days off!), I would pick a single task to focus on. -Writing a piece of documentation, reviewing a complex PR, adding a feature, refactoring a complex bit of code, preparing a design doc, running a Merge Train... -I would focus on that when I was feeling well, get done what I could, and as soon as my focus broke or the task was completed, that was it. I was *done work* for the day. +Writing a piece of documentation, reviewing a complex PR, adding a feature, refactoring a complex bit of code, preparing a design doc, running the weekly Merge Train... +I would focus on that when I was feeling well, get done what I could, and as soon as my focus broke or the task was completed, that was it. I was "done work" for the day. To complement this, the strict 9-5 M-F schedule would be relaxed. I could work whenever I felt like it (turns out, for me, that's quite a bit): tackling the million little things that help keep Bevy ticking along. @@ -54,7 +55,7 @@ But there would be no *obligation*: no sense that I *must* do these things, or m I could be there for the impromptu late night design chats, but still disconnect during date night because, after all, I finished work *hours* ago. This balance has worked really well for me: letting me drive forward larger initiatives (`bevy_color`! A huge `leafwing-input-manager` refactor! The 0.14 release!) without falling behind on the flood of notifications. -Would I recommend you use it? Probably not! It requires a remarkable degree of flexibility that many organizations won't afford you, you need to be driven and self-motivation and frankly, the work-life boundary is far blurrier than most people can live with. +Would I recommend you use it? Probably not! It requires a egree of flexibility that many organizations won't afford you, you need to be driven and self-motivated and frankly, the work-life boundary is far blurrier than most people can live with. But for someone working full-time in open source? Absolutely! ## Dream Jobs are Still Jobs @@ -67,15 +68,15 @@ On the bright side, I have: - a mission I believe in - a comfortable living (my latest budget says $84k CAD pre-tax) -- the opportunity to meet and learn from incredible people: within Bevy, with Rust and within game dev more broadly -- a work-from-home arrangement, with incredible flexibility +- the opportunity to meet and learn from incredible people: within Bevy, Rust and game dev more broadly +- a work-from-home arrangement with incredible flexibility - huge levels of agency over what I work on - generous European-style vacation and sick-leave policies But it's not perfect, that's all balanced out by: - a remarkably public role, where everything I do from day-to-day is visible -- an incredibly small non-volunteer team to serve as a backstop for all of the needful but tedious things that need to be done +- an incredibly small team of non-volunteers that serve as a backstop for all of the needful but tedious things that need to be done - fuzzy work-life boundaries - a salary is *much* lower than what I could be making - existential dread caused by relying entirely on [generous donors](https://bevyengine.org/donate) to keep both myself and the project I love afloat @@ -90,7 +91,7 @@ The most striking thing about it though, is the extent to which I have to *keep* Rust? ECS? Technical writing? Project management? Input management? Community management? I can't get complacent and only work within my comfort zone of skillsets that I've mastered. -There's always more work to be done, areas that need leadership, and brilliant but complex PRs to review. +There's always a new stalled-out work area that needs leadership, brilliant but complex PRs to review, and thorny problems to cut through. Even if my natural proclivities are focused on design and communication, I need to be *fluent* in every single area needed to make games. Experts are great, but keeping things moving along means I have to be able to understand what they're saying and integrate it into a broader project context. @@ -158,14 +159,14 @@ Every team and every project has different needs and idosyncratic preferences: t But if you want to compete within a crowded space, you need to both carve out and communicate a niche: a set of things that you're *uniquely* good at. Simply being the best, most popular, or most featureful game engine in Rust isn't enough, and frankly, barely matters at all. -Rust is fantastic, and I think in the long-run it'll be a major advantage, but right now, the game industry perception is that it's immature and slow to develop in. +Rust is fantastic, and I think in the long-run it'll be a major advantage, but right now, the game industry perception is that it's immature and slow to develop games using it. To survive as anything beyond a hobby engine, you need to attract commercial teams building serious games, built on a budget with mixed teams of programmers, artists and designers. While you don't need to be better than the big kids in *every* way, you need to be better than them in some ways, and the *rational* choice for some set of teams needs to be to pick your engine. While we're not the rational choice yet for most projects and teams, I want to set us up for real success in the future. In the coming year, I want to network more with gamedevs outside of Rust (say hi!), learn more about the workflows that real indie teams use and challenges that they face. -While the small improvements trickle in, one PR at a time, I want to set my eyes on the horizon, understand what talented small teams are looking for out of their next engine, and make sure we're building towards those goals.s +While the small improvements trickle in, one PR at a time, I want to set my eyes on the horizon, understand what talented small teams are looking for out of their next engine, and make sure we're building towards those goals. No one is writing the next Call of Duty in Bevy (yet!): the requirements around rendering, tooling, training, console support and risk are way too strict. But what would it take to convince teams to write the next Factorio, Terraria, Slay the Spire, Hollow Knight or Hades in Bevy? From 82e72f6ab2cdcd869d3a3917cc8002e23529e1ec Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 9 Sep 2024 21:21:54 -0400 Subject: [PATCH 5/9] Tweak post metadata --- content/news/2024-??-??-dream-job/index.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index 051d8c4a2d..65defd2464 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -1,11 +1,9 @@ +++ -title = "I landed my dream job. Now what?" -date = 2024-TODO-TODO +title = "I landed my dream job making a Rust game engine. Now what?" +date = 2024-09-TODO authors = ["Alice I. Cecile"] [extra] github = "alice-i-cecile" -image = "TODO.svg" -show_image = true +++ So I landed my dream job. Full-time open source building a game engine in Rust. Absolutely no meetings. What more could you ask for? From ddfdf57966d0820b7d117fa7eb3d2939ae0daf14 Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 9 Sep 2024 21:59:25 -0400 Subject: [PATCH 6/9] Update date to tomorrow --- content/news/2024-??-??-dream-job/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index 65defd2464..fad2ab2e86 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -1,6 +1,6 @@ +++ title = "I landed my dream job making a Rust game engine. Now what?" -date = 2024-09-TODO +date = 2024-09-10 authors = ["Alice I. Cecile"] [extra] github = "alice-i-cecile" From 5357182bc94732bf60a3dca46abbc8fd88094d66 Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Tue, 10 Sep 2024 08:47:30 -0400 Subject: [PATCH 7/9] Copyediting Co-authored-by: Joona Aalto --- content/news/2024-??-??-dream-job/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-??-??-dream-job/index.md index fad2ab2e86..dcc81dd9b4 100644 --- a/content/news/2024-??-??-dream-job/index.md +++ b/content/news/2024-??-??-dream-job/index.md @@ -53,10 +53,10 @@ But there would be no *obligation*: no sense that I *must* do these things, or m I could be there for the impromptu late night design chats, but still disconnect during date night because, after all, I finished work *hours* ago. This balance has worked really well for me: letting me drive forward larger initiatives (`bevy_color`! A huge `leafwing-input-manager` refactor! The 0.14 release!) without falling behind on the flood of notifications. -Would I recommend you use it? Probably not! It requires a egree of flexibility that many organizations won't afford you, you need to be driven and self-motivated and frankly, the work-life boundary is far blurrier than most people can live with. +Would I recommend you use it? Probably not! It requires a degree of flexibility that many organizations won't afford you, you need to be driven and self-motivated and frankly, the work-life boundary is far blurrier than most people can live with. But for someone working full-time in open source? Absolutely! -## Dream Jobs are Still Jobs +## Dream Jobs Are Still Jobs So, having worked at the Bevy Foundation for a few months: is this really my dream job? How does it live up to my expectations? Despite my boundless idealism, working for a non-profit you care about is not a panacea: if the working conditions suck, @@ -76,7 +76,7 @@ But it's not perfect, that's all balanced out by: - a remarkably public role, where everything I do from day-to-day is visible - an incredibly small team of non-volunteers that serve as a backstop for all of the needful but tedious things that need to be done - fuzzy work-life boundaries -- a salary is *much* lower than what I could be making +- a salary that is *much* lower than what I could be making - existential dread caused by relying entirely on [generous donors](https://bevyengine.org/donate) to keep both myself and the project I love afloat Honestly, it's a lot like founding a startup. @@ -111,15 +111,15 @@ I've been incredibly pleased to see how they've turned out: - a mechanism for ambitious contributors to build consensus and radically change things The `bevy_color` working group was a wonderful bubbling hub of activity that tackled all of the gnarly corners of writing a color library from scratch, -the 0.14 release working group really helped take the pressure off of Cart and I, even if it was a slog. +while the 0.14 release working group really helped take the pressure off of Cart and I, even if it was a slog. I'm really excited to see what the open groups (relations, text, audio, picking, contributing guide, scenes, render graph and curves) put together over the next year! I'll stir the pot periodically to keep things moving along smoothly, but overall I'm delighted by how well this experiment in self-organization has gone. -## Technical Future: UI that doesn't Suck +## Technical Future: UI That Doesn't Suck Right now, Bevy has a critical technical limitation: our UI solution sucks. -While of course you could argue that *all* UI solutions sucks, `bevy_ui` is remarkably underbaked. +While of course you could argue that *all* UI solutions suck, `bevy_ui` is remarkably underbaked. There's too much boilerplate, there are virtually no premade widgets, and most of the hard problems are handed off to the user. While things *have* improved substantially since Bevy's initial release, `bevy_ui` operates at the same level as HTML: just raw data structures to be manipulated. @@ -152,8 +152,8 @@ Overwhelmingly, professional game developers don't decide that they're going to While hobbyists and those seeking to learn Rust *might* choose an engine that way (Rust is delightful and making games is a great way to learn), it's an ineffective way to make business-critical decisions! -Instead, they look at the set of *full* set of engines and what they have to offer: Unity, Unreal, Godot and dozens more. -Every team and every project has different needs and idosyncratic preferences: there will never be an ur-engine that others are simply *wrong* for not choosing. +Instead, they look at the *full* set of engines and what they have to offer: Unity, Unreal, Godot and dozens more. +Every team and every project has different needs and idiosyncratic preferences: there will never be an ur-engine that others are simply *wrong* for not choosing. But if you want to compete within a crowded space, you need to both carve out and communicate a niche: a set of things that you're *uniquely* good at. Simply being the best, most popular, or most featureful game engine in Rust isn't enough, and frankly, barely matters at all. From 21d1a5124a3ff7a544cb3e784ad5f4e0c2239b97 Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Tue, 10 Sep 2024 08:49:47 -0400 Subject: [PATCH 8/9] Fix title of post --- .../news/{2024-??-??-dream-job => 2024-09-10-dream-job}/index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/news/{2024-??-??-dream-job => 2024-09-10-dream-job}/index.md (100%) diff --git a/content/news/2024-??-??-dream-job/index.md b/content/news/2024-09-10-dream-job/index.md similarity index 100% rename from content/news/2024-??-??-dream-job/index.md rename to content/news/2024-09-10-dream-job/index.md From 5445d310decfaa4ea9502f8bbb71c2f11c6837da Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Tue, 10 Sep 2024 08:50:06 -0400 Subject: [PATCH 9/9] Add dividing line for summary --- content/news/2024-09-10-dream-job/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/news/2024-09-10-dream-job/index.md b/content/news/2024-09-10-dream-job/index.md index dcc81dd9b4..7798137039 100644 --- a/content/news/2024-09-10-dream-job/index.md +++ b/content/news/2024-09-10-dream-job/index.md @@ -13,6 +13,8 @@ But now what? [Bevy's fourth birthday](../2024-08-10-bevys-fourth-birthday/index.md) has rolled around, and `@cart` has put out a call for others to reflect on the year behind us, and plan for the year ahead. How have my first few months of Serious Employment at the Bevy Foundation gone, and what am I cooking up? + + ## Quasi-Hobby to Day Job For years before I started working at the Bevy Foundation, I've helped out around Bevy: writing docs, triaging issues, reviewing PRs, designing complex systems and polishing off rough corners.