davidpoll.com

Building systems, writing about engineering, and learning in public.

Posts

  • I only get to play on this slide?

    The Art of Letting Go: Why Your Platform Needs Less Control Than You Think

    After nearly two decades building developer platforms, I’ve learned that the moment you truly succeed is when developers find magic in places you didn’t mean to put it.

    This is terrifying. It’s also the point.

    I’ve been thinking about this a lot lately as I watch the next generation of platforms struggling with how much control to maintain. The instinct is always to constrain, to guide, to protect developers from themselves. We add guardrails, validation, prescribed patterns. We tell ourselves we’re preventing footguns. Really, we’re preventing discovery.

    Continue reading →
  • Dial your trust up to 11

    The Only Way to Build Trust Is to Give Trust

    A former report reached out recently. It was one of those unexpected messages that stops you mid-scroll, the kind that makes you put your phone down and actually think.

    They wanted me to know I’d been a good manager. More specifically, they remembered how I’d believed in their technical leadership ability early on—perhaps before they believed in it themselves.

    I sat with that for a while. Not because of the compliment, but because it crystallized something I’ve been practicing and preaching in one-on-ones since becoming an engineering manager: The only way to build trust is to give trust.

    It sounds almost tautological when you write it out. Of course trust requires trust. But here’s what I’ve learned in my decade as an engineering manager, across multiple companies, one failed startup, and three kids: most of us do it backwards. We wait for trust to be earned. We require proof before we extend belief. We manage risk instead of enabling growth.

    And in doing so, we become the limiting factor in our own organizations, relationships, and lives.

    Continue reading →
  • Developer Parties 0p-4p

    The 4p Developer: The Missing Layer in Platform Thinking

    Every successful platform has them. They’re worth billions. Yet we don’t even have a name for them.

    I’m talking about developers who build tools for OTHER developers on your platform. Not your internal team. Not external app developers. The fourth party that makes platforms explode.

    I’ve been calling them “4p developers” throughout my career building developer platforms at Microsoft, Parse, Firebase, and Google Cloud. I wanted to share this framework because if you’re building a platform without thinking about them, you’re leaving massive ecosystem value on the table.

    Continue reading →
  • Twelve Years Later

    My last post here was about building a data binding framework for Android. That was March 2013. Android was on KitKat, React hadn’t been open-sourced yet, and I was still convinced that mobile apps needed XAML-style data binding to succeed.

    Narrator: They didn’t.

    Continue reading →
  • Bindroid - A Binding Framework for Android

    I'll admit it -- I was spoiled by my days on the Silverlight team, playing with XAML, .NET, and databinding.  When I started building Android versions of my apps, I went in with the expectation of a similarly modern, powerful UI framework, but quickly found myself frustrated by the complexity of creating UI that tracks values as they change in my application.

    Unlike XAML-based UI frameworks, Android doesn't really have a standard change notification mechanism, nor does it have databinding functionality.  For my apps, I found it useful to build a general-purpose framework that I could use to build really rich, responsive user experiences with minimal effort.  I've decided to open-source this framework as Bindroid, in the hopes that others might find it useful as they build their apps as well.

    Bindroid makes binding your UI to your data really easy.  Just use a "Trackable" to implement your properties (in Java, I consider this to be a pair of methods on an object named get<Name> and set<Name>) like so:

    Continue reading →

subscribe via RSS