Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Let Them Write Code (Keynote, PyCon India 2019)

Let Them Write Code (Keynote, PyCon India 2019)

Ines Montani

October 13, 2019
Tweet

Video

More Decks by Ines Montani

Other Decks in Technology

Transcript

  1. DEVELOPERS GONNA DEVELOP. Good tools help people do their work.

    You don’t have to do their work for them. *
  2. DEVELOPERS GONNA DEVELOP. Good tools help people do their work.

    You don’t have to do their work for them. * Worst developer experiences: tools that want to be “fully integrated solution”. *
  3. DEVELOPERS GONNA DEVELOP. Good tools help people do their work.

    You don’t have to do their work for them. * Worst developer experiences: tools that want to be “fully integrated solution”. * BETTEr, CHEAPER, EASIER.
  4. But aren’t all libraries extensible? After all, people write code

    with them. Some more than others. Libraries don’t always provide composable primitives.
  5. Shouldn’t the library take care of things like this so

    users don’t have to repeat the same code?
  6. Shouldn’t the library take care of things like this so

    users don’t have to repeat the same code? The set of “things like this” is probably bigger than you think, and it keeps growing.
  7. THINK OUTSIDE THE FRAMEWORK Does your tool integrate with X?

    Can you integrate with X in Python? If developers can help themselves, they’re much happier.
  8. But this all looks way too complicated! Easy systems are

    much easier to demo! Try to invite their engineers to the demos. It’s a win-win for both sides.
  9. But we want to win over our customers and give

    them as many features as possible!
  10. But we want to win over our customers and give

    them as many features as possible! If you sell “all or nothing”, users have to go for “nothing” if they don’t want “all”.
  11. But we want our tool to be easy to learn.

    Why should users know all this other Python stuff?
  12. But we want our tool to be easy to learn.

    Why should users know all this other Python stuff? Background knowledge is easy to learn, it generalizes and there’s great resources. It’s tool-specific knowledge that’s hard.
  13. But isn’t this exclusive? What about people who can’t program?

    They can still benefit from an ecosystem if the tools are programmable.
  14. Machine Learning model builder Embedding layer Encoding layer Attention layer

    Output layer Training data BROWSE Evaluation data BROWSE Dropout 0.2 Early stopping Update embeddings Save model to BROWSE CREATE & TRAIN
  15. CODERS VS. NON-CODERS? Making technology accessible to people who aren’t

    like you ≠ thinking of everything they might want and giving it to them. *
  16. CODERS VS. NON-CODERS? Making technology accessible to people who aren’t

    like you ≠ thinking of everything they might want and giving it to them. * Don’t divide the world into “coders” and “non-coders”. *
  17. LESSONS FROM OPEN-SOURCE Open-source tools have crushed closed- source software

    again and again (despite tremendous disadvantages). *
  18. LESSONS FROM OPEN-SOURCE Open-source tools have crushed closed- source software

    again and again (despite tremendous disadvantages). * Why? Because they’re programmable. *
  19. LESSONS FROM OPEN-SOURCE Open-source tools have crushed closed- source software

    again and again (despite tremendous disadvantages). * Why? Because they’re programmable. * It’s fine to make money and build closed- source systems. But learn this lesson. *