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
- You Can’t Fake FocusBut you can train it.
- Reflecting on 150 posts and 2+ years of writingStats, themes, and observations.
- What I’ve been reading – March 2024Slow productivity, courage, and a Pulitzer Prize-winner’s insights on human condition.
- How Deep Is Your Deep Work?Intense focus is not enough.
- What I’ve been reading in February 2024History, discipline, games, and what it takes to innovate.
- Some Work Keeps You Employed. Other Gets You Promoted.The productive developer choses wisely between the two.
- The Willy Wonka Scam Has Nothing To Do With AIScammers will scam. Doomers will doom.
- Gloria Mark on the Ezra Klein ShowOn the intersection between attention and well-being.
- If Something Sucks, Do It As A CareerWant to create value? Do the jobs no one else wants to do.
- What I’ve been reading in January 2024Stoic discipline, American tycoons, rugged flexibility, and more.
- Productivity Systems Are For Using, Not TweakingYour job is chopping trees, not sharpening axes.
- Good Goals Take You On A JourneyWhen chasing a goal, be mindful of the path to get there.
- Simple Not EasyWhy understanding how to be productive is simple, but actually being productive is hard.
- The Ingredients Of A Good DayWhat events make a day good? And how can you get as many of them in your average day?
- Will It Bounce Or Will It Break?A filter to decide what to drop and what to keep.
- To cure distraction, find things worth focusing onWhat if the problem is not too many distractions, but too little that’s worth focusing on?
- Thinking Hard Is Hard WorkWork hard at working smart.
- How To Stay Focused Through Challenging TasksForget about flow state. Master clutch instead.
- How To Ask For Feedback That Actually Helps You Get BetterAsk for advice, not feedback.
- Bunch of Books from October 2023How to think clearly. Plus, lessons from the greatest tycoon.
- The Focusing QuestionOne tool to identify the best next step.
- NVIDIA’s distributed successA story of distributed work, technological innovation, and skyrocketing valuation.
- Highlights from Excellent Advice for Living by Kevin KellySome advice that resonated and some that didn’t.
- The Highest Dividend Money Can PayOn money vs. time affluence.
- Bunch of Books from September 2023Turning up focus to unreasonable levels, how counterfactuals can help explain the world, and wisdom from a 19th century industrialist.
- There are Four Types of RelationshipsIn business and in life, there are essentially four types of relationships. Only one type is worth fostering.
- 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.