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”. *
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.
But aren’t all libraries extensible? After all, people write code with them. Some more than others. Libraries don’t always provide composable primitives.
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.
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.
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.
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”.
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.
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
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”. *
LESSONS FROM OPEN-SOURCE Open-source tools have crushed closed- source software again and again (despite tremendous disadvantages). * Why? Because they’re programmable. *
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. *