Something I've been thinking about: "bonus skills," the skills that don't necessarily get advertised, but are often the most transferable across life stages.
Here's a thread of the bonus skills I learned at different stages of my education and career. Curious to hear yours.
In undergrad, I learned how to:
📚 Skim hundreds of pages in one hour and have something intelligent to say.
🙇🏻♀️ Be okay with not being the smartest or the most interesting person in the room.
🤝 Be okay relying on other people when working under high pressure.
In grad school, I learned how to:
⏲ Be okay working like crazy right up until the minute of a deadline.
⏳ Be able to wait months and sometimes years for results.
🧘🏻♀️ Decouple my identity from work outcomes.
💖 Lean on my friends for support and sanity.
Thought about this Tweet a lot today. Yes, I agree that Parler will come back, but I have yet to see people talking about just how powerful it is that the major players in the build-yourself-an-app starter kit have decided not to support Parler.
When I was and undergrad and junior grad student, I regularly burned myself out on deadlines. I actually work WAY harder now. And I'm able to do it because I learned to manage my energy better. Here are some lessons I learned.
The most important thing I learned was to recognize if I'm not working productively on something and step away. To make a sports analogy, pushing through fatigue is how you get better but you shouldn't push through injury. Taking a break early can give you a lot more time back.
Another lesson was to take recovery seriously. Previously, this meant sitting in a catatonic state after I had overworked myself. I now have processes for winding myself down daily, weekly, monthly, and annually. They include meditation, yoga, writing, and doing non-work things.
"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints," Cousot & Cousot, 1977. Introduced abstract interpretation for statically analyzing program properties. Now used by Airbus.
"Design and synthesis of synchronization skeletons using branching time temporal logic," Clarke & Emerson, 1981. The first paper on model checking for program correctness. Led to the 2007 Turing Award.
Just had an good conversation with @panmanphil about data flows:
🧐 Why enforcing privacy/access policies in software is hard
😫 Why static and dynamic analysis aren't the solutions of people's dreams
🛣️ Why data visibility/data mapping is The Way
@panmanphil 🧐 Enforcing security/privacy policies on data flows is not as simple as checking a rule as data leaves the database. *Which* rule you check for *what* data matters and is hard to keep track of. Either devs need to track this or software needs to track this. It's hard for devs.
@panmanphil 😫 Automatic policy enforcement requires automatic data tracking. Tracking data at runtime comes with unappealing performance overheads. Tracking it statically, before you run, gives you way too many false positives. Anything short of this leaves major gaps.