I’m a writer of software and words, currently exploring productivity in the remote world, software development, and living with intention.
You can find me rambling on Twitter, reading on Goodreads, answering questions on StackOverflow, and sharing code on GitHub.
If you are into Test-Driven Development, I wrote a book about it.
Latest posts
- Intentional device upgradesUpgrading through downsizing
- Bunch of Books from August 2023How to safeguard your attention span, advice for living, the history of precision engineering, and more.
- Outsource your worries to your productivity systemThree techniques to safeguard focus by putting structure around worrying.
- Don’t let your intrinsic motivation become a liabilityAn inner drive to excel is compatible with expecting a pay rise.
- Be your harshest criticBe kind to yourself: be your own worst critic.
- The super-star and the super-chilledExploring different ways to succeed in the remote marketplace.
- Develop empathy for your future selfMake your future self’s life easier; starting today.
- Never say “What the hell”You are always in time to course correct.
- The Sherlock Holmes information dietOnly a fool takes in all the content he come across.
- Bunch of Books – July 2023Takeaways from the books I read in July 2023.
- Follow the track but keep your eyes openOpportunities don’t come on a schedule.
- Don’t check your inbox. Process it!Manage your inbox to maximize your attention.
- Write down what you need to do, wake up early, and do itA Navy SEAL minimalistic advice for a productive day.
- Being productive won’t get you more free timeIf free time is what you’re after, productivity will only get you halfway there.
- There’s more to caring than working long hoursShow you care through your craft, not your time sheet.
- Bunch of Books – June 2023Good books I read in June 2023.
- Break free from mediocrityThe discipline to push for higher standards will buy you freedom on several axes.
- When Remote Doesn’t WorkRemote fails when it tries to replicate the office instead of moving beyond it.
- Chris Lattner on cross-pollination in MojoMojo remixes proven AI-programming ideas from existing systems into a new beautiful language.
- How to Reframe Pull Requests to Maximize LearningThink of PRs as requests for your code to be improved, not merged.
- Will AI kill the middle manager?If AI will make tomorrow individuals as productive as today’s teams, will there still be a market for full-time managers?
- Will VR disrupt distributed work?Apple promises Vision Pro will unlock new opportunities at work. But do we actually want the office to become virtual?
- Software engineers should readWhen you think for a living, reading is an essential skill.
- Bunch of books – May 2023 editionGood books I read in May 2023.
- Process over peopleManaging processes, not people, is the key to maintain productivity and foster creativity.
- The Synergist EngineerCarve your own career path by leveraging your unique combination of skills.
- Judgment is the decisive skill“In an age of nearly infinite leverage, judgment is the decisive skill.”
- Broaden your range to improve your thinkingExpose yourself to fields that are different from yours. You’ll find surprising new ways of thinking to add to your repertoire.
- Ignore the new releases, read these books insteadWhen overwhelmed by new options, it pays to find older, proven alternatives.
- Bigger doesn’t mean smarterIn nature, bigger brains don’t necessary mean smarter creatures. Does this apply to artificial brains, too?
- This is why we need AI literacyTexas professor fails entire class after ChatGPT told him it wrote their assignments.
- Thiel vs. Gladwell: How worldview affects explanationsObservations are theory-laden.
- Stop consuming. Start savoring.Time to raise the quality bar for what we feed our minds with.
- We need more refined technology critiquesOnly nuanced critiques can improve how we interact with technology.
- Opportunistic lawn mowingRemote work can let you integrate professional and personal tasks effectively, but only if two prerequisites are met.
- Parkinson’s law strikes againEven a best-selling productivity master cannot stop work expanding to fill the time available for its completion.
- Intentional InefficienciesGood time management is not always about efficiency. In fact, it’s often by being intentionally inefficient that one gets quality of of their time.
- How to accelerate software development with AIMy piece for GitHub’s The ReadME Project looks at how generative AI can improve the TDD feedback loop.
- Knowledge is networkedKnowledge is as much about gathering information as it is about finding connections between data points.
- Don’t fall for the lump of labor fallacyEvery time a job gets automated, people find new ways to invest the freed up time and resources.
- Swift did not disrupt the iOS job market, and neither will AISwift made iOS development easier but did not disrupt the marketplace. AI will do the same.
- Own your clarityCommunicating ideas is a lossy process. If you care about being understood, take 100% responsibility for your level of clarity.
- What happens when publishing apps is as easy as sharing videos?Generative AIs can lower the barrier to entry to creating software—and everyone is better off for it.
- We need to develop AI-literacyWriting a good prompt for ChatGPT is not enough. We also need to know what to make of the answer it gives us.
- Artificial InternsGenerative AIs are “artificial interns”. And like human interns, they are capable and eager, but need lots of guidance.
- Don’t blame the algorithmsI wasted an evening watching Instagram videos, compromising my sleep and derailing the following day. But I have no one to blame but myself.
- Worry about AI bias, not alignmentThe next time you interact with an AI, worry about the accuracy of its suggestions, not its world domination agenda.
- Beware the AI apocalypse propheciesFollowing the releases of ChatGPT and GPT-4, many people are calling for slowing down AI research, with some prophesying robots will “kill all humans.” Here’s why you should not worry about that.
- Meta Efficiency2023 will be Meta’s Year of Efficiency. We can look at their playbook for techniques to apply in our own day to day work.
- What does it mean to be a software developer?Software developers do more than writing code all day long. Look at the job as a whole and you’ll find many orthogonal ways to improve.
- Leave Context BreadcrumbsThe work you produce and share is embedded in a network of context and knowledge. If you want to collaborate efficiently, leave breadcrumbs for your collaborators to access the context supporting your work.
- How to stop working when there’s always more work to doKnowledge work is open-ended. For every task you finish, there are two more you could start. Deadlines, competition, and genuinely interesting problems conspire to keep you working but rest is paramount for long term performance. Here are three ideas to help you put a hard stop to the work day and go off to recharge.
- How to keep work on track with timeboxingMany knowledge work activities have a way of requiring you to feed more time into them. Timeboxing offers a way to keep these time-hungry activities at bay so you can move on with your work.
- As happy as a lumberjackWant to enjoy your work more? Take a page from the lumberjack’s playbook and do more of it outside.
- Stuck is the default stateBeing stuck on a problem is the commonest trouble of all. It’s the default state, the starting point. It’s a sign you found something worth solving.
- Use this approach for your New Year’s resolutionsNew Year’s resolutions fail because they are goals without a process to back them. Sure, chose an ambitious goal, but don’t stop there. Identify small actions you can take frequently to increase your likelihood of succeeding.
- How more work today leads to extra gain tomorrowOftentimes, putting a little extra work, time, money into something today result in better outcomes in the long run.
- A couple of steps towards InfinityIf you want to level up the quality of your thinking, David Deutsch’s The Beginning of Infinity is the book to read. It will change how you think problem-solving, optimism, and rationality.
- Here’s a better way to discuss process and frictionWhen talking about processes and how they can be improved, it pays to use a precise vocabulary. Ceej Silverio’s definition of formality, ceremony, toil, and friction is a great starting point.
- Ten Things I Wish I Knew Ten Years AgoTen years ago, I left Italy on a one-way ticket to London. I had no job lined up and no long-term accommodation. In the end, things turned out fine. If I could meet my younger self, here are ten things I would tell him.
- When should you fix software bugs?Every bug has the potential to degenerate in a catastrophic incident. Adopting a policy of fixing bugs as soon as they are reported can work as a risk mitigation strategy.
- Your productivity setup is fine the way it isOnce you found a productivity setup that works for you, tweaking it will only deliver minor improvements. It won’t make it any easier to get your actual work done. Don’t let bike shedding distract you from showing up and doing the work.
- Opportunities, rebounding from mistakes, and the trapeze strategyTomorrow hasn’t happened yet, a Jazz legend’s advice on how to rebound from mistake, and a strategy for implementing changes.
- Is “Don’t Break The Chain” Good Productivity Advice?“Don’t break the chain” is great advice, but it’s fragile. All chain breaks eventually. It’s what you do when the chain breaks that makes a difference.
- Productivity wisdom from a 5-year-old LEGO builderHow leaving something unfinished when you know what the next step is can help you being productive.
- The End of the World Is Just the Beginning… of Something BetterThoughts on fighting against pessimism. Based on Brett Hall’s reaction on Sam Harris’ podcast “The End of Global Order”.
- Consistency Over IntensityA commentary on The Growth Equation podcast episode “Consistency Over Intensity”.
- Recipes are for cakes, not careersWhen seeking and implementing advice from the internet, be mindful of the context it applies to. Recipes are good for deterministic domains such as cooking, but real life is more complex and there are too many variables that affect the end result of a process.
- Money Is A Neutral Indicator Of ValueHow do you choose which projects to pursue? Derek Sivers’ answer is simple: “Do what people are willing to pay for.”
- What does it mean to be a productive software developer?In the context of software development, productivity is more than a mere measure of output, line of codes, or tasks moved to the done column. A truly productive developer is one that delivers impactful work over time.
- Why Teamwork Is In Your Best Self-InterestPrioritizing teamwork can be the most selfish thing you do because if your team works smoothly you will reap great benefits.
- Multitasking, deep understanding, and comparisonsWhat multitasking feels like for the brain, a science-fiction legend advice on how to develop deep understanding, and a reframing suggestion for a healthier kind of comparison.
- How to create a productive working environment when on a budgetFew of us have thousand of dollars to spend on our home office setups to fine tune them for productivity and creativity. Luckily, there are simple ways to introduce variation in our workdays that can help just as much.
- No, I don’t have a WWDC selfie to shareIf, like me, you never attended WWDC, don’t fee sorry about yourself. Yes, we missed out on lots of fun, networking, and inspiration. But that has nothing to do with our value as software developers.
- You can’t work with Slack openInstant messaging apps keep work teams connected but are also a source of distraction and context switch. If you hope to get anything done, quit your IM client first.
- Can the telegraph teach us anything about the future of software?Telegraph operators were once a class of highly paid and skilled workers but their time didn’t last long. Could the same happen to software developers?
- Failing sucks, but it doesn’t have toFailing sucks, unless you see every endeavor as an experiment.
- How To Walk More Without Changing Your ScheduleWalking is good for us, yet our busy schedules don’t leave much time for it. We can’t wait for a better schedule to start walking more! Here’s how to introduce more walking in your day, without changing your work schedule.
- Tech Is Never The Problem – Content Moderation EditionThe issue with content moderation is that there are people involved at both ends of the pipeline.
- Tech Is Never The ProblemOr the solution. When you dig deep enough, all problems are people problems.
- Turn Your iPhone Into An Inspiration MachineWith a combination of Shortcut and Personal Automation, your iPhone can show you an inspirational image every time you unlock it.
- Don’t Watch The Current Thing ShowIf you care about your time, energy, and attention, opt-out from “The Current Thing” show.
- You Don’t Have To Have An OpinionElon Musk bought Twitter and everybody seems to be picking sides. But there is an alternative: form no opinion and see how events unfold.
- Become Comfortable With AmbiguityThere are no right or wrong answers, only tradeoffs. We cannot avoid ambiguity, so we’re better off embracing it.
- Is Flow State Necessary To Create Valuable Work?Many portray flow state as the productivity nirvana. But seeking flow might push you towards work that are pleasurable to do and away from what’s truly valuable.
- Write Everything TwiceWriting is a crucial part of knowledge work, but few of us are taught how to write well. To improve your written communication, write everything twice.
- Fantastic Few And How To Find ThemIn many situations, a few inputs account for most of the outcomes. Those vital few are the ones you want to focus on to maximize your returns. But, how do you find them?
- Three Tips To Get Started With Deep WorkWorking deeply is both a skill and a habit. As such, it needs to be established and trained. If you’re starting out, don’t be surprised or discouraged if it’s hard: It’s supposed to be!
- How To Harness Combinatory CreativityCreativity depends on the quality and quantity of your inputs, but how can you optimize and organize them?
- How To Cut Through The Crypto NoiseTake the best arguments pro and against, then make the clash against each other.
- Books vs. BreakfastsWhy a book is a better investment than the most delicious breakfast.
- Study The Past To Understand The FutureMake better decisions by pattern-matching today’s events with what happened in the past.
- Lessons In Changing Habits From Potty Training ToddlersSometimes, we repeat bad habits because we don’t know any better.
- Include This In Your EstimatesDon’t forget to account for communication and collaboration overhead when estimating a project.
- Mediocrity Is Always In A RushAdvice from a British novelist on the one trait that separates genius from mediocrity.
- So Simple We Cannot Yet Understand ItComplexity depends on your level of understanding.
- Hybrid Work Doesn’t WorkHybrid work creates a clash between two different collaboration modes. By shooting for both, it’s effective at none.
- The Hemingway ContradictionDo like Hemingway did, not like he (supposedly) said.
- Beware Moving The Happiness GoalpostIf we keep pushing happiness goal post further up as we go along, by definition we’ll never be happy.
- Reply In Five SentencesWhat would happen if you replied to every message in five sentences or less?