One core question around open source is how do you fund it?
Well, there's always that PayPal donate button,
but that's been a tremendous failure for most projects.
Often, the go-to answer is consulting.
But what if you don't want to trade time for money?
You could take things up a notch and change the equation
and exchange value for money.
That's what Ines Montani and her co-founder did
when they started Explosion.ai with Spacey as a foundation.
Listen to her story about building a sustainable software business
on open source and Python.
This is Talk Python to Me.
Episode 202, recorded January 30th, 2019.
Welcome to Talk Python to Me, a weekly podcast on Python,
the language, the libraries, the ecosystem, and the personalities.
This is your host, Michael Kennedy.
Follow me on Twitter, where I'm @mkennedy.
Keep up with the show and listen to past episodes
at talkpython.fm.
And follow the show on Twitter via at Talk Python.
Ines, welcome to Talk Python.
Yeah, it's really nice to be here.
Thanks.
It's really excellent to have you here.
You gave such an excellent talk at EuroPython in 2018.
And I just wanted to have you on and talk about that
and share some of those ideas.
I think it's going to be a lot of fun.
Yeah, I think so too.
For sure.
Before we dig into those, let's just get started with your background.
How did you get into programming in Python?
Yeah, it's actually kind of interesting
because I would say I don't have the typical programming background.
So I started...
You didn't write games at five years old?
No, but I started making websites when I was like 11,
when we got our first computer.
So I first started in Microsoft Word.
And then I, you know, it was back in the day
when you could just look at the website source and copy it.
And so I would do that and always build websites.
And I did then decide when I was older
that I wouldn't want to do this professionally.
Like for some reason, it never appealed to me.
But I, so I worked in media, I worked in marketing,
and then eventually ended back at programming
when I realized that I could combine all the things I liked into a job
because I also did linguistics in uni.
So I was always interested in language.
Yeah, that's a really interesting background.
You don't think of that as a normal path,
like marketing into software development,
especially something like data science, right?
Where it's really deep.
But I guess that ties more into your linguistics side of things, right?
Yeah, and Spacey, especially.
Like Spacey, when I started working on Spacey,
I realized that, wow, I can really combine what I liked.
For example, front-end development with a bit more programming,
other types of stuff with language
and really, you know, using computers to understand language.
That was kind of like the perfect combination of stuff.
Yeah, that's cool.
Was that kind of how you got into Python
because the NLP side of things?
Or where was Python in the story?
Yes, mostly, yeah.
Nice.
And today you're running a business of your own,
doing some really cool stuff, which we're going to dig into.
Maybe just tell people quickly about what you do day to day.
Yeah, so our company is called Explosion AI,
and we mostly develop a lot of open source software.
One of those projects is Spacey,
which is a popular library for NLP and Python.
We also publish other products and other tools
for software development developers.
So we're a developer tools company.
It really sounds like such an interesting project.
And I love how you have Spacey
and you kind of built a proper business on top of it,
not, you know, just throw like a PayPal donate button on there
and hope that that does something right.
Like, but legitimately building something on top
of this open source stuff that you all have going on,
which is great.
We definitely spend some time thinking about
how we could best do this,
but it combines all the things we like doing.
It's really nice to have an open source community
to put our stuff out there.
So yeah, we're very happy with the way we've made this work.
Yeah, it seems like it's working out really well.
So let's dig into this idea of building a software business.
You know, it's something I'm very passionate about,
something that I've done, right?
I have my own business and work for myself as well.
And I think one of the things that really appealed to me
about your talk was,
it kind of pushed back against some of these startup,
San Francisco, high growth VC type mindsets
that are fine for some things.
But it seems like a lot of folks see that and go,
oh, well, if Instagram raised all this money
and it was successful,
I'm going to have to raise all this money
for my new text editor or something silly
that doesn't fit that mold, right?
Yeah.
No, that's definitely,
that's something we see a lot.
And I think, of course,
I understand why this narrative is so prominent
because it's also,
it's often pushed by people who like that narrative
because it makes the money.
And also, I'm not saying
it's the wrong narrative for everything.
But like, definitely,
I think there are lots of businesses
that also work very well
if they're not following the typical startup playbook.
Yeah, absolutely.
You know, I think it's partly popular
because it's a little bit like winning the lottery.
People like these winner takes all scenarios.
People like imagining that type of success
and going after that.
So I think it does play to some of the instincts
that we all have probably.
Yeah, probably.
I will get into more detail about this,
but you talk about selling what you currently have
versus selling potential, right?
Like, hey, this is going to be great
if we just had $100 million in VC money
and we could get everybody to use it.
Think how amazing that would be, right?
And I feel like that's also a little bit,
I don't know,
I feel like so many of those things
are a little bit shallow.
And I don't know,
that's not quite the right word,
but it's like,
they're not really creating meaningful things for people.
they're just trying to get a bunch of people
to use something silly
so that then somehow they can skim a bit of money off of it.
Yeah, you're selling the potential to make future money
because the idea is,
of course, if you take $100 million in funding,
you need to deliver a lot more than that.
So you're basically,
you're working towards that future
where you're going to make $100 billion
rather than the present
where you could be making $200 million,
which they still are pretty,
I would say I would call a business
with $200 million profit,
I would call a successful business.
Unqualified success, right?
But in this venture,
sort of win the lottery thing I told,
like that actually would be kind of a failure, right?
Like just doing double what you did
in raising your money,
that would actually be
probably not enough to make the investors happy.
Like they look for more than that generally.
I mean, it's better than failing, but still.
Yeah.
So let's talk about your journey
and your project,
your company, Explosion AI.
So I guess maybe just set the background,
like how does Explosion AI and Spacey,
and we'll talk about some of the products you have,
how does that whole history fit together and whatnot?
My co-founder, Matt,
he used to work in academia.
So he was a researcher
and he was working on NLP
and he very early on saw that,
oh, this is getting,
this is finally getting useful.
We're finally getting to a point
where this can actually be used
in like commercial projects and help companies.
So he left academia and started writing Spacey.
So he basically,
he was in Australia,
he moved to Berlin.
He took some time off
and focused on the open source project.
And that's kind of the early beginnings.
And we met here in Berlin
and we started working together very quickly
because he always had ideas
for like visualizing the software,
making it more accessible,
making it more usable.
And that's also something
I was very interested in.
So we started working on Spacey
and this worked very well.
So yeah,
we founded Explosion AI together.
And of course we had to think about like,
well, how do we make money?
how do we fund what we're doing here?
And so for the first,
I would say six months,
eight months,
maybe we did consulting.
So we really,
there were lots of companies
who were interested in that.
So we did have the advantage
that we had Spacey.
People liked our work,
wanted to implement this better.
And yeah.
That's cool.
That seems like level one
of this sort of like,
how do I make my open source project
or my open source success or passion
be my job?
And like,
I guess level zero is
create a successful thing
that is open source, right?
You got to start with that.
And then level one is
I'll do consulting,
high-end consulting
as the creator of this project, right?
But you all were looking
a little bit beyond that,
which I thought was pretty cool.
And you,
I really liked this phrase
you used in your presentation.
You said to sort of
get the project going,
we raised a client round
and we went like,
you did consulting
and you made money
to like fill in the gaps
until enough momentum was there
and the products were there
and stuff, right?
Yeah.
It also helped us get
all these insights
that otherwise,
even venture-backed startups
have to do this too.
Like you have to talk
to your users
or potential users
and find out what's working,
what are their problems,
what are you really going to solve?
And that kind of came
almost for free
with consulting
because we actually
worked with users
who were already using
open source projects.
We saw what they were doing.
We really also prioritized
companies who already had
something running
that they wanted to improve.
So yeah,
we got to see,
okay,
what's working for them?
What isn't,
what are the main pain points?
And one of them
was really creating
training data
for machine learning models,
which is what
then really convinced us
that like this idea
for Prodigy,
our first product
was definitely something
we should invest more into
and launch
as soon as possible
because that's really something
that people wanted.
Absolutely.
I mean,
that seems like
the perfect follow-on,
right?
And we'll talk,
we'll talk about that
in just a second.
But I think one of the
really important things
that maybe I would guess
you gained through
that whole experience
is you not just learned
what people want
and need,
but you also made connections
with these,
these big companies
as you consulted for them.
They probably trusted you.
So you could say,
hey,
we have this thing
that's going to help you
if you all want to get it.
It probably,
it's almost like
building an audience
of folks
who will be your customers
before you're trying
to make them your customer.
What do you think?
Yeah,
that's true.
And I think that also happens
with the open source project
because,
you know,
if you want to convince people
to give you money,
you need to show them
why they should give you money
and not some other guy.
And so,
of course,
the open source work
can function in that way.
People see our software,
people can see
that we can build useful software
and it makes it easier
for them to trust us
that,
of course,
the software we're selling them
will also have
a similar quality
and solve their problem
in the same way
space it in.
For sure.
So,
let's talk a little bit
about Prodigy
and that's your first
paid for product.
You go to the website,
it has a,
how much does it cost?
You put in the credit card
and you get it,
right?
It's not like,
well,
you sign up,
we're going to market to you
and then maybe we'll run
some retargeting ads
on you or whatever.
Like,
no,
just you come,
you find the value,
you pay for it,
right?
So,
tell us about Prodigy.
Yeah,
so Prodigy is
an annotation tool mostly
that helps people
label data
for machine learning projects
and run experiments
because the idea is,
okay,
if you're using a library
like Spacey
or any other
machine learning solution,
you ultimately,
once it's really giving you
a lot of value,
you want to train
your own systems
that are very,
very specific
to your problems
that you're solving.
For example,
you get a lot of
customer emails
and you want to
have a system
that automatically
labels them
whether they're about
an invoice question
or whether they're about
some other problem
the user is having,
whether it's a complaint,
whether they're happy.
So,
that type of system
and you need examples
for that.
So,
you have all of your emails
and you want to train a system
and for that,
you need to label the data
and often,
you need to label it
10 times
until you find a way
that works.
That's very tedious work
so we've thought a lot
about how can we make it simpler
and one conclusion
we ended up with
is that it needs
to be a developer tool,
the developer needs
to run it locally,
needs to be able
to quickly also program
their own workflows.
It needs to be a Python library
that you can interact with.
It can't be just some app
that's on the internet
and you need to have
that control.
Yeah,
it's not going to do it,
yeah.
Yeah,
and also it's what
people are used to
working with.
Like we think,
or we call it
let them write code.
We think that
developers want to write code.
That's not an issue.
It's actually,
it's a feature.
You know how to write
a function in Python
no matter how you want to do it.
If you can write it in Python,
you can use it in Prodigy.
Yeah,
it's really cool
because most people
doing something with Spacey
or other machine learning
are,
chances are
they're already
somewhat competent
with Python anyway,
right?
And so you might as well
just leverage that
and that sounds really cool.
And also a big reason
people are using Spacey
and open source tools
like that
is because they want
to build their own systems
and implement them themselves
and also because
often the data
they're working with
is not just something
they want to upload
onto the internet
and they usually,
they probably also shouldn't.
Like they're building
their own systems
which means also
their other tooling
needs to fit
to that kind of workflow
they've set up.
the data needs to stay
on their machines
on their service.
It can't just be sent to us
and Prodigy really fits
neatly into that kind of workflow
and it's been,
yeah,
it's been very popular
and we're very happy
that we were able
to provide more value
to our existing users
that way.
It sounds like a really great product
and it sounds like
it's been pretty successful.
You talked in your presentation
about having two products
that you're working on
that are kind of follow-ons,
one called Annotation Manager
and one called Datastore.
Do you want to tell us
about that as well?
Yeah,
the Prodigy Annotation Manager
or what we're now calling
Prodigy Scale
is basically an extension
that lets people scale up
their annotation projects
because once you've found out
an approach that works,
you often want to have
more people labeling your data
and you want to be able
to see what they're working on.
You want to be able
to farm out texts
to people who might not
be sitting in the same office.
You also want to compare
what they're labeling
to see if there's a problem.
Maybe someone's
misunderstanding the question.
That can lead to
lots of hassle later on
and ideally you want it
to be accessible
over the internet.
And so that actually,
it's been under development
for a long time
and it was a very,
come up with an infrastructure
that does not compromise
on data privacy
while still offering
a software-as-a-service
like FIO.
So you still log in on our website
but you're also running
a local cluster
that farms out the work.
And so the data never
goes through our service
so it directly goes
via your cluster.
Your annotators can access it.
They still have the same
nice feeling of accessing it
through a web app we own
and we run
but you don't have to send us
your data
and we don't store your data.
Yeah, that's an important thing
that you talked about a lot.
How basically,
a lot of these high-growth
VC companies,
their goal is to race
for as many users
as you have
so you can
so you can basically
own their data
infer things about them
and then try to sell them
something or sell
marketers to them
or something to that effect
you know, Facebook
or whatever, right?
Yeah, that's not very important
to us, no.
It just doesn't sound like
it's going to fly very well
with machine learning, right?
You want to send
your most important
data flow of your company
probably containing
private information
through it, right?
That just,
that needs to be
something private, right?
Yeah, and we do have
a lot of users
in, for example,
the healthcare field
who are actually also
working on very interesting stuff
and for them
it's just like
an absolute no-go.
Like, they have their
very secure
audited environments
that they can have
their data on
because it's maybe
sensitive patient data
and that's it.
And so they need tools
like that
and they're very happy
about tools like that.
Yeah, absolutely.
You know, we have
laws like HIPAA
in the US
about healthcare data
but also things like
GDPR in Europe
and even Washington State,
the next state over
from Oregon,
is working on a GDPR-like.
Yeah, I read that.
I think GDPR
is a good thing.
I'm a fan of
regulations in general
if they're reasonable.
Not saying that everything
that comes out of the EU
as regulations is great
but I do like
the general sentiment
of those kinds of
privacy laws.
Yeah, I think there's
a big pushback
on the overstep
and misuse of people's data.
So this trying to build
your business
on people's data
is, I don't know,
maybe it's a little shaky ground.
So it's good that you are not, right?
Yeah, I also,
I think it's just not necessary
and that's kind of,
also that's one thing
I try to get across
also with that talk.
It's like there's so many other ways
you can build a business
that's very sustainable
so you don't even need to do that.
Yeah, I do think that people
are kind of myopic
about seeing VC funding
as the only way, right?
Like it's, I don't think so.
Yeah.
Now, one question
I did want to ask you
and not quite seriously
but just to get your thoughts
on this, right?
Because I would,
I've made the same decision
but why not just keep consulting?
You had six months of this,
I'm sure it was going really well.
You're like,
oh, we could totally
just continue to consult
and a lot of people
go down that path.
I think it's a little more risky
to start a business
and spend your time on that.
So what was your thinking?
Why go,
no, we're going to build
something, a product
and we're going to sell it
rather than try to just
keep working for Bosher?
Or whatever, right?
It's a good question
and I think to some degree
it comes down to personal preference.
Like there are other companies
in our space
that are doing very well
with consulting
but I think you do get
to a point where,
okay, if you want to scale consulting,
you do also need to,
you need more consultants.
You need to,
then you're actually running
a consultancy business
and you're managing
other consultants
and that's just not really,
also that we see,
we don't see this
as our strengths.
like we are quite aware of,
okay, what are we good at?
Where do we have an edge?
And for us,
that's building good developer tools
and we always thought
we were a good team on that.
And the nice thing
about selling software
is that you can sell it,
you write it once
and then you sell it lots of times
and that's like,
in terms of a business,
that's very good.
You have one thing
and you sell it
and it doesn't,
it's still there.
You sell copies of it.
I totally agree.
That touches on something
I deeply value these days.
It just seems so important to me
that if it's possible
to trade value for money
rather than time for money.
Yeah.
I mean, I've always had a good job.
I've had a lot of freedom in my job,
but you know,
when I was doing full-time work,
but it was like,
well, you can't really go on vacation
with your family this month
because there's that project
and it's just,
you know,
it's not the same feeling
of I'm going to create something,
people like it,
they find a lot of value
and it's just a little
exchange some money for it.
Like that just seems to me
a much more rewarding thing to do
than book another week of consulting.
Yeah.
And I also think
offering consulting
on top of an open source project
that you also have,
I think there's actually
a very weird,
the incentives are very,
very misaligned on this
because you are making money
of people needing help
with your software.
So don't make it too easy.
Yeah, yeah, exactly.
So if you make it,
like we've always wanted
to have great docs,
wanted it to be easy
for people to use Spacey.
So if it's too easy
to use Spacey,
people don't need our services
and we make less money.
But if Spacey is shit,
we're losing business that way
because people are not
coming to us anymore
and the library loses adoption.
So I think it's,
there's a very weird...
Yeah, they are a little
misaligned,
the incentives there.
Yeah.
So that's also why we think,
we think there's a great business
in this for other people
and actually,
in fact,
there are lots of consultants
who are somewhat specializing
on building stuff with Spacey
and it works well for them
and we think that's much better
for us
than if we did all of that.
you talk about bucking the startup playbook
and, you know,
like going against it,
some of these common misconceptions.
In your talk,
you had four main misconceptions.
I think they were really spot on
and super interesting.
So let's talk about those a little bit.
The first one was
you have to lose money
in the early days
and the early days
could be six months,
they could be 10 years.
I mean,
there are big companies
that are still losing money,
not making money.
Yes,
it is incredible, right?
And, you know,
maybe that makes sense
and you actually talked about
when it does make sense,
but a lot of times it doesn't
and, you know,
so let's just start there.
Do you have to lose money right away
for a long time
until you've got enough growth?
In some industries,
in some areas,
that might be the case.
So I'm not saying,
oh,
running at a loss is always bad.
There's a legitimate like reason why,
okay,
you might have very high startup costs.
You can't expect,
for example,
any social app
in that sense
or anything
that really
can only make money
once you have users
falls into that category
because you need to grow.
Yeah,
like a two-sided marketplace
like Airbnb
or Uber
or Lyft
or something like that,
right?
Or anything that has
like a physical product.
Like I think in my talk,
I had like this mattress business
where,
okay,
you need to build something.
Casper,
yeah,
and then you need to sell that.
And,
okay,
so you need some cash up for it.
That's fine.
But for a lot of digital things,
that's actually not the case.
And you can,
especially if you have a product
that you want to sell,
there is definitely an advantage
in selling that straight away
rather than running at a loss
even though you have something valuable
that people would be paying for.
I totally agree with this.
And I feel like,
especially in the digital world
where it's software
or something along those lines,
you can work your way into it,
right?
You don't have to say,
we're just going to quit our job
and start writing
the first line of code.
You can start working on this
for an hour a day.
You can start testing.
You can see,
like,
is this something I built
that seems like it's going to be successful?
And then slowly
sort of transition to it,
right?
Which also helps you
have enough traction
when you're started
that it's like
sort of covering some of the bills.
Yeah.
And also,
I think this whole idea of,
okay,
running at a loss,
it's still kind of inspired
by much more traditional manufacturing
where actually
things become cheaper at scale.
So you need to reach that scale.
Like if you're building,
if you have a manufacturing plant,
yes,
if you're building one car,
that's going to be much more expensive
than if you build
100,000 cars
or 100 million cars.
But that's usually
not actually the case
with software development
because that's actually
more expensive at scale.
So this whole concept
all falls apart
if you're actually applying that
to digital
or fully digital
digital products
and tools.
This portion of Talk Python to me
is brought to you by Linode.
Are you looking for hosting
that's fast,
simple,
and incredibly affordable?
Well,
look past that bookstore
and check out Linode
at talkpython.fm
slash Linode.
That's L-I-N-O-D-E.
Plans start at just $5 a month
for a dedicated server
with a gig of RAM.
They have 10 data centers
across the globe.
So no matter where you are
or where your users are,
there's a data center for you.
Whether you want to run
a Python web app,
host a private Git server,
or just a file server,
you'll get native SSDs
on all the machines,
a newly upgraded
200 gigabit network,
24-7 friendly support
even on holidays,
and a seven-day
money-back guarantee.
Need a little help
with your infrastructure?
They even offer
professional services
to help you with
architecture,
migrations,
and more.
Do you want a dedicated
server for free
for the next four months?
Just visit
talkpython.fm
slash Linode.
We brought that up
in your talk
and it was so interesting
because you're right,
things do get harder
in software
as the software
gets bigger,
whereas they get
maybe harder
but much cheaper
in any form
of physical manufacturing
or something like,
right?
Yeah,
Elon Musk built
the Gigafactory
because he needed
to make batteries
at a larger scale
so they could be cheaper,
right?
These types of things,
like that.
Yeah, yeah.
It's not like he's
making much money
with that yet.
I think they actually
said Tesla
was going to have
a profit.
Either it just did
or it's just about,
but yeah,
that's the whole
big growth
sort of side
of the world
as well.
Yeah,
so the idea
that software
gets harder
to build
the more people
you try to throw
at it
is really interesting.
I mean,
long ago
we had the whole
mythical man month
that you can't have
a hundred people
working ten times
faster than,
you know,
ten people,
that sort of thing,
right?
So it's just,
it doesn't always
take a huge team
to build these products
and, you know,
you talked about
some of the open source
projects and others
that were actually
built by pretty
small teams,
right?
there's not that
many people
behind Spacey
and that's super
successful.
There's not that
many people
behind Flask,
right?
And that's super
successful.
Like the people
involved in the
pallets project,
they run a bunch
of open source
projects and that's
like, you know,
count them on my
hands,
number of people,
right?
Actually,
even if you look
at the large
companies,
if you look at
things that are
produced by Google
or open source
projects released
by other companies
of a very large
size,
it doesn't mean
that all of Google
is working on
TensorFlow
or all of Google
is working on
some other project
they released.
Or Facebook's
React is another
example.
It's not like all
of Facebook is
working on.
They actually have
a very, very small
core team as well
and it's a very
successful project
and I think that
also you need
maybe a single
author or very
few authors to
really give a
project the
direction it
needs.
It's like,
yeah,
writing a novel
with 200 people,
that's like a
very fun art
project,
but, you know,
it's not going to
be like the most
amazing,
continuous novel
of all time.
I think it's
the same.
Yeah,
but which is why
I always found
contributors a very
weird metric to
look at open
source projects
and how big
or successful
they are.
Yeah,
I guess even in
these big companies,
the reason the
small team gets to
work on it is they
have enough extra
money,
they can just pay
them to work on
these projects,
but that doesn't
mean they put 100
people on,
like you say,
React or something,
right?
That doesn't make
sense.
Yeah,
and it also
doesn't mean that
the project is
necessarily has like,
I don't know,
more of a chance to
stay than a project
that's developed by a
small company.
If anything,
it's much cheaper for
a company like Google
or easier to just
shelve some project
even.
I mean,
look at all the
stuff Google's killed
that people love,
like Google Reader.
I'm still bitter
about this to this
day.
I'm bitter.
Yeah,
it's been 10 years
and I still think
about this a lot.
Still have a few
scars in that.
Yeah,
they're killing Inbox,
which I absolutely
love,
and it's gone in
two months.
Yeah,
two months.
So,
well,
you're right,
it doesn't mean it.
Yeah,
so that's why
when people are like,
oh,
but how do I know
that your project
is going to stay
around?
It's a weird way
of looking at it.
It's a valid concern,
but just because
something is developed
by a very large
company doesn't mean
they're going to
keep it alive
for longer or
necessarily want to
invest more resources
into it.
Yeah,
that's for sure.
So,
one other thing
you touched on
about this kind of
running at a loss
side of things
is it's a little bit
of a winner-take-all
situation.
Yeah.
that means people
are pursuing
these sort of
big VC-funded,
they've got to be
really big projects,
and that leaves room
for a bunch of
small and medium-sized
success stories
that are just
a little too small
for, you know,
that big investment
or whatever,
right?
But it would be
really great
for many people.
what we're talking
about there
as small
is still like
a very,
very significant
amount.
Like,
you know,
in a lot of
these areas,
a few hundred
million would be
too small.
And I think
for a lot of
people,
that's actually,
that's a pretty
good business.
Yeah,
I would think so.
Yeah,
yeah,
and also there are
lots of these
types of businesses
where you can,
for example,
if 50% of your
revenue is profit,
you have a much,
much higher
trajectory to actually,
if you grow
at a similar rate
organically,
you're actually much
better off than if
you're in a position
where you maybe have
the same revenue
but it's only like,
you have the same
profit but it's only
like 10% of your
revenue or 2%
of your revenue.
Yeah.
So,
yeah,
we've always seen it
like,
okay,
we don't have to be
the one provider
of developer tools
ever in the world.
Right,
so basically,
if you're not chasing
this tournament,
winner takes all,
I got the big VC
round and we're gonna,
you know,
Facebook's gonna crush
MySpace or,
you know,
whatever type of
story we're trying,
narrative we're trying
to tell here,
then it's not
necessary to,
run at a loss
because you can be
more organic,
you can work on the
products that people
really want and just
grow a little bit slower
but still totally good
for you and your
smaller set of people,
right?
Yeah,
well,
you can have a
competitor,
you can,
it's fine,
you don't have to
crush everything else.
Exactly.
Can't we all just get along?
Which is quite expensive,
yeah.
Yeah,
that's for sure.
The other one,
which we touched a little
bit on,
is that you need to hire
a lot of people.
So,
you think that small teams
actually are a big
advantage here,
yeah?
I agree.
In our case,
definitely.
I mean,
we're actually working
with a few more
developers,
especially for
Prodigy Scale to get
that ready,
and some other
projects we've lined up.
But yeah,
we're still very small
and the ideal company
we envision is also
very small.
And for us,
it means that actually
we can really take
advantage of hiring
or working with people
or being people
who have,
yeah,
more,
a bigger variety
of different skills
that we can use.
like,
in my talk,
I call this
like T-shaped skill,
they're tree-shaped
skills,
kind of,
you know,
based on this idea
of the T-shaped
skills,
like a T-shirt,
one foundation,
and like two other
skills you kind of have.
Right,
so maybe just to try
to summarize that idea
of like the T-shaped
skill is like,
you have a bunch of
things you sort of know,
you're sort of competent,
you can sort of create
a website in Python,
you can sort of,
you know,
work with CSVs or databases,
but you're really good
in one,
like the stem of the T
is you're really good
in one deep area.
You're like a systems engineer,
that's the idea
of the T-shaped
and then I say,
actually,
what's even better than that
and even more useful
in small business
is that,
is it,
are the tree-shaped skills.
So you have,
you still have a base
but you have all these
different branches
and all these different
other skills that you have,
those can,
they can overlap
with other trees,
you can grow a new branch
which is kind of nice
because actually,
yeah,
a T-shirt
is really quite static.
Just gets worn out over time,
that's right.
Yeah,
but like a tree,
you can,
you know,
a tree is active,
a tree is growing
so I kind of like that
metaphor more.
I like that metaphor
a whole lot too
because I think,
you know,
it's one thing to hire people
but you're never going to hire people
that have all the skills you need
but you know what,
they can learn it,
they can take an online class,
they could go and do
an in-person class,
they could get a book,
there's so many ways
to learn these days
that like you can sprout
these new skills
and I think that's a great analogy,
these tree-shaped skills.
The types of people
who have these sort of
very versatile skills,
it's not really selected for
in a lot of larger teams
and,
you know,
more,
you know,
the more stereotypical software development
because in large companies,
it's,
you know,
it's fine,
it makes sense
why a large company
hires differently
than a small company
because you need people
to be a bit more interchangeable
and you need a very different
type of team
but if you're small,
you kind of don't have
those concerns
and so you can really,
yeah,
it can really help you a lot
to have very different people,
very different backgrounds
and that's kind of
what we're doing.
So another analogy
that I really like about this
is this tree
and this idea of like
growing new skills.
To be successful
as a software developer,
especially in smaller companies,
you have to be always willing
to be learning new things,
right?
It's not enough to like,
well,
I went to school
and I got my computer science degree
so now I'm just going to go
do that,
right?
like you're continuously learning
and this tree analogy
and adding new skills,
I think it embraces
like the best type
of software developers
anyway
because they're constantly learning.
No,
I agree with that.
So another thing
that you said
was you don't have
to be sneaky
and I feel like
that comes back
to this kind of
data is the new oil,
what we need our users
so we can take their data
and somehow make money on it
and maybe we're going to do
something a little shady
so we've got to be
a little sneaky about that.
What did you mean there?
I also had this point
like you don't
the true value lies
in your users' data
which is basically
the same idea
that you're kind of
you're trying to trick people
into using your product
but actually your incentives
are very different
or you're trying to monetize
something that you don't
already have
you're trying to
you're monetizing
some future promise
that you've made
which will actually
offer you those returns
that you have to
come up with
because just making a profit
isn't enough
so you actually end up
often all
I've definitely seen
like a lot of products
on companies
that have
made in my opinion
bad product decisions
in order to kind of
satisfy those types
of promises
Yeah promises to investors
right not promises
to the users
and actually it's not even
just that you have
all the evil investors
you actually you set up
you go for a business model
where okay
you get a lot of money
up front and that's great
and you can work with that
but also for yourself
you need to turn it
into a certain type
of company
in order to make it
worthwhile
and to also get some
money out of it
for yourself
so it's just that
okay that
that thing you agreed on
and that dynamic
and that works for some
types of products
and for others
it really doesn't
Yeah absolutely
machine learning
that's processing
sensitive private data
probably not so much
sneaky is probably
not a good option
no and also you do want
I think trust is very
important and actually
genuine trust
like if your users
think you're a decent
person that's like
that's worth a lot
and that's also something
you don't want to
play with
and that's
you know it's a scary
thing to do and say
okay look I'm
ready to really take
full responsibility
and I want to
you know we say
well we want to be
held accountable
for the things we do
like it'd be much
easier to just
not do that
and set those
expectations
That's right
so another thing
that's big in the
startup world
is that you have to
not just test things
or try them
but you have to
A-B test them
you have to
every time you send
an email there needs
to be a couple of
variations
every time you have
a page that talks
about your product
you need to have
three versions that
sell it in different
ways and so on
and that can just
be overwhelming
to a lot of people
they're like do I
really need to do
all this stuff
to get started
I don't know
it just it seems
a little over the top
and one of your
beliefs is that
you can make good
decisions without
testing all the
assumptions
yeah
you can
you don't have to
test everything
right
that's true
and also because
I think the
underlying idea
there is that
you can't just
replace logic
and reasoning
about things
with pure data
you've collected
because there's
always you know
it's always biased
in some way
and that's just
not possible
and the thing is
the reality is
if you're running
a business
you need to make
a lot of decisions
and you need to
make you need to
be right
that's sort of
the secret
you need to make
the right decisions
and make them
many times in a
row
you know you can
do a lot of
things to make
this easier for
you and make it
easier for you to
make the right
decisions but
ultimately you need
to be able to
reason about things
and reason about it
in a way that
leads to the
outcome that you
want and that's
something you can't
just compensate for
by trying things
until you maybe
find something that
works and then
going back looking
at what you've
tested there and
drawing the conclusion
and how this
must have been
why this worked
and the other
thing didn't
yeah and so
many times I
think those
experiments especially
around price or
offers can feel
really crummy to
the your best
people the people
who buy stuff
from you and
support you I'm
thinking of things
like Udemy the
online course place
where if you go
there they say the
price of this course
is 200 bucks
but you know what
if you don't
actually buy it but
you're logged in
you'll get an email
saying oh it's
actually on sale for
just one week
it's $15 or
something right like
it's 5% of the
price or whatever a
little bit later and
then you come back
and there's some
other sale it ends
tonight oh wait
tomorrow the sale is
on these are just
all these shady
things and just my
feeling of companies
like that I just
like oh man like
either just sell me
what you think the
value of the thing
is or I don't
know just don't
don't try to like
continuously show me
tricky stuff until I
you know bite on
something right it
just feels like
dishonest somehow
we as developers are
maybe also a bit
more a bit less like
oblivious there like
you know we spot
bullshit and we don't
want to be like
bullshit I'm not
saying this is like
something unique to
developers but I
think you look at
these things and you
don't want someone to
tell you like oh this
is magically going to
solve all your
problems you want
someone to tell you
oh you developing
something here's
something that can
help you and here's
how this works and
here's how much this
costs and you're like
all right or you're
like maybe not so
we've definitely we've
definitely seen seen
this as something
that's like
important for us and
just because you're
a b testing something
it doesn't always
mean you know you
still need to reason
about stuff like if
you just automatically
you test every
possible combination
and you might end
up with the
conclusion that
scamming people is
actually the most
lucrative way of
making money at
least in the short
term right but it
goes back to this
trust thing as well
yeah in the short
term maybe even in
the long term like
there are people who've
been scamming for
all their lives and
they've been doing
pretty well at that
so you know you can
optimize for that but
like is that really the
thing you want to be
doing probably not
or if it is I
thought about like
mentioning this up
front in my talk like
I'm going to be
talking about ethical
and legal ways of
running a business if
that's not what you
have to know start
some like initial
coin offering stuff
and leave now like
because it's the other
rules like sure if
you don't want it to
be legal or ethical
like yeah none of
this there's a lot of
options but who cares
right that's that's
not what you're about
interesting and you
also talked about some
of this a b testing
stuff is sort of
driven by this
tournament winner
takes all mentality
because if you're
competing against
another company and
your belief is they're
going to crush us or
we have to crush them
there's no way we can
both coexist then you're
always looking for that
little edge right
that's true and also
or you look at like I
think another thing
that's that's also very
popular is looking at
others in this who
were in the same
tournament and didn't
make it so you look at
some other company that
was there before and
they failed and then
you try to analyze that
and maybe even talk
to them why did you
fail and they will
tell you well we
should have done x
because we didn't do
x and that's why we
failed and so you're
like well and that's
how that's actually
where I think a lot of
this advice comes from
and it doesn't actually
make much sense because
it's it's not really
um yeah we're not that
good at really analyze
and at analyzing why
something didn't happen
and just because you
didn't do x and fail
doesn't mean that if
you had done x you
wouldn't have failed
yeah I mean if you
actually knew exactly
why it failed you
probably could just
address it and make
it not fail yeah
probably right like
well this is the
problem let's just not
do that I mean not
always but uh it's
still interesting and
then the last
misconception you talk
about is that the
true value of your
software company product
whatever lies in your
users data yeah
because I mean we
really I think we
talked about this
briefly earlier we
yeah we definitely
covered this yeah yeah
and I think it's clear
where this comes from
this was definitely
driven by this idea
that all data is so
valuable and people
talk about this and
I think it's never
even really clear
what they mean by
data do they mean
your personal data
because maybe that's
valuable if you're in
a certain position
like if I want to
sell you stuff
knowing who you are
where you live what
you like is valuable
if I don't for me
personally your Amazon
buying history wouldn't
be very valuable if I
were in a different
business maybe it
would so it's not
always very even
very clear what people
mean with data but
what people have
concluded is that we
need to harvest as
much as possible as
quickly as possible
whatever we can might
be worth something
and I think now we're
getting to a point
where people are
sitting on all of
this and are
realizing that actually
it's not even
necessarily that useful
and they're very now
we're at a point where
companies are really
struggling to make
sense of all of that
data they've harvested
at like very high
costs in terms of
user experience and
trust I agree and I
also think it's only
valuable to the very
large companies right
like it's valuable to
Facebook it's valuable
to Google but if you
were a three person
software company that
had 5,000 really
committed users that
were could otherwise
pay you right there's
no way that those
5,000 people's buying
history or whatever is
worth anywhere near just
like their trust and
like hey I'm gonna make
something for you I
think it's valuable I
think you'll want it
they agree you give
them something that
they give you money
back right like that's
just a much better and
easier story I think
this portion of talk
Python to me is
brought to you by
rollbar got a
question for you have
you been outsourcing
your bug discovery to
your users have you
been making them send
you bug reports you
know there's two
problems with that you
can't discover all the
bugs this way and some
users don't bother
reporting bugs at all
they just leave sometimes
forever the best
software teams practice
proactive error
monitoring they detect
all the errors in their
production apps and
services in real time
and debug important
errors in minutes or
hours sometimes before
users even notice
teams from companies
like Twilio Instacart and
Circle CI use rollbar to
do this with rollbar you
get a real-time feed of
all the errors so you
know exactly what's
broken in production and
rollbar automatically
collects all the
relevant data and
metadata you need to
debug the errors so you
don't have to sift
through logs if you
aren't using rollbar
yet they have a special
offer for you and it's
really awesome sign up
and install rollbar at
talkpython.fm slash
rollbar and rollbar will
send you a $100 gift card
to use at the open
collective where you can
donate to any of the
900 plus projects listed
under the open source
collective or to the
women who code
organization get notified
of errors in real time
and make a difference in
open source visit talk
python.fm slash rollbar
today
we can do that we can
just we can sell
products and not
promises and that's
that's very nice and
that also makes that
also means we can
really make product
decisions around
actually providing that
value that people want
without having to
engineer our personal
objectives hidden or
hidden objectives into
that somehow yeah
yeah it comes back to
kind of the start of
this whole conversation
right like sell
products not don't be
sneaky all those kinds
of things right yeah
and also I think in
machine learning
especially people have
this idea that oh
maybe the users okay
our users are using
prodigy to label their
data and there and
that's because it's
you know seen as such
a tedious process you
know maybe we could
people have told us
like oh you're sitting
on this gold mine if
you just harvested
everything people ever
labeled with your tool
you could then use that
and train one machine
machine learning model
that knows everything
but this is actually
very far from how
machine learning works
in practice it's also
the really the true
value is in creating
very very specific
systems that are very
specific to your
problem so anything you
label might not
necessarily be useful
to me also this
process is very very
experimental so I
have no idea of
knowing which one of
your 200 data sets is
actually the one that
worked for you and
even if I do I know
it worked for whatever
problem you were
trying to solve there's
no machine learning
model to rule them
all also we've built
an annotation tool we
believe our annotation
tool is one of the
most efficient out
there so if we wanted
to label some data
and train a model we
would just do that
ourselves right just
go to mechanical
turk yeah well
yeah I'll just I
mean prodigy is very
optimized for having
people work very fast
having people you can
hire doing it yourself
so you don't even need
any human labor
platform because that
also comes with a lot
of problems so I could
sit there spend a day
and I could be very
very productive run
lots of experiments and
end up with a model
that well at least
knowing whether my
model can learn what I
wanted to learn and
that's very powerful and
so if we wanted to do
that there's no need to
just take this from our
users we can just do
it you've built the
tool that they get to
use to really solve
their problem you could
just do that for
yourself it makes a lot
of sense I think I
don't know there's
there's a whole lot of
interesting ways we
could talk about AI and
machine learning and
stuff where do you see
AI going do you see it
being these super
specialized things do
you see there being one
AI to rule them all
like what are your
thoughts here I think
the one AI to rule
them all that's like
maybe something you
can come up with if
you yeah follow some of
the media coverage but
like I don't think
it's very very
realistic and very
close to what people
are actually building I
think what we're seeing
is all across
industries whatever
people are doing they
want more insights they
want to optimize their
existing processes and
they want systems that
specialize very well to
exactly what they are
trying to do and it
becomes more of a tool
right so the more
specialized it is yeah
and they can use machine
learning as a tool to
achieve that and of
course there are
realistic concerns that
we do have to think
about in for example
what's going to
happen with people
being replaced how or
how are companies
dealing with this in
maybe ways that are
actually very harmful
also because of kind of
a wrong idea of what
the technology can
really do their ethical
concerns their concerns
about bias and just you
know just because we
build some system
doesn't mean that it's
like perfect and you
know we still build it
so we're gonna all the
mistakes we make we're
just going to encode in
that system all the
bias and all the
problems we have we're
going to just encode in
that system and cool
then it can you know if
you make bad
decisions cool you can
train a model to make
those bad decisions for
you it doesn't mean that
things are necessarily
better so these are
all things we have to
talk about ultimately I
think still machine
learning is a tool at
this point and yeah I
tend to agree I am a
little concerned about
the automation and jobs
and then the effect that
will have on on
politics and society but
but in general I'm
pretty upbeat on these
things I guess let me
ask you a couple of
sort of meta questions
around around this to
close out this okay
first of all it seems
like you're having a
lot of fun are you
having fun running your
own company you and
Matt yes definitely I
would say it's the best
job I've had so far
yeah that's cool I
thrilled doing what I'm
doing I'm basically
broken like I cannot go
back to a regular
corporate job I don't
know about you but I
think it really depends
like I feel like one
thing I hate is like
this mentality that a
lot of self-employed
people have where they're
like essentially looking
down on people who are
like in regular jobs I
read this a lot and I'm
like no there's so many
valid reasons why you
would want to have a
regular job working for
someone else and that
makes people happy but on
the other hand I do think
yeah in general and as a
society we should make it
easier for people who want
to start their own
businesses to start their
own businesses and then
make it easier for those
businesses to actually
create sustainable jobs
that then other people can
take right we were just
talking about AI taking
away people's jobs but if
there can be other
businesses so they don't
lose their job they just do
a different job that's
also meaningful to them
that's a much better
option right also
businesses that can pay
their employees out of
profits they make because
that's ultimately also very
sustainable because that
means the money is there
right and rather than say
stock options that are kind
of promises down the line
in the future yeah yeah
exactly and also already I
mean in order to like a lot
of these offerings in order
to exercise them you already
need such a privilege that you
can afford this and if you
cannot you know this is
expensive if you're already
pretty privileged enough
fine but like if you're not
none of this is going to
help you very much I
totally agree that's a
great point then another
question someone asked at
the end of your talk which
I thought was maybe worth
mentioning is you know you
hear people talk about I
think this also comes from
some of the VC back
companies is talk about
work-life balance and just
giving up everything to work
super super hard and maybe
they're really successful in
business but maybe not so
much in life right with
relationships and whatnot
how's that for you I'm
definitely very much against
this kind of school of like
entrepreneurship where all
you need to you know only
the hardest workers can
succeed and you need to run
on four hours of sleep and
like I don't know this is
definitely something we try
to like optimize in the way
we run our company that like
you know we we're not
measuring success by like
how how low can you go on
sleep and how hard can you
work because I also think
you can always work you can
work smarter instead of
harder there's a certain
privilege of course that
comes with you know we I
can choose where I want to
work I can choose to
structure my life in a
certain way I feel like this
is important to point out
because not everyone's able
to do that but in general I
do think we can you know in
a way if you if you're not in
the competition you can
optimize for living in a
place that's affordable you
can optimize for okay you
want to have more time or you
want to work in a certain way
now while you're younger so
you can maybe work less when
you're older those are all
important considerations
yeah absolutely like for
example you talked about
living in Berlin where life is
fairly reasonable as opposed
to you know eight
thousand dollars for an
apartment in San Francisco or
something completely off the
charts right and we're lucky
that we don't have to be in
one of the tech hubs we can
be on the internet but I
don't I'm always trying to
when talking about these
topics especially work life
balance I'm always trying to
be careful not to come
across as like yay start your
own business it's all great
like oh I can but also not
going the other road and
saying yes you know yeah you
have to be prepared to work
like super hard and you're
on call all day and it's
like there are valid
concerns on both sides and I
don't want to over
romanticize either of and but
I do think it's possible to
optimize for something that
works for your living
situation yes yeah you don't
have to completely kill
yourself to make it work in
your specific situation right
like you and Matt are having
a have a good time not always
working always burned out if I
could keep it that way that's
a very good objective for me
yes one of the really nice
trade-offs when that person
asked that question I thought
well yeah it's a little more
stressful you've got to keep
the business running there's
more stuff on your shoulders
but also you have more
flexibility because you're
trading value for money not
time for money so if something
comes up in your life you're
like the next three days I kind
of want to do this like you
just do it and then maybe you
work on the weekend to make
up for it or like I think
there's more fluidity and
freedom to find that work-life
balance if you're after it
yeah and also this idea of I
mean what's often referred to
as passive income even though I
find this I don't know I find
this term a bit weird I do
find it weird as well because
you typically have to work
super hard to get that passive
income it doesn't it's not
really passive yeah it's also
because it's this fantasy like
of course everyone wants to like
sit at the beach while making
tons of money and that's why
this has also been abused a lot
in like I don't know life
advice and you if you google
passive income I'm sure the top
results are all from some scammy
life advice buy this e-book where
I'm going to tell you how to make
passive income and the advice in
that e-book is write an e-book
promising others passive income
and it's like that kind of
pyramid scheme so that's why I
like hate this term but it's
obviously in general optimizing for
a situation where for example you
build something once that has value
that people like you optimize for a
business where people genuinely like
buying your software and are happy
with your software and you'll have
one software one piece of software
that you can just sell to lots of
people who are all happy with that
that's a good way of doing it
because you know this means you can
build something once and maintain
it once and sell it a lot to people
there's a lot to be said for that
path absolutely so I guess maybe we
could close out our conversation
around this building a software
business maybe bucking the startup
trends with just some advice you
might have for people so if there are
people out there maybe they have an
open source project maybe they just
have an idea for something they want
to start what advice would you give
them about somehow making this their
job right starting some kind of
company that offers value to people
maybe they're doing consulting maybe
they're doing full-time work I don't
know yeah I mean it's a very loaded
question because it's it's tough I
know it's very specific to people's
situations but yeah definitely I think
what worked for us was definitely
okay you you know you want to offer
people something that they need and
if you're in a position where for
example you have an open source
project and you see that there's you
know genuinely something you're
solving for people that's a very good
start you know it is also very good
to actually you know you look at how
is it going are you making making
money with this and also have a plan
for okay when are you gonna stop
because I feel like the if you're
going the opposite route there's not
really never really an incentive for
is it working is it not working
because you can always optimize and
you're running at a loss anyways but
if you're actually running at a profit
you can use that profit to really see
okay you know this is where you're
going it doesn't lie it's very yeah in a
sense it is riskier because you know
there's no that's the only path like
always people are like oh you're going
you're doing the risk averse thing and
I'm like well it's not that risk
averse because you know we're actually
making a profit that is like that's
quite a risk because if you're not
making a profit that's it you know
like choosing not to make a profit is
actually a pretty risk averse it's a
little too open-ended maybe maybe I
mean it's it's like ultimately or
maybe ultimately like giving advice is
always difficult and ultimately the
advice would have to be make decisions
and be right about them that's
actually that would be the most honest
genuine advice but it's also often not
what's really that actionable yeah very
satisfying because the advice you know
you still need to do it and I but on the
other hand I kind of I also like this
sort of way of thinking about it because
it shows that okay at this and whatever
I'm going to tell someone is always
going to be kind of biased yeah it's
this idea okay you can like it is
possible to ship value and make money
from that it is possible to offer
something that people will pay for
because people like paying for things
it's not like nobody wants to pay for
stuff people do want to pay for stuff if
you can find a way to give them that
opportunity and I think also it is fine
if you can reason about things and
you're right it's fine to do that like
you shouldn't feel like you need all of
this data to back up whatever you thought
was right if you can actually make this
work it's fine like you don't have to
beat yourself up because you didn't
maybe test that assumption and
somebody's gonna ask you oh but how do
you know that like the sky is blue
it's like well I looked at the sky and
it's like it's blue my experience is
it's generally blue yeah yeah I mean
something it's real because I
experience it is also a pretty
problematic way of looking at things in
my opinion but like it's still there
are some things that you can know when
it's fine to like know things and act on
them especially if it like leads to a
good outcome yeah that sounds good I
guess take your best take your
understanding make your best decisions
you can and take action and then follow
that feedback loop right basically creates
a job for yourself where you can do all
the things you like and channel that into
a productive outcome that's commercially
viable because it took me a while to
kind of get there but often I do think
for most people they have things that
they like doing that they're good at
that maybe are not so compatible in the
very stereotypical system of working and
typical jobs in tech that might actually
it might actually look very different
once you're in business for yourself and
you realize that oh actually this sort of
talent I have here or this thing I'm
really good at I can actually use this
productively in my own business this is
useful for people yeah absolutely yeah
that sounds great let's leave it there so
hopefully people got a lot out of that
conversation I'm sure that they will but
before I let you go we have to ask you the
two questions at the end of the show as
usual if you're going to write some
Python code what editor do you use visual
studio code like probably like most people
these days I'm not sure what's the most
popular I would say the Vim no I think
Visual Studio Code is probably the number
one most popular and you know PyTarm is
actually going pretty strong there and if
it's not one of those two it's usually
Vim or not even a max it's usually Vim yeah
I've tried probably most editors I'm also
very very open to trying new things if
they come out but I kind of I do think
Microsoft did like a really good job it's a
very it was it's a very impressive product
like I didn't expect that at first when I
started using it yeah I hear that a lot
and it's getting better all the time which
is pretty cool yeah and I'm actually very
excited about the Python integrations and
also the more like data science focused
stuff that I've been working on also I'd
always wanted like a spacey extension I
haven't I haven't had time to look into
this but like we have an open issue on the
tracker so if someone listens to this and
wants to work on this I'm super super
excited about that idea that sounds super
cool all right and then notable package on
pipey maybe not necessarily the most popular
but some of the people you're like oh
somebody they I found this and they should
know about it and I'll go ahead and throw
spacey out there for you already so we can
put spacey on the list right yeah of course
one idea I've had just that we have to
mention like spacey wouldn't have been
possible without siphon and lots of other
probably most sometimes people don't
realize this but most Python packages you
use wouldn't have been possible without
c extensions and all you know the great
work that it went into the siphon so I
feel like I should just mention that
because it's such a huge part of what
we're building but also one thing I was
really got into recently was like making
our code more consistent having like a
well formatted well organized code base
and so often when I start like organizing
things I kind of get really into it so
but like I've really started to
appreciate the black formatter the
auto formatting tool and just in general
the idea of okay enforcing opinionated
formatting rules automatically right as
like a pre-commit hook or something even
better right yeah or even maybe in you I
actually think for me it works well in my
editor because I actually if something
looks like super messy it does remind me
that like often the code is actually not
that great like if I write like a line of
code and then I see it gets spread over
five lines and actually looks more
confusing it often means that yeah okay I
maybe I shouldn't have had that for loop
and if statement on one line just to kind of
make things a bit like nicer actually it's
not it's harder to read I should refactor
that so that's actually helped me quite a
lot and also just having yeah flake eight
I always kind of likes having you know kind
of a subset of rules that we enforce to
have some standards you know you don't have
to go over the top and like okay we want to
meet exactly everything but there's some
things that are very helpful you can catch
bugs that way and just having things nice
and tidy by default was very nice I like
that it doesn't complain but that it just
fixes it rather than going here's the seven
things you need to go reformat it just goes
I'll reformat those right that's nice yeah
yeah and also even if you run diagnostics
it says okay here you you're overwriting
something you've imported you probably
didn't want to do that and then I look at
it I'm like yeah I didn't want to do that
or like okay something's under like
something's actually not defined yeah
that's that's a bug thanks so stuff like
that it's it's helpful it's simple and
especially if you have lots of open source
projects lots of code bases yeah a lot
of contributors yeah it's great yeah
all right yeah so I want to give you a
chance for a final call to action for
folks I think we already did that around
the building a successful software
business so maybe just around spacey and
prodigy tell people that are interested
in NLP and what you guys are up to
where can they check it out if you don't
know about space yet you should check it
out if you feel like spacey is not going
to be useful to you then you don't like
I'm not you know I don't want to go
here and tell everyone they should use
our software we're building very specific
maybe slightly niche developer product
developer tools but you know spacey I
think we really we put a lot of effort
into our documentation we have a nice
getting started guide if you're
interested I'm hoping it should you know
even give people who haven't really
worked much with machine learning a good
intro to how machine learning works with
text and how you know you can use that
productively yeah my your python keynote
was recorded and it's on YouTube so that
kind of has the full overview of all my
thoughts on that you know the stuff I
was saying yeah and I'll put the
keynote in the show notes as well of
course prodigy if you're working with
labeling data if you're training machine
learning models we're hoping that
prodigy is a good developer tool that
gets people productive we have a lot of
people who felt like their work yeah it
really speeded up their workflow and
made them more efficient and yeah keep an
eye on prodigy for like our
announcement for prodigy scale which
takes it to the next level follow us on
Twitter because we have that's where we
announce new stuff we have a lot of
cool stuff coming excellent yeah a lot
of great stuff people should check it
out and you know thank you for being on
the show and sharing your experience
yeah thanks for inviting me yeah you
bet bye bye this has been another
episode of talk python to me our guest
on this episode was Ines Montani and
it's been brought to you by Linode and
Rollbar Linode is your go-to hosting
for whatever you're building with
Python get four months free at
talkpython.fm/Linode that's
l-i-n-o-d-e rollbar takes the pain out
of errors they give you the context
insight you need to quickly locate and
fix errors that might have gone
unnoticed until users complain of
course track a ridiculous number of
errors for free as talk Python to me
listeners at talkpython.fm slash
rollbar want to level up your Python if
you're just getting started try my Python
jumpstart by building 10 apps course or
if you're looking for something more
advanced check out our new async course
that digs into all the different types
of async programming you can do in
Python and of course if you're
interested in more than one of these
be sure to check out our everything
bundle it's like a subscription that
never expires be sure to subscribe to
the show open your favorite podcatcher
and search for Python we should be
right at the top you can also find the
iTunes feed at /itunes the Google
Play feed at /play and the direct
RSS feed at /rss on talkpython.fm
this is your host Michael Kennedy thanks
so much for listening I really
appreciate it now get out there and
write some Python code
you
Thank you.
you
Thank you.