/Career Advice

Ask For Advice, Not Permission

- Andrew Bosworth tl;dr: From the CTO at Meta: “One of the most common anti-patterns I see that can create conflict in an otherwise collaborative environment is people asking for permission instead of advice. This is such an insidious practice that it not only sounds reasonable, it actually sounds like the right thing to do: “Hey, I was thinking about doing X, would you be on board with that?”" Andrew argues that the problem with asking for permission is that you’re implicitly asking someone else to take some responsibility for your decision. Asking for advice creates advocates for your idea but doesn't saddle them with responsibility.

featured in #541


How To Identify And Reduce Risk In Your Daily Work

- Wes Kao tl;dr: Two simple questions to ask yourself: (1) What’s most likely to go wrong? (2) What can I do to prevent this from happening? Wes also covers principles to help derisk work: (A) Embrace a healthy sense of paranoia. (B) Pattern match to remember what happened in similar situations. (C) If you foresee a misunderstanding, speak up and clarify. (D) Risk isn’t binary, it’s on a spectrum. 

featured in #541


How To Say "No" And Win Back Your Time As A Software Engineer

- Jordan Cutler tl;dr: Jordan discusses the four practical approaches to saying No, along with practical examples and phrases to use: (1) The Direct Approach. (2) The Redirect Approach. (3) Change Their Perspective Approach. (4) Stonewall Approach. 

featured in #541


You Should Make A New Programming Language

- Nicole Tietz-Sokolskaya tl;dr: “You use a programming language as a tool of thought even when you're away from the keyboard. This makes it ripe for learning. You will learn a lot if you make a new programming language.” Notably, you will learn about grammar, language design, parsing and runtime execution. Nicole shares a couple of easy ways to get started. 

featured in #541


Make Things Simpler Than Possible

- Arthur O’Dwyer tl;dr: Donald Knuth presents a particular system in a specific way. “He first presents an oversimplified version of the system — so oversimplified that it is, in fact, incorrect — to give the student the general gist of the system. Seeing a consistent general plan up front, even though it errs in some particulars helps the student understand the final version.”

featured in #541


Make Things Simpler Than Possible

- Arthur O’Dwyer tl;dr: Donald Knuth presents a particular system in a specific way. “He first presents an oversimplified version of the system — so oversimplified that it is, in fact, incorrect — to give the student the general gist of the system. Seeing a consistent general plan up front, even though it errs in some particulars helps the student understand the final version.”

featured in #540


How To Be More Concise

- Wes Kao tl;dr: (1) Figure out your main point. (2) Try to state your main point in 2-3 sentences. (3) Avoid explaining events chronologically. (4) Constantly remind yourself to shorten your delivery. (5) Exercise situational awareness. (6) Don’t be too concise. (7) For written communication, use “main point above, context below.” (8) For longer verbal communication, use signposting. (9) Offer to elaborate.

featured in #539


What's Hidden Behind “Just Implementation Details"

- Nicole Tietz-Sokolskaya tl;dr: “Here is a quick survey of some of the hard-and-maybe-impossible parts of getting things into production that I've run into in my own work.” Nicole discusses: (1) Getting started. (2) Creating a maintainable design. (3) Making it robust, and observable. (4) User experience and user interface design. (5) Acceptable performance. 

featured in #539


How I Program In 2024

- Kartik Agaram tl;dr: “I just spent a month of my free time, off and on, rewriting the core of a program I've been using and incrementally modifying for 2 years. I've been becalmed since. Partly this is the regular cadence of my subconscious reflecting on what just happened, what I learned from it, taking some time to decide where to go next.” Kartik discusses his synthesis on programming durable things. 

featured in #539


How To Understand / Retain Complex Concepts 10x Better

tl;dr: (1) Pretend you’re having an imaginary conversation where you are explaining the concept to someone else. (2) While explaining the concept, focus on making it easier for them to understand. (3) Repeat this over and over, iteratively refining your explanation of the concept to give increasingly compressed and effective explanations. Over several repetitions, you will end up with a significantly simpler understanding of the concept than when you started. 

featured in #538