chriskrycho
I debated including XKCD 2347 in the talk but figured it was “too easy”: everyone was already thinking of it anyway!
Edit: Went ahead and added an inline toggle on the page for showing/hiding the slides. I will think about how to generalize it/tweak it in the future, but that should help for this one, at least!
Lowercase Your Namespaces: a proposed convention for JavaScript imports
Eg-Walker: the best of OTs and CRDTs [video]
Big Packages or Many Dependencies – pick your poison
Isolating complexity is the essence of successful abstractions
Working with submodules natively (see steveklabnik’s sibling comment for the “non-native” bit) will definitely be a big win.
Jujutsu Megamerges and jj Absorb
Read the Code: Using Drop for Safety in Rust
Now, maybe it lands that way and maybe it doesn’t, but I think that our industry could use lots of “discovering something mundane and wrapping it up as a TED talk” if it helps us to be more serious practitioners of the discipline. Most of what we need is mundane, after all! But that doesn’t mean it is unimportant, and it doesn’t mean everyone already knows it.
Heh, this is fair, and I actually just edited the intro in response to that feedback. In my defense, the talk itself doesn’t start that way; that was how I introduced for the folks who read my blog via feed or email subscription. Might need to iterate on having ways to add “feed-only content” for that kind of thing, because I think it’s reasonable to say that in the context of folks who already follow your work, but you’re right that it’s weird at the start of a “regular” blog post for people coming to it fresh!
Sorry to hear the rest of it didn’t land for you. Can’t win them all!
Re: LinkedIn—Ha! I debated on how much to include/not-include specific references to my previous employer there, and erred on the side of “let’s keep this grounded in specific real-world experience at least a little”. I think you might get mildly tipsy, but not terribly drunk.
- Short-form résumé: https://cdn.chriskrycho.com/resume.pdf
- Long-form CV: https://v5.chriskrycho.com/cv
- Services page: https://v5.chriskrycho.com/services
I help teams with front-end web strategy development, TypeScript adoption and conversion, and Rust adoption. I am just kicking off more consulting work after spending the summer working on a new chapter of _The Rust Programming Language_ (the official book) on async programming in Rust.
Up until this time last year, I was tech lead for the LinkedIn.com desktop app, where I spearheaded LinkedIn’s adoption of TS and was the tech expert for the effort—when other folks hit an area they couldn’t figure out how to write safe and accurate types for, they pinged me.
I am also happy to provide 1:1 coaching and mentoring. See my site for more, or email me: [email protected]
Location: Monument (45min S of Denver), Colorado, United States
Remote: Yes, only
Willing to relocate: No
Technologies:
- TypeScript and JavaScript (including Node)
- Rust
- CSS, HTML
Long ago, also Postgres.
I have lots of front end infra/engineering effectiveness experience from my almost-5-year tenure working on LinkedIn.com, where I was the tech lead until a year ago. I built the Ember TypeScript team, got LinkedIn’s TS effort funded and was the tech expert for the effort—when other folks hit an area they couldn’t figure out how to write safe and accurate types for, they pinged me.I also have significant experience with Rust education: I ran the New Rustacean podcast 2015–2019, and this summer I wrote a new chapter on async/await for the official Rust book (currently in revision!).
Looking for roles with a particular kind of impact on the world (https://v5.chriskrycho.com/journal/next/role/), but fairly wide open about the details—though I particularly love and excel at framework and API design, and open source leadership and ecosystem development. I also have a passion for, but am relatively new at, PL work.
As a bonus, I am a very good teacher, mentor, and public speaker; you can find a number of talks by me on YouTube, including most recently at StaffPlus New York (https://www.youtube.com/watch?v=VkSGJdPyLxQ).
Seeing Like a Programmer—Resiliency, Limits, & Moral Hazards in S.Eng. [video]
What is it like to use a non-Git VCS? Jujutsu VCS video demo and walkthrough
Iterators and traversables [have important differences]
You Have to Type It Out: Learning frameworks, languages, math, music, etc.
But I am immensely encouraged to see Swift and Hylo and Vale all taking swings at the same problem space with very different emphases and approaches, and while I differ with Zig on some fundamentals I can totally imagine a language that grabs many of its good ideas along many of those from Rust which Zig drops, and goes somewhere better than either has managed so far.
I don't, though, agree at all about natural language solving problems here—rather the opposite, in fact. I think that in many cases, things like memory safety (and other kinds of safety!) are going to be more important to solve at language and framework level in a world where there is massively more code generated by prompting LLMs.
Whether it is “unprofessional“ or not is something I thought about quite a bit. I think I walked the line of being fairly politic and avoiding dragging real people’s names through the mud, while still getting into some of what that kind of real world engineering and associated politics is like. At the same time, I can see how someone would take the view that none of this kind of thing should be shared outside the company. Your mileage may vary. I hope at a minimum you can understand why someone might choose to air a little bit of it while trying not to be nasty about it.
- Propose a 5-year-plan: yeah, “lol” is about right. It was never going to win any hearts or minds. It was also our least favorite plan. But it was also the only one we felt we could actually bring to our executive leadership given what they were telling us prior to that, which was basically “Even for a migration we are asking you for, do not slow down product iteration velocity at all.” How do you do that? Welllll…
- I’m not really sure what you’re referring to about leading the incident with blame instead of leadership. It’s possible something got lost in translation with the amount we cut, but I actually aimed very much to do the opposite. We didn’t blame the people who lowered the memory thresholds, the people who typo’d a bad value in YAML, or anyone else. I just insisted that we actually solve the root issues instead of leaving them to fester for the next poor person who happened to be around when it inevitably blew up again.
- “Speaking about problems more than solving problems”: really not sure what you mean here. I didn’t spend a ton of time bragging about what I had pulled off on the show because wow would that ever have been in poor taste, but… I did pretty well in the problems I solved there.
- Lack of relationship building: yeah, I called that out on the episode! It was my weakest area. I had a really good rapport with engineers, and failed pretty miserably at building cachet with management, especially with management above me.
I wouldn’t say in the end that it was just down to not knowing how to perform in the environment, though. Some of it was also a choice, in the end, not to perform in ways that I could see would be successful in the environment but which I simply did not believe in. I think a lot of the engineers I respect most are like this: can and will do the political dance for something they believe in… but not for things they don’t believe in.