Ciao!
Have you ever had the luck of learning under the wing of great people?
When I started working at Lunar Logic several years ago, I was assigned two mentors: Ania and Marcin. Not only I had a great time hanging out with them, but they also taught me a lesson that stayed with me ever since.
You know, they are both talented folks, no wonders I could always count on copious technical feedback. But it didn't stop there, they made sure I could see the why behind specific practices and technologies.
In other words, they mentored in a way that allowed me to exploit their teachings not only in the current context but in others as well.
Among other things, Ania taught me to care about progressive web enhancement, user experience, and performance. Marcin distilled OOP and code architecture so clearly that I finally grokked it.
The trick of developing permanent knowledge capital and learning in a transferable way has contaminated my practice ever since, including my reading list.
How to Tame Your Reading List to Support Your Goals — While busy trying to fit all that content in our heads, we forget that reading is just the easy part.
Types as axioms, or: playing god with static types — The real point of this blog post is that a type system does not have a well-defined list of things it “can prove” and “can’t prove.” Languages like TypeScript don’t really encourage this approach to data modeling, where you restructure your values in a certain way so as to guarantee certain properties. Rather, they prefer to add increasingly sophisticated constraints and type system features that can capture the properties people want to capture without having to change their data representation.
The Wrong Abstraction — The moral of this story? Don't get trapped by the sunk cost fallacy. If you find yourself passing parameters and adding conditional paths through shared code, the abstraction is incorrect. It may have been right to begin with, but that day has passed. Once an abstraction is proved wrong the best strategy is to re-introduce duplication and let it show you what's right. Although it occasionally makes sense to accumulate a few conditionals to gain insight into what's going on, you'll suffer less pain if you abandon the wrong abstraction sooner rather than later.
A Brief Rant on the Future of Interaction Design — With an entire body at your command, do you seriously think the Future Of Interaction should be a single finger? (Shoutout to Rafał for emailing me the article.)
What's one thing that a mentor shared with you that ended up making a huge difference in your life or career? Reply and let me know!
Thanks for spending some time reading with me. Talk to you soon.
Yours truly,
Riccardo.