Learn Python with Talk Python's 270 hours of courses

Building a software business

Episode #202, published Sat, Mar 9, 2019, recorded Wed, Jan 30, 2019

One core question around open source is how do you fund it? Well, there is always that PayPal donate button. But that's been a tremendous failure for many 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, exchanging value for money. That's what Ines Montani and her co-founder did when they started Explosion.ai with SpaCY as the foundation.

Listen to her story about building a sustainable software business on open source and Python.
Ines' EuroPython keynote: youtube.com
spaCy: spacy.io
Explosion.ai: explosion.ai
Prodigy App: prodi.gy
Ines on Twitter: @_inesmontani
Reasons companies fail: getautopsy.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Episode Transcript

Collapse transcript

00:00 One core question around open source is how do you fund it?

00:02 Well, there's always that PayPal donate button, but that's been a tremendous failure for most projects.

00:08 Often, the go-to answer is consulting.

00:10 But what if you don't want to trade time for money?

00:12 You could take things up a notch and change the equation and exchange value for money.

00:17 That's what Ines Montani and her co-founder did when they started Explosion.ai with Spacey as a foundation.

00:23 Listen to her story about building a sustainable software business on open source and Python.

00:28 This is Talk Python to Me.

00:30 Episode 202, recorded January 30th, 2019.

00:33 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities.

00:53 This is your host, Michael Kennedy.

00:55 Follow me on Twitter, where I'm @mkennedy.

00:57 Keep up with the show and listen to past episodes at talkpython.fm.

01:00 And follow the show on Twitter via at Talk Python.

01:03 Ines, welcome to Talk Python.

01:05 Yeah, it's really nice to be here.

01:06 Thanks.

01:06 It's really excellent to have you here.

01:08 You gave such an excellent talk at EuroPython in 2018.

01:12 And I just wanted to have you on and talk about that and share some of those ideas.

01:16 I think it's going to be a lot of fun.

01:17 Yeah, I think so too.

01:18 For sure.

01:18 Before we dig into those, let's just get started with your background.

01:21 How did you get into programming in Python?

01:23 Yeah, it's actually kind of interesting because I would say I don't have the typical programming background.

01:27 So I started...

01:27 You didn't write games at five years old?

01:29 No, but I started making websites when I was like 11, when we got our first computer.

01:33 So I first started in Microsoft Word.

01:35 And then I, you know, it was back in the day when you could just look at the website source and copy it.

01:40 And so I would do that and always build websites.

01:42 And I did then decide when I was older that I wouldn't want to do this professionally.

01:46 Like for some reason, it never appealed to me.

01:48 But I, so I worked in media, I worked in marketing, and then eventually ended back at programming

01:53 when I realized that I could combine all the things I liked into a job because I also did linguistics in uni.

01:59 So I was always interested in language.

02:01 Yeah, that's a really interesting background.

02:03 You don't think of that as a normal path, like marketing into software development,

02:07 especially something like data science, right?

02:09 Where it's really deep.

02:11 But I guess that ties more into your linguistics side of things, right?

02:14 Yeah, and Spacey, especially.

02:15 Like Spacey, when I started working on Spacey, I realized that, wow, I can really combine what I liked.

02:20 For example, front-end development with a bit more programming, other types of stuff with language

02:25 and really, you know, using computers to understand language.

02:28 That was kind of like the perfect combination of stuff.

02:30 Yeah, that's cool.

02:31 Was that kind of how you got into Python because the NLP side of things?

02:34 Or where was Python in the story?

02:36 Yes, mostly, yeah.

02:37 Nice.

02:37 And today you're running a business of your own, doing some really cool stuff, which we're going to dig into.

02:43 Maybe just tell people quickly about what you do day to day.

02:46 Yeah, so our company is called Explosion AI, and we mostly develop a lot of open source software.

02:50 One of those projects is Spacey, which is a popular library for NLP and Python.

02:55 We also publish other products and other tools for software development developers.

03:01 So we're a developer tools company.

03:03 It really sounds like such an interesting project.

03:04 And I love how you have Spacey and you kind of built a proper business on top of it,

03:11 not, you know, just throw like a PayPal donate button on there and hope that that does something right.

03:16 Like, but legitimately building something on top of this open source stuff that you all have going on,

03:21 which is great.

03:21 We definitely spend some time thinking about how we could best do this, but it combines all the things we like doing.

03:27 It's really nice to have an open source community to put our stuff out there.

03:30 So yeah, we're very happy with the way we've made this work.

03:33 Yeah, it seems like it's working out really well.

03:34 So let's dig into this idea of building a software business.

03:38 You know, it's something I'm very passionate about, something that I've done, right?

03:42 I have my own business and work for myself as well.

03:44 And I think one of the things that really appealed to me about your talk was,

03:48 it kind of pushed back against some of these startup, San Francisco, high growth VC type mindsets

03:57 that are fine for some things.

03:59 But it seems like a lot of folks see that and go, oh, well, if Instagram raised all this money

04:05 and it was successful, I'm going to have to raise all this money for my new text editor or something silly

04:11 that doesn't fit that mold, right?

04:13 Yeah.

04:13 No, that's definitely, that's something we see a lot.

04:15 And I think, of course, I understand why this narrative is so prominent because it's also,

04:19 it's often pushed by people who like that narrative because it makes the money.

04:23 And also, I'm not saying it's the wrong narrative for everything.

04:26 But like, definitely, I think there are lots of businesses that also work very well

04:29 if they're not following the typical startup playbook.

04:31 Yeah, absolutely.

04:32 You know, I think it's partly popular because it's a little bit like winning the lottery.

04:37 People like these winner takes all scenarios.

04:40 People like imagining that type of success and going after that.

04:44 So I think it does play to some of the instincts that we all have probably.

04:48 Yeah, probably.

04:49 I will get into more detail about this, but you talk about selling what you currently have

04:55 versus selling potential, right?

04:58 Like, hey, this is going to be great if we just had $100 million in VC money

05:02 and we could get everybody to use it.

05:03 Think how amazing that would be, right?

05:05 And I feel like that's also a little bit, I don't know, I feel like so many of those things

05:11 are a little bit shallow.

05:11 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.

05:18 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.

05:26 Yeah, you're selling the potential to make future money because the idea is,

05:29 of course, if you take $100 million in funding, you need to deliver a lot more than that.

05:33 So you're basically, you're working towards that future where you're going to make $100 billion

05:38 rather than the present where you could be making $200 million, which they still are pretty,

05:43 I would say I would call a business with $200 million profit, I would call a successful business.

05:48 Unqualified success, right?

05:50 But in this venture, sort of win the lottery thing I told, like that actually would be kind of a failure, right?

05:55 Like just doing double what you did in raising your money, that would actually be

05:59 probably not enough to make the investors happy.

06:02 Like they look for more than that generally.

06:03 I mean, it's better than failing, but still.

06:05 Yeah.

06:05 Yeah.

06:05 So let's talk about your journey and your project, your company, Explosion AI.

06:11 So I guess maybe just set the background, like how does Explosion AI and Spacey,

06:16 and we'll talk about some of the products you have, how does that whole history fit together and whatnot?

06:20 My co-founder, Matt, he used to work in academia.

06:23 So he was a researcher and he was working on NLP and he very early on saw that,

06:28 oh, this is getting, this is finally getting useful.

06:30 We're finally getting to a point where this can actually be used in like commercial projects and help companies.

06:35 So he left academia and started writing Spacey.

06:38 So he basically, he was in Australia, he moved to Berlin.

06:42 He took some time off and focused on the open source project.

06:44 And that's kind of the early beginnings.

06:46 And we met here in Berlin and we started working together very quickly because he always had ideas

06:52 for like visualizing the software, making it more accessible, making it more usable.

06:56 And that's also something I was very interested in.

06:58 So we started working on Spacey and this worked very well.

07:02 So yeah, we founded Explosion AI together.

07:04 And of course we had to think about like, well, how do we make money?

07:08 how do we fund what we're doing here?

07:10 And so for the first, I would say six months, eight months, maybe we did consulting.

07:15 So we really, there were lots of companies who were interested in that.

07:18 So we did have the advantage that we had Spacey.

07:20 People liked our work, wanted to implement this better.

07:22 And yeah.

07:23 That's cool.

07:23 That seems like level one of this sort of like, how do I make my open source project

07:29 or my open source success or passion be my job?

07:33 And like, I guess level zero is create a successful thing that is open source, right?

07:38 You got to start with that.

07:39 And then level one is I'll do consulting, high-end consulting as the creator of this project, right?

07:44 But you all were looking a little bit beyond that, which I thought was pretty cool.

07:49 And you, I really liked this phrase you used in your presentation.

07:51 You said to sort of get the project going, we raised a client round and we went like,

07:57 you did consulting and you made money to like fill in the gaps until enough momentum was there

08:01 and the products were there and stuff, right?

08:03 Yeah.

08:03 It also helped us get all these insights that otherwise, even venture-backed startups

08:07 have to do this too.

08:08 Like you have to talk to your users or potential users and find out what's working,

08:12 what are their problems, what are you really going to solve?

08:14 And that kind of came almost for free with consulting because we actually

08:19 worked with users who were already using open source projects.

08:22 We saw what they were doing.

08:24 We really also prioritized companies who already had something running that they wanted to improve.

08:28 So yeah, we got to see, okay, what's working for them?

08:31 What isn't, what are the main pain points?

08:33 And one of them was really creating training data for machine learning models,

08:37 which is what then really convinced us that like this idea for Prodigy, our first product

08:42 was definitely something we should invest more into and launch as soon as possible

08:46 because that's really something that people wanted.

08:48 Absolutely.

08:48 I mean, that seems like the perfect follow-on, right?

08:51 And we'll talk, we'll talk about that in just a second.

08:53 But I think one of the really important things that maybe I would guess you gained through

08:58 that whole experience is you not just learned what people want and need,

09:03 but you also made connections with these, these big companies as you consulted for them.

09:07 They probably trusted you.

09:08 So you could say, hey, we have this thing that's going to help you if you all want to get it.

09:11 It probably, it's almost like building an audience of folks who will be your customers

09:17 before you're trying to make them your customer.

09:20 What do you think?

09:21 Yeah, that's true.

09:21 And I think that also happens with the open source project because, you know,

09:24 if you want to convince people to give you money, you need to show them why they should give you money

09:28 and not some other guy.

09:29 And so, of course, the open source work can function in that way.

09:32 People see our software, people can see that we can build useful software

09:35 and it makes it easier for them to trust us that, of course, the software we're selling them

09:39 will also have a similar quality and solve their problem in the same way

09:42 space it in.

09:43 For sure.

09:43 So, let's talk a little bit about Prodigy and that's your first paid for product.

09:48 You go to the website, it has a, how much does it cost?

09:51 You put in the credit card and you get it, right?

09:54 It's not like, well, you sign up, we're going to market to you and then maybe we'll run

09:58 some retargeting ads on you or whatever.

10:01 Like, no, no, just you come, you find the value, you pay for it, right?

10:05 So, tell us about Prodigy.

10:05 Yeah, so Prodigy is an annotation tool mostly that helps people label data

10:10 for machine learning projects and run experiments because the idea is, okay,

10:15 if you're using a library like Spacey or any other machine learning solution,

10:18 you ultimately, once it's really giving you a lot of value, you want to train

10:22 your own systems that are very, very specific to your problems that you're solving.

10:26 For example, you get a lot of customer emails and you want to have a system

10:30 that automatically labels them whether they're about an invoice question

10:34 or whether they're about some other problem the user is having, whether it's a complaint,

10:37 whether they're happy.

10:39 So, that type of system and you need examples for that.

10:41 So, you have all of your emails and you want to train a system and for that,

10:45 you need to label the data and often, you need to label it 10 times until you find a way

10:50 that works.

10:51 That's very tedious work so we've thought a lot about how can we make it simpler

10:54 and one conclusion we ended up with is that it needs to be a developer tool,

10:58 the developer needs to run it locally, needs to be able to quickly also program

11:02 their own workflows.

11:03 It needs to be a Python library that you can interact with.

11:06 It can't be just some app that's on the internet and you need to have that control.

11:10 Yeah, it's not going to do it, yeah.

11:11 Yeah, and also it's what people are used to working with.

11:14 Like we think, or we call it let them write code.

11:17 We think that developers want to write code.

11:20 That's not an issue.

11:21 It's actually, it's a feature.

11:22 You know how to write a function in Python no matter how you want to do it.

11:26 If you can write it in Python, you can use it in Prodigy.

11:28 Yeah, it's really cool because most people doing something with Spacey or other machine learning

11:34 are, chances are they're already somewhat competent with Python anyway, right?

11:38 And so you might as well just leverage that and that sounds really cool.

11:42 And also a big reason people are using Spacey and open source tools like that

11:45 is because they want to build their own systems and implement them themselves

11:48 and also because often the data they're working with is not just something

11:52 they want to upload onto the internet and they usually, they probably also shouldn't.

11:56 Like they're building their own systems which means also their other tooling

11:59 needs to fit to that kind of workflow they've set up.

12:02 the data needs to stay on their machines on their service.

12:05 It can't just be sent to us and Prodigy really fits neatly into that kind of workflow

12:11 and it's been, yeah, it's been very popular and we're very happy that we were able

12:15 to provide more value to our existing users that way.

12:17 It sounds like a really great product and it sounds like it's been pretty successful.

12:21 You talked in your presentation about having two products that you're working on

12:26 that are kind of follow-ons, one called Annotation Manager and one called Datastore.

12:29 Do you want to tell us about that as well?

12:31 Yeah, the Prodigy Annotation Manager or what we're now calling Prodigy Scale

12:34 is basically an extension that lets people scale up their annotation projects

12:39 because once you've found out an approach that works, you often want to have

12:42 more people labeling your data and you want to be able to see what they're working on.

12:46 You want to be able to farm out texts to people who might not be sitting in the same office.

12:51 You also want to compare what they're labeling to see if there's a problem.

12:55 Maybe someone's misunderstanding the question.

12:57 That can lead to lots of hassle later on and ideally you want it to be accessible

13:01 over the internet.

13:02 And so that actually, it's been under development for a long time and it was a very,

13:06 come up with an infrastructure that does not compromise on data privacy while still offering

13:12 a software-as-a-service like FIO.

13:14 So you still log in on our website but you're also running a local cluster

13:17 that farms out the work.

13:19 And so the data never goes through our service so it directly goes via your cluster.

13:25 Your annotators can access it.

13:27 They still have the same nice feeling of accessing it through a web app we own

13:32 and we run but you don't have to send us your data and we don't store your data.

13:35 Yeah, that's an important thing that you talked about a lot.

13:38 How basically, a lot of these high-growth VC companies, their goal is to race

13:44 for as many users as you have so you can so you can basically own their data

13:49 infer things about them and then try to sell them something or sell marketers to them

13:53 or something to that effect you know, Facebook or whatever, right?

13:56 Yeah, that's not very important to us, no.

13:58 It just doesn't sound like it's going to fly very well with machine learning, right?

14:01 You want to send your most important data flow of your company probably containing

14:07 private information through it, right?

14:08 That just, that needs to be something private, right?

14:10 Yeah, and we do have a lot of users in, for example, the healthcare field

14:14 who are actually also working on very interesting stuff and for them it's just like

14:17 an absolute no-go.

14:18 Like, they have their very secure audited environments that they can have

14:23 their data on because it's maybe sensitive patient data and that's it.

14:27 And so they need tools like that and they're very happy about tools like that.

14:30 Yeah, absolutely.

14:31 You know, we have laws like HIPAA in the US about healthcare data but also things like

14:37 GDPR in Europe and even Washington State, the next state over from Oregon,

14:42 is working on a GDPR-like.

14:44 Yeah, I read that.

14:45 I think GDPR is a good thing.

14:47 I'm a fan of regulations in general if they're reasonable.

14:50 Not saying that everything that comes out of the EU as regulations is great

14:54 but I do like the general sentiment of those kinds of privacy laws.

14:58 Yeah, I think there's a big pushback on the overstep and misuse of people's data.

15:03 So this trying to build your business on people's data is, I don't know,

15:07 maybe it's a little shaky ground.

15:09 So it's good that you are not, right?

15:10 Yeah, I also, I think it's just not necessary and that's kind of, also that's one thing

15:14 I try to get across also with that talk.

15:15 It's like there's so many other ways you can build a business that's very sustainable

15:19 so you don't even need to do that.

15:21 Yeah, I do think that people are kind of myopic about seeing VC funding as the only way, right?

15:26 Like it's, I don't think so.

15:27 Yeah.

15:28 Now, one question I did want to ask you and not quite seriously but just to get your thoughts

15:32 on this, right?

15:33 Because I would, I've made the same decision but why not just keep consulting?

15:37 You had six months of this, I'm sure it was going really well.

15:39 You're like, oh, we could totally just continue to consult and a lot of people

15:43 go down that path.

15:44 I think it's a little more risky to start a business and spend your time on that.

15:49 So what was your thinking?

15:51 Why go, no, we're going to build something, a product and we're going to sell it

15:55 rather than try to just keep working for Bosher?

15:57 Or whatever, right?

15:58 It's a good question and I think to some degree it comes down to personal preference.

16:01 Like there are other companies in our space that are doing very well with consulting

16:05 but I think you do get to a point where, okay, if you want to scale consulting,

16:09 you do also need to, you need more consultants.

16:11 You need to, then you're actually running a consultancy business and you're managing

16:15 other consultants and that's just not really, also that we see, we don't see this

16:19 as our strengths.

16:20 like we are quite aware of, okay, what are we good at?

16:23 Where do we have an edge?

16:23 And for us, that's building good developer tools and we always thought we were a good team on that.

16:28 And the nice thing about selling software is that you can sell it, you write it once

16:32 and then you sell it lots of times and that's like, in terms of a business,

16:36 that's very good.

16:36 You have one thing and you sell it and it doesn't, it's still there.

16:39 You sell copies of it.

16:40 I totally agree.

16:41 That touches on something I deeply value these days.

16:45 It just seems so important to me that if it's possible to trade value for money

16:51 rather than time for money.

16:53 Yeah.

16:53 I mean, I've always had a good job.

16:54 I've had a lot of freedom in my job, but you know, when I was doing full-time work,

16:58 but it was like, well, you can't really go on vacation with your family this month

17:02 because there's that project and it's just, you know, it's not the same feeling

17:05 of I'm going to create something, people like it, they find a lot of value

17:09 and it's just a little exchange some money for it.

17:11 Like that just seems to me a much more rewarding thing to do than book another week of consulting.

17:16 Yeah.

17:16 And I also think offering consulting on top of an open source project that you also have,

17:20 I think there's actually a very weird, the incentives are very, very misaligned on this

17:24 because you are making money of people needing help with your software.

17:28 So don't make it too easy.

17:29 Yeah, yeah, exactly.

17:30 So if you make it, like we've always wanted to have great docs, wanted it to be easy

17:33 for people to use Spacey.

17:34 So if it's too easy to use Spacey, people don't need our services and we make less money.

17:38 But if Spacey is shit, we're losing business that way because people are not

17:43 coming to us anymore and the library loses adoption.

17:45 So I think it's, there's a very weird...

17:47 Yeah, they are a little misaligned, the incentives there.

17:50 Yeah.

17:50 Yeah.

17:51 So that's also why we think, we think there's a great business in this for other people

17:54 and actually, in fact, there are lots of consultants who are somewhat specializing

17:58 on building stuff with Spacey and it works well for them and we think that's much better

18:02 for us than if we did all of that.

18:04 you talk about bucking the startup playbook and, you know, like going against it,

18:08 some of these common misconceptions.

18:10 In your talk, you had four main misconceptions.

18:13 I think they were really spot on and super interesting.

18:16 So let's talk about those a little bit.

18:19 The first one was you have to lose money in the early days and the early days

18:25 could be six months, they could be 10 years.

18:27 I mean, there are big companies that are still losing money, not making money.

18:31 Yes, it is incredible, right?

18:33 And, you know, maybe that makes sense and you actually talked about when it does make sense,

18:37 but a lot of times it doesn't and, you know, so let's just start there.

18:41 Do you have to lose money right away for a long time until you've got enough growth?

18:46 In some industries, in some areas, that might be the case.

18:48 So I'm not saying, oh, running at a loss is always bad.

18:51 There's a legitimate like reason why, okay, you might have very high startup costs.

18:55 You can't expect, for example, any social app in that sense or anything that really

19:01 can only make money once you have users falls into that category because you need to grow.

19:05 Yeah, like a two-sided marketplace like Airbnb or Uber or Lyft or something like that,

19:11 right?

19:11 Or anything that has like a physical product.

19:14 Like I think in my talk, I had like this mattress business where, okay, you need to build something.

19:18 Casper, yeah, and then you need to sell that.

19:20 And, okay, so you need some cash up for it.

19:23 That's fine.

19:23 But for a lot of digital things, that's actually not the case.

19:27 And you can, especially if you have a product that you want to sell, there is definitely an advantage

19:32 in selling that straight away rather than running at a loss even though you have something valuable

19:36 that people would be paying for.

19:37 I totally agree with this.

19:38 And I feel like, especially in the digital world where it's software or something along those lines,

19:44 you can work your way into it, right?

19:47 You don't have to say, we're just going to quit our job and start writing

19:50 the first line of code.

19:51 You can start working on this for an hour a day.

19:54 You can start testing.

19:54 You can see, like, is this something I built that seems like it's going to be successful?

19:57 And then slowly sort of transition to it, right?

20:00 Which also helps you have enough traction when you're started that it's like

20:05 sort of covering some of the bills.

20:06 Yeah.

20:07 And also, I think this whole idea of, okay, running at a loss, it's still kind of inspired

20:11 by much more traditional manufacturing where actually things become cheaper at scale.

20:16 So you need to reach that scale.

20:17 Like if you're building, if you have a manufacturing plant, yes, if you're building one car,

20:22 that's going to be much more expensive than if you build 100,000 cars or 100 million cars.

20:27 But that's usually not actually the case with software development because that's actually

20:32 more expensive at scale.

20:33 So this whole concept all falls apart if you're actually applying that to digital

20:38 or fully digital digital products and tools.

20:42 This portion of Talk Python to me is brought to you by Linode.

20:45 Are you looking for hosting that's fast, simple, and incredibly affordable?

20:49 Well, look past that bookstore and check out Linode at talkpython.fm/Linode.

20:54 That's L-I-N-O-D-E.

20:56 Plans start at just $5 a month for a dedicated server with a gig of RAM.

21:00 They have 10 data centers across the globe.

21:03 So no matter where you are or where your users are, there's a data center for you.

21:07 Whether you want to run a Python web app, host a private Git server, or just a file server,

21:11 you'll get native SSDs on all the machines, a newly upgraded 200 gigabit network,

21:16 24-7 friendly support even on holidays, and a seven-day money-back guarantee.

21:21 Need a little help with your infrastructure?

21:23 They even offer professional services to help you with architecture, migrations,

21:27 and more.

21:27 Do you want a dedicated server for free for the next four months?

21:30 Just visit talkpython.fm/Linode.

21:33 We brought that up in your talk and it was so interesting because you're right,

21:38 things do get harder in software as the software gets bigger, whereas they get

21:42 maybe harder but much cheaper in any form of physical manufacturing or something like,

21:49 right?

21:49 Yeah, Elon Musk built the Gigafactory because he needed to make batteries

21:53 at a larger scale so they could be cheaper, right?

21:55 These types of things, like that.

21:57 Yeah, yeah.

21:57 It's not like he's making much money with that yet.

21:59 I think they actually said Tesla was going to have a profit.

22:04 Either it just did or it's just about, but yeah, that's the whole big growth

22:08 sort of side of the world as well.

22:09 Yeah, so the idea that software gets harder to build the more people you try to throw

22:14 at it is really interesting.

22:15 I mean, long ago we had the whole mythical man month that you can't have

22:19 a hundred people working ten times faster than, you know, ten people, that sort of thing,

22:25 right?

22:25 So it's just, it doesn't always take a huge team to build these products

22:31 and, you know, you talked about some of the open source projects and others

22:34 that were actually built by pretty small teams, right?

22:37 there's not that many people behind Spacey and that's super successful.

22:39 There's not that many people behind Flask, right?

22:43 And that's super successful.

22:44 Like the people involved in the pallets project, they run a bunch of open source

22:48 projects and that's like, you know, count them on my hands, number of people,

22:51 right?

22:51 Actually, even if you look at the large companies, if you look at things that are

22:55 produced by Google or open source projects released by other companies of a very large

23:00 size, it doesn't mean that all of Google is working on TensorFlow or all of Google

23:05 is working on some other project they released.

23:07 Or Facebook's React is another example.

23:09 It's not like all of Facebook is working on.

23:11 They actually have a very, very small core team as well and it's a very successful project

23:15 and I think that also you need maybe a single author or very few authors to

23:19 really give a project the direction it needs.

23:22 It's like, yeah, writing a novel with 200 people, that's like a very fun art

23:26 project, but, you know, it's not going to be like the most amazing, continuous novel

23:31 of all time.

23:32 I think it's the same.

23:33 Yeah, but which is why I always found contributors a very weird metric to

23:36 look at open source projects and how big or successful they are.

23:41 Yeah, I guess even in these big companies, the reason the small team gets to

23:44 work on it is they have enough extra money, they can just pay them to work on

23:47 these projects, but that doesn't mean they put 100 people on, like you say,

23:50 React or something, right?

23:51 That doesn't make sense.

23:52 Yeah, and it also doesn't mean that the project is necessarily has like,

23:55 I don't know, more of a chance to stay than a project that's developed by a

23:59 small company.

24:00 If anything, it's much cheaper for a company like Google or easier to just

24:03 shelve some project even.

24:05 I mean, look at all the stuff Google's killed that people love, like Google Reader.

24:09 I'm still bitter about this to this day.

24:11 I'm bitter.

24:12 Yeah, it's been 10 years and I still think about this a lot.

24:16 Still have a few scars in that.

24:17 Yeah, they're killing Inbox, which I absolutely love, and it's gone in two months.

24:22 Yeah, two months.

24:23 So, well, you're right, it doesn't mean it.

24:26 Yeah, so that's why when people are like, oh, but how do I know that your project

24:29 is going to stay around?

24:30 It's a weird way of looking at it.

24:32 It's a valid concern, but just because something is developed by a very large

24:36 company doesn't mean they're going to keep it alive for longer or necessarily want to

24:40 invest more resources into it.

24:41 Yeah, that's for sure.

24:42 So, one other thing you touched on about this kind of running at a loss side of things

24:47 is it's a little bit of a winner-take-all situation.

24:50 Yeah.

24:50 that means people are pursuing these sort of big VC-funded, they've got to be

24:55 really big projects, and that leaves room for a bunch of small and medium-sized

24:59 success stories that are just a little too small for, you know, that big investment

25:04 or whatever, right?

25:05 But it would be really great for many people.

25:07 what we're talking about there as small is still like a very, very significant

25:10 amount.

25:11 Like, you know, in a lot of these areas, a few hundred million would be too small.

25:14 And I think for a lot of people, that's actually, that's a pretty good business.

25:18 Yeah, I would think so.

25:20 Yeah, yeah, and also there are lots of these types of businesses where you can,

25:23 for example, if 50% of your revenue is profit, you have a much, much higher

25:27 trajectory to actually, if you grow at a similar rate organically, you're actually much

25:32 better off than if you're in a position where you maybe have the same revenue

25:35 but it's only like, you have the same profit but it's only like 10% of your

25:39 revenue or 2% of your revenue.

25:41 Yeah.

25:41 So, yeah, we've always seen it like, okay, we don't have to be the one provider

25:46 of developer tools ever in the world.

25:49 Right, so basically, if you're not chasing this tournament, winner takes all,

25:53 I got the big VC round and we're gonna, you know, Facebook's gonna crush

25:57 MySpace or, you know, whatever type of story we're trying, narrative we're trying

26:01 to tell here, then it's not necessary to, run at a loss because you can be

26:07 more organic, you can work on the products that people really want and just

26:10 grow a little bit slower but still totally good for you and your smaller set of people,

26:14 right?

26:14 Yeah, well, you can have a competitor, you can, it's fine, you don't have to

26:18 crush everything else.

26:19 Exactly.

26:20 Can't we all just get along?

26:21 Which is quite expensive, yeah.

26:22 Yeah, that's for sure.

26:23 The other one, which we touched a little bit on, is that you need to hire

26:27 a lot of people.

26:28 So, you think that small teams actually are a big advantage here, yeah?

26:32 I agree.

26:32 In our case, definitely.

26:33 I mean, we're actually working with a few more developers, especially for

26:38 Prodigy Scale to get that ready, and some other projects we've lined up.

26:41 But yeah, we're still very small and the ideal company we envision is also

26:45 very small.

26:46 And for us, it means that actually we can really take advantage of hiring

26:50 or working with people or being people who have, yeah, more, a bigger variety

26:55 of different skills that we can use.

26:58 like, in my talk, I call this like T-shaped skill, they're tree-shaped skills,

27:02 kind of, you know, based on this idea of the T-shaped skills, like a T-shirt,

27:08 one foundation, and like two other skills you kind of have.

27:13 Right, so maybe just to try to summarize that idea of like the T-shaped skill is like,

27:17 you have a bunch of things you sort of know, you're sort of competent, you can sort of create

27:20 a website in Python, you can sort of, you know, work with CSVs or databases,

27:25 but you're really good in one, like the stem of the T is you're really good

27:29 in one deep area.

27:31 You're like a systems engineer, that's the idea of the T-shaped and then I say,

27:34 actually, what's even better than that and even more useful in small business

27:38 is that, is it, are the tree-shaped skills.

27:40 So you have, you still have a base but you have all these different branches

27:44 and all these different other skills that you have, those can, they can overlap

27:48 with other trees, you can grow a new branch which is kind of nice because actually,

27:53 yeah, a T-shirt is really quite static.

27:55 Just gets worn out over time, that's right.

27:57 Yeah, but like a tree, you can, you know, a tree is active, a tree is growing

28:01 so I kind of like that metaphor more.

28:03 I like that metaphor a whole lot too because I think, you know, it's one thing to hire people

28:08 but you're never going to hire people that have all the skills you need but you know what,

28:12 they can learn it, they can take an online class, they could go and do an in-person class,

28:16 they could get a book, there's so many ways to learn these days that like you can sprout

28:21 these new skills and I think that's a great analogy, these tree-shaped skills.

28:24 The types of people who have these sort of very versatile skills, it's not really selected for

28:30 in a lot of larger teams and, you know, more, you know, the more stereotypical software development

28:36 because in large companies, it's, you know, it's fine, it makes sense why a large company

28:40 hires differently than a small company because you need people to be a bit more interchangeable

28:44 and you need a very different type of team but if you're small, you kind of don't have

28:48 those concerns and so you can really, yeah, it can really help you a lot

28:51 to have very different people, very different backgrounds and that's kind of

28:56 what we're doing.

28:56 So another analogy that I really like about this is this tree and this idea of like

29:00 growing new skills.

29:01 To be successful as a software developer, especially in smaller companies,

29:06 you have to be always willing to be learning new things, right?

29:10 It's not enough to like, well, I went to school and I got my computer science degree

29:13 so now I'm just going to go do that, right?

29:16 like you're continuously learning and this tree analogy and adding new skills,

29:20 I think it embraces like the best type of software developers anyway because they're constantly learning.

29:26 No, I agree with that.

29:26 So another thing that you said was you don't have to be sneaky and I feel like

29:30 that comes back to this kind of data is the new oil, what we need our users

29:35 so we can take their data and somehow make money on it and maybe we're going to do

29:38 something a little shady so we've got to be a little sneaky about that.

29:41 What did you mean there?

29:42 I also had this point like you don't the true value lies in your users' data

29:46 which is basically the same idea that you're kind of you're trying to trick people

29:50 into using your product but actually your incentives are very different or you're trying to monetize

29:56 something that you don't already have you're trying to you're monetizing

29:59 some future promise that you've made which will actually offer you those returns

30:03 that you have to come up with because just making a profit isn't enough so you actually end up

30:08 often all I've definitely seen like a lot of products on companies that have

30:13 made in my opinion bad product decisions in order to kind of satisfy those types

30:18 of promises Yeah promises to investors right not promises to the users and actually it's not even

30:24 just that you have all the evil investors you actually you set up you go for a business model

30:28 where okay you get a lot of money up front and that's great and you can work with that

30:31 but also for yourself you need to turn it into a certain type of company

30:35 in order to make it worthwhile and to also get some money out of it for yourself

30:40 so it's just that okay that that thing you agreed on and that dynamic and that works for some

30:45 types of products and for others it really doesn't Yeah absolutely machine learning

30:50 that's processing sensitive private data probably not so much sneaky is probably

30:54 not a good option no and also you do want I think trust is very important and actually

30:58 genuine trust like if your users think you're a decent person that's like

31:02 that's worth a lot and that's also something you don't want to play with

31:06 and that's you know it's a scary thing to do and say okay look I'm ready to really take

31:11 full responsibility and I want to you know we say well we want to be held accountable

31:15 for the things we do like it'd be much easier to just not do that and set those

31:21 expectations That's right so another thing that's big in the startup world

31:26 is that you have to not just test things or try them but you have to A-B test them

31:32 you have to every time you send an email there needs to be a couple of variations

31:35 every time you have a page that talks about your product you need to have

31:38 three versions that sell it in different ways and so on and that can just

31:43 be overwhelming to a lot of people they're like do I really need to do all this stuff

31:48 to get started I don't know it just it seems a little over the top and one of your

31:52 beliefs is that you can make good decisions without testing all the assumptions

31:57 yeah you can you don't have to test everything right that's true and also because

32:01 I think the underlying idea there is that you can't just replace logic and reasoning

32:06 about things with pure data you've collected because there's always you know

32:09 it's always biased in some way and that's just not possible and the thing is

32:13 the reality is if you're running a business you need to make a lot of decisions

32:16 and you need to make you need to be right that's sort of the secret you need to make

32:20 the right decisions and make them many times in a row you know you can do a lot of

32:24 things to make this easier for you and make it easier for you to make the right

32:28 decisions but ultimately you need to be able to reason about things and reason about it

32:32 in a way that leads to the outcome that you want and that's something you can't

32:37 just compensate for by trying things until you maybe find something that

32:42 works and then going back looking at what you've tested there and drawing the conclusion

32:46 and how this must have been why this worked and the other thing didn't yeah and so

32:50 many times I think those experiments especially around price or offers can feel

32:55 really crummy to the your best people the people who buy stuff from you and

32:59 support you I'm thinking of things like Udemy the online course place where if you go

33:05 there they say the price of this course is 200 bucks but you know what if you don't

33:09 actually buy it but you're logged in you'll get an email saying oh it's actually on sale for

33:14 just one week it's $15 or something right like it's 5% of the price or whatever a

33:20 little bit later and then you come back and there's some other sale it ends

33:23 tonight oh wait tomorrow the sale is on these are just all these shady things and just my

33:28 feeling of companies like that I just like oh man like either just sell me

33:33 what you think the value of the thing is or I don't know just don't don't try to like

33:38 continuously show me tricky stuff until I you know bite on something right it

33:43 just feels like dishonest somehow we as developers are maybe also a bit more a bit less like

33:48 oblivious there like you know we spot bullshit and we don't want to be like

33:52 bullshit I'm not saying this is like something unique to developers but I

33:55 think you look at these things and you don't want someone to tell you like oh this

33:59 is magically going to solve all your problems you want someone to tell you

34:01 oh you developing something here's something that can help you and here's

34:04 how this works and here's how much this costs and you're like all right or you're

34:08 like maybe not so we've definitely we've definitely seen seen this as something

34:13 that's like important for us and just because you're a b testing something

34:17 it doesn't always mean you know you still need to reason about stuff like if

34:20 you just automatically you test every possible combination and you might end

34:23 up with the conclusion that scamming people is actually the most lucrative way of

34:28 making money at least in the short term right but it goes back to this trust thing as well

34:32 yeah in the short term maybe even in the long term like there are people who've

34:35 been scamming for all their lives and they've been doing pretty well at that

34:38 so you know you can optimize for that but like is that really the thing you want to be

34:41 doing probably not or if it is I thought about like mentioning this up front in my talk like

34:45 I'm going to be talking about ethical and legal ways of running a business if

34:49 that's not what you have to know start some like initial coin offering stuff

34:55 and leave now like because it's the other rules like sure if you don't want it to

34:59 be legal or ethical like yeah none of this there's a lot of options but who cares

35:04 right that's not what you're about interesting and you also talked about some

35:09 of this a b testing stuff is sort of driven by this tournament winner takes all mentality

35:14 because if you're competing against another company and your belief is they're

35:19 going to crush us or we have to crush them there's no way we can both coexist then you're

35:22 always looking for that little edge right that's true and also or you look at like I

35:26 think another thing that's also very popular is looking at others in this who

35:30 were in the same tournament and didn't make it so you look at some other company that

35:34 was there before and they failed and then you try to analyze that and maybe even talk

35:37 to them why did you fail and they will tell you well we should have done x

35:42 because we didn't do x and that's why we failed and so you're like well and that's

35:46 how that's actually where I think a lot of this advice comes from and it doesn't actually

35:50 make much sense because it's it's not really um yeah we're not that good at really analyze

35:55 and at analyzing why something didn't happen and just because you didn't do x and fail

35:59 doesn't mean that if you had done x you wouldn't have failed yeah I mean if you

36:03 actually knew exactly why it failed you probably could just address it and make

36:07 it not fail yeah probably right like well this is the problem let's just not

36:11 do that I mean not always but uh it's still interesting and then the last

36:15 misconception you talk about is that the true value of your software company product

36:21 whatever lies in your users data yeah because I mean we really I think we

36:26 talked about this briefly earlier we yeah we definitely covered this yeah yeah

36:29 and I think it's clear where this comes from this was definitely driven by this idea

36:33 that all data is so valuable and people talk about this and I think it's never

36:36 even really clear what they mean by data do they mean your personal data

36:41 because maybe that's valuable if you're in a certain position like if I want to

36:45 sell you stuff knowing who you are where you live what you like is valuable

36:48 if I don't for me personally your Amazon buying history wouldn't be very valuable if I

36:55 were in a different business maybe it would so it's not always very even

36:58 very clear what people mean with data but what people have concluded is that we

37:02 need to harvest as much as possible as quickly as possible whatever we can might

37:05 be worth something and I think now we're getting to a point where people are

37:08 sitting on all of this and are realizing that actually it's not even necessarily that useful

37:13 and they're very now we're at a point where companies are really struggling to make

37:17 sense of all of that data they've harvested at like very high costs in terms of

37:21 user experience and trust I agree and I also think it's only valuable to the very

37:25 large companies right like it's valuable to Facebook it's valuable to Google but if you

37:31 were a three person software company that had 5,000 really committed users that

37:37 were could otherwise pay you right there's no way that those 5,000 people's buying

37:41 history or whatever is worth anywhere near just like their trust and like hey I'm gonna make

37:46 something for you I think it's valuable I think you'll want it they agree you give

37:50 them something that they give you money back right like that's just a much better and

37:54 easier story I think this portion of talk Python to me is brought to you by

37:59 rollbar got a question for you have you been outsourcing your bug discovery to

38:04 your users have you been making them send you bug reports you know there's two

38:08 problems with that you can't discover all the bugs this way and some users don't bother

38:12 reporting bugs at all they just leave sometimes forever the best software teams practice

38:17 proactive error monitoring they detect all the errors in their production apps and

38:21 services in real time and debug important errors in minutes or hours sometimes before

38:26 users even notice teams from companies like Twilio Instacart and Circle CI use rollbar to

38:32 do this with rollbar you get a real-time feed of all the errors so you know exactly what's

38:38 broken in production and rollbar automatically collects all the relevant data and

38:42 metadata you need to debug the errors so you don't have to sift through logs if you

38:46 aren't using rollbar yet they have a special offer for you and it's really awesome sign up

38:51 and install rollbar at talkpython.fm/rollbar and rollbar will send you a $100 gift card

38:57 to use at the open collective where you can donate to any of the 900 plus projects listed

39:03 under the open source collective or to the women who code organization get notified

39:07 of errors in real time and make a difference in open source visit talkpython.fm/ rollbar

39:12 today we can do that we can just we can sell products and not promises and that's

39:19 that's very nice and that also makes that also means we can really make product

39:23 decisions around actually providing that value that people want without having to

39:27 engineer our personal objectives hidden or hidden objectives into that somehow yeah

39:33 yeah it comes back to kind of the start of this whole conversation right like sell

39:38 products not don't be sneaky all those kinds of things right yeah and also I think in

39:43 machine learning especially people have this idea that oh maybe the users okay

39:46 our users are using prodigy to label their data and there and that's because it's

39:51 you know seen as such a tedious process you know maybe we could people have told us

39:55 like oh you're sitting on this gold mine if you just harvested everything people ever

39:58 labeled with your tool you could then use that and train one machine machine learning model

40:03 that knows everything but this is actually very far from how machine learning works

40:07 in practice it's also the really the true value is in creating very very specific

40:12 systems that are very specific to your problem so anything you label might not

40:17 necessarily be useful to me also this process is very very experimental so I

40:23 have no idea of knowing which one of your 200 data sets is actually the one that

40:28 worked for you and even if I do I know it worked for whatever problem you were

40:31 trying to solve there's no machine learning model to rule them all also we've built

40:36 an annotation tool we believe our annotation tool is one of the most efficient out

40:40 there so if we wanted to label some data and train a model we would just do that

40:45 ourselves right just go to mechanical turk yeah well yeah I'll just I mean prodigy is very

40:50 optimized for having people work very fast having people you can hire doing it yourself

40:55 so you don't even need any human labor platform because that also comes with a lot

40:59 of problems so I could sit there spend a day and I could be very very productive run

41:05 lots of experiments and end up with a model that well at least knowing whether my

41:10 model can learn what I wanted to learn and that's very powerful and so if we wanted to do

41:14 that there's no need to just take this from our users we can just do it you've built the

41:18 tool that they get to use to really solve their problem you could just do that for

41:22 yourself it makes a lot of sense I think I don't know there's there's a whole lot of

41:26 interesting ways we could talk about AI and machine learning and stuff where do you see

41:31 AI going do you see it being these super specialized things do you see there being one

41:36 AI to rule them all like what are your thoughts here I think the one AI to rule

41:40 them all that's like maybe something you can come up with if you yeah follow some of

41:43 the media coverage but like I don't think it's very very realistic and very

41:46 close to what people are actually building I think what we're seeing is all across

41:49 industries whatever people are doing they want more insights they want to optimize their

41:54 existing processes and they want systems that specialize very well to exactly what they are

41:59 trying to do and it becomes more of a tool right so the more specialized it is yeah

42:04 and they can use machine learning as a tool to achieve that and of course there are

42:08 realistic concerns that we do have to think about in for example what's going to

42:12 happen with people being replaced how or how are companies dealing with this in

42:17 maybe ways that are actually very harmful also because of kind of a wrong idea of what

42:21 the technology can really do their ethical concerns their concerns about bias and just you

42:26 know just because we build some system doesn't mean that it's like perfect and you

42:31 know we still build it so we're gonna all the mistakes we make we're just going to encode in

42:35 that system all the bias and all the problems we have we're going to just encode in

42:39 that system and cool then it can you know if you make bad decisions cool you can

42:43 train a model to make those bad decisions for you it doesn't mean that things are necessarily

42:47 better so these are all things we have to talk about ultimately I think still machine

42:52 learning is a tool at this point and yeah I tend to agree I am a little concerned about

42:56 the automation and jobs and then the effect that will have on on politics and society but

43:01 but in general I'm pretty upbeat on these things I guess let me ask you a couple of

43:06 sort of meta questions around around this to close out this okay first of all it seems

43:13 like you're having a lot of fun are you having fun running your own company you and

43:16 Matt yes definitely I would say it's the best job I've had so far yeah that's cool I

43:20 thrilled doing what I'm doing I'm basically broken like I cannot go back to a regular

43:25 corporate job I don't know about you but I think it really depends like I feel like one

43:29 thing I hate is like this mentality that a lot of self-employed people have where they're

43:32 like essentially looking down on people who are like in regular jobs I read this a lot and I'm

43:37 like no there's so many valid reasons why you would want to have a regular job working for

43:43 someone else and that makes people happy but on the other hand I do think

43:46 yeah in general and as a society we should make it easier for people who want

43:50 to start their own businesses to start their own businesses and then make it easier for those

43:54 businesses to actually create sustainable jobs that then other people can

43:58 take right we were just talking about AI taking away people's jobs but if

44:02 there can be other businesses so they don't lose their job they just do a different job that's

44:06 also meaningful to them that's a much better option right also businesses that can pay

44:09 their employees out of profits they make because that's ultimately also very

44:13 sustainable because that means the money is there right and rather than say

44:16 stock options that are kind of promises down the line in the future yeah yeah

44:21 exactly and also already I mean in order to like a lot of these offerings in order

44:24 to exercise them you already need such a privilege that you can afford this and if you

44:28 cannot you know this is expensive if you're already pretty privileged enough

44:32 fine but like if you're not none of this is going to help you very much I

44:35 totally agree that's a great point then another question someone asked at

44:39 the end of your talk which I thought was maybe worth mentioning is you know you

44:44 hear people talk about I think this also comes from some of the VC back companies is talk about

44:49 work-life balance and just giving up everything to work super super hard and maybe

44:55 they're really successful in business but maybe not so much in life right with

44:59 relationships and whatnot how's that for you I'm definitely very much against

45:02 this kind of school of like entrepreneurship where all you need to you know only

45:06 the hardest workers can succeed and you need to run on four hours of sleep and

45:11 like I don't know this is definitely something we try to like optimize in the way

45:15 we run our company that like you know we we're not measuring success by like

45:19 how how low can you go on sleep and how hard can you work because I also think

45:24 you can always work you can work smarter instead of harder there's a certain

45:27 privilege of course that comes with you know we I can choose where I want to

45:31 work I can choose to structure my life in a certain way I feel like this

45:34 is important to point out because not everyone's able to do that but in general I

45:38 do think we can you know in a way if you if you're not in the competition you can

45:42 optimize for living in a place that's affordable you can optimize for okay you

45:47 want to have more time or you want to work in a certain way now while you're younger so

45:53 you can maybe work less when you're older those are all important considerations

45:57 yeah absolutely like for example you talked about living in Berlin where life is

46:02 fairly reasonable as opposed to you know eight thousand dollars for an apartment in San Francisco or

46:07 something completely off the charts right and we're lucky that we don't have to be in

46:10 one of the tech hubs we can be on the internet but I don't I'm always trying to

46:13 when talking about these topics especially work life balance I'm always trying to

46:17 be careful not to come across as like yay start your own business it's all great

46:21 like oh I can but also not going the other road and saying yes you know yeah you

46:25 have to be prepared to work like super hard and you're on call all day and it's

46:30 like there are valid concerns on both sides and I don't want to over romanticize either of and but

46:35 I do think it's possible to optimize for something that works for your living

46:39 situation yes yeah you don't have to completely kill yourself to make it work in

46:43 your specific situation right like you and Matt are having a have a good time not always

46:49 working always burned out if I could keep it that way that's a very good objective for me

46:53 yes one of the really nice trade-offs when that person asked that question I thought

46:56 well yeah it's a little more stressful you've got to keep the business running there's

47:01 more stuff on your shoulders but also you have more flexibility because you're

47:07 trading value for money not time for money so if something comes up in your life you're

47:11 like the next three days I kind of want to do this like you just do it and then maybe you

47:15 work on the weekend to make up for it or like I think there's more fluidity and

47:19 freedom to find that work-life balance if you're after it yeah and also this idea of I

47:23 mean what's often referred to as passive income even though I find this I don't know I find

47:27 this term a bit weird I do find it weird as well because you typically have to work

47:31 super hard to get that passive income it doesn't it's not really passive yeah it's also

47:35 because it's this fantasy like of course everyone wants to like sit at the beach while making

47:39 tons of money and that's why this has also been abused a lot in like I don't know life

47:43 advice and you if you google passive income I'm sure the top results are all from some scammy

47:49 life advice buy this e-book where I'm going to tell you how to make passive income and the advice in

47:54 that e-book is write an e-book promising others passive income and it's like that kind of

47:59 pyramid scheme so that's why I like hate this term but it's obviously in general optimizing for

48:05 a situation where for example you build something once that has value that people like you optimize for a

48:10 business where people genuinely like buying your software and are happy with your software and you'll have

48:16 one software one piece of software that you can just sell to lots of people who are all happy with that

48:20 that's a good way of doing it because you know this means you can build something once and maintain

48:25 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

48:31 could close out our conversation around this building a software business maybe bucking the startup

48:37 trends with just some advice you might have for people so if there are people out there maybe they have an

48:43 open source project maybe they just have an idea for something they want

48:46 to start what advice would you give them about somehow making this their

48:52 job right starting some kind of company that offers value to people maybe they're doing consulting maybe

48:57 they're doing full-time work I don't know yeah I mean it's a very loaded

49:00 question because it's it's tough I know it's very specific to people's situations but yeah definitely I think

49:05 what worked for us was definitely okay you you know you want to offer people something that they need and

49:10 if you're in a position where for example you have an open source project and you see that there's you

49:15 know genuinely something you're solving for people that's a very good start you know it is also very good

49:21 to actually you know you look at how is it going are you making making money with this and also have a plan

49:27 for okay when are you gonna stop because I feel like the if you're going the opposite route there's not

49:32 really never really an incentive for is it working is it not working because you can always optimize and

49:36 you're running at a loss anyways but if you're actually running at a profit

49:39 you can use that profit to really see okay you know this is where you're

49:43 going it doesn't lie it's very yeah in a sense it is riskier because you know

49:49 there's no that's the only path like always people are like oh you're going

49:52 you're doing the risk averse thing and I'm like well it's not that risk averse because you know we're actually

49:57 making a profit that is like that's quite a risk because if you're not making a profit that's it you know

50:03 like choosing not to make a profit is actually a pretty risk averse it's a

50:07 little too open-ended maybe maybe I mean it's it's like ultimately or maybe ultimately like giving advice is

50:12 always difficult and ultimately the advice would have to be make decisions

50:17 and be right about them that's actually that would be the most honest genuine advice but it's also often not

50:23 what's really that actionable yeah very satisfying because the advice you know

50:28 you still need to do it and I but on the other hand I kind of I also like this

50:31 sort of way of thinking about it because it shows that okay at this and whatever

50:35 I'm going to tell someone is always going to be kind of biased yeah it's

50:38 this idea okay you can like it is possible to ship value and make money from that it is possible to offer

50:45 something that people will pay for because people like paying for things

50:49 it's not like nobody wants to pay for stuff people do want to pay for stuff if

50:53 you can find a way to give them that opportunity and I think also it is fine

50:57 if you can reason about things and you're right it's fine to do that like

51:01 you shouldn't feel like you need all of this data to back up whatever you thought

51:06 was right if you can actually make this work it's fine like you don't have to

51:10 beat yourself up because you didn't maybe test that assumption and somebody's gonna ask you oh but how do

51:14 you know that like the sky is blue it's like well I looked at the sky and

51:18 it's like it's blue my experience is it's generally blue yeah yeah I mean

51:22 something it's real because I experience it is also a pretty problematic way of looking at things in

51:27 my opinion but like it's still there are some things that you can know when

51:31 it's fine to like know things and act on them especially if it like leads to a

51:36 good outcome yeah that sounds good I guess take your best take your understanding make your best decisions

51:43 you can and take action and then follow that feedback loop right basically creates

51:47 a job for yourself where you can do all the things you like and channel that into

51:50 a productive outcome that's commercially viable because it took me a while to

51:55 kind of get there but often I do think for most people they have things that

51:58 they like doing that they're good at that maybe are not so compatible in the

52:02 very stereotypical system of working and typical jobs in tech that might actually

52:07 it might actually look very different once you're in business for yourself and

52:10 you realize that oh actually this sort of talent I have here or this thing I'm

52:14 really good at I can actually use this productively in my own business this is

52:19 useful for people yeah absolutely yeah that sounds great let's leave it there so

52:22 hopefully people got a lot out of that conversation I'm sure that they will but

52:26 before I let you go we have to ask you the two questions at the end of the show as

52:30 usual if you're going to write some Python code what editor do you use visual

52:34 studio code like probably like most people these days I'm not sure what's the most

52:37 popular I would say the Vim no I think Visual Studio Code is probably the number

52:42 one most popular and you know PyTarm is actually going pretty strong there and if

52:47 it's not one of those two it's usually Vim or not even a max it's usually Vim yeah

52:52 I've tried probably most editors I'm also very very open to trying new things if

52:56 they come out but I kind of I do think Microsoft did like a really good job it's a

53:01 very it was it's a very impressive product like I didn't expect that at first when I

53:05 started using it yeah I hear that a lot and it's getting better all the time which

53:08 is pretty cool yeah and I'm actually very excited about the Python integrations and

53:11 also the more like data science focused stuff that I've been working on also I'd

53:16 always wanted like a spacey extension I haven't I haven't had time to look into

53:20 this but like we have an open issue on the tracker so if someone listens to this and

53:24 wants to work on this I'm super super excited about that idea that sounds super

53:28 cool all right and then notable package on pipey maybe not necessarily the most popular

53:33 but some of the people you're like oh somebody they I found this and they should

53:37 know about it and I'll go ahead and throw spacey out there for you already so we can

53:41 put spacey on the list right yeah of course one idea I've had just that we have to

53:45 mention like spacey wouldn't have been possible without siphon and lots of other

53:48 probably most sometimes people don't realize this but most Python packages you

53:53 use wouldn't have been possible without c extensions and all you know the great

53:57 work that it went into the siphon so I feel like I should just mention that

54:00 because it's such a huge part of what we're building but also one thing I was

54:04 really got into recently was like making our code more consistent having like a

54:09 well formatted well organized code base and so often when I start like organizing

54:14 things I kind of get really into it so but like I've really started to appreciate the black formatter the

54:19 auto formatting tool and just in general the idea of okay enforcing opinionated

54:24 formatting rules automatically right as like a pre-commit hook or something even

54:28 better right yeah or even maybe in you I actually think for me it works well in my

54:32 editor because I actually if something looks like super messy it does remind me

54:36 that like often the code is actually not that great like if I write like a line of

54:41 code and then I see it gets spread over five lines and actually looks more

54:44 confusing it often means that yeah okay I maybe I shouldn't have had that for loop

54:49 and if statement on one line just to kind of make things a bit like nicer actually it's

54:55 not it's harder to read I should refactor that so that's actually helped me quite a

55:00 lot and also just having yeah flake eight I always kind of likes having you know kind

55:04 of a subset of rules that we enforce to have some standards you know you don't have

55:08 to go over the top and like okay we want to meet exactly everything but there's some

55:13 things that are very helpful you can catch bugs that way and just having things nice

55:18 and tidy by default was very nice I like that it doesn't complain but that it just

55:22 fixes it rather than going here's the seven things you need to go reformat it just goes

55:26 I'll reformat those right that's nice yeah yeah and also even if you run diagnostics

55:30 it says okay here you you're overwriting something you've imported you probably

55:34 didn't want to do that and then I look at it I'm like yeah I didn't want to do that

55:37 or like okay something's under like something's actually not defined yeah

55:42 that's a bug thanks so stuff like that it's it's helpful it's simple and

55:47 especially if you have lots of open source projects lots of code bases yeah a lot

55:51 of contributors yeah it's great yeah all right yeah so I want to give you a

55:55 chance for a final call to action for folks I think we already did that around

55:58 the building a successful software business so maybe just around spacey and

56:02 prodigy tell people that are interested in NLP and what you guys are up to

56:07 where can they check it out if you don't know about space yet you should check it

56:10 out if you feel like spacey is not going to be useful to you then you don't like

56:13 I'm not you know I don't want to go here and tell everyone they should use

56:16 our software we're building very specific maybe slightly niche developer product

56:20 developer tools but you know spacey I think we really we put a lot of effort

56:24 into our documentation we have a nice getting started guide if you're interested I'm hoping it should you know

56:29 even give people who haven't really worked much with machine learning a good

56:33 intro to how machine learning works with text and how you know you can use that

56:37 productively yeah my your python keynote was recorded and it's on YouTube so that

56:42 kind of has the full overview of all my thoughts on that you know the stuff I

56:46 was saying yeah and I'll put the keynote in the show notes as well of course prodigy if you're working with

56:50 labeling data if you're training machine learning models we're hoping that

56:54 prodigy is a good developer tool that gets people productive we have a lot of

56:57 people who felt like their work yeah it really speeded up their workflow and

57:02 made them more efficient and yeah keep an eye on prodigy for like our announcement for prodigy scale which

57:07 takes it to the next level follow us on Twitter because we have that's where we

57:11 announce new stuff we have a lot of cool stuff coming excellent yeah a lot

57:15 of great stuff people should check it out and you know thank you for being on

57:17 the show and sharing your experience yeah thanks for inviting me yeah you

57:21 bet bye bye this has been another episode of talk python to me our guest

57:26 on this episode was Ines Montani and it's been brought to you by Linode and

57:30 Rollbar Linode is your go-to hosting for whatever you're building with Python get four months free at

57:36 talkpython.fm/Linode that's l-i-n-o-d-e rollbar takes the pain out of errors they give you the context

57:44 insight you need to quickly locate and fix errors that might have gone unnoticed until users complain of

57:50 course track a ridiculous number of errors for free as talk Python to me

57:54 listeners at talkpython.fm/rollbar want to level up your Python if

57:59 you're just getting started try my Python jumpstart by building 10 apps course or

58:04 if you're looking for something more advanced check out our new async course

58:08 that digs into all the different types of async programming you can do in

58:12 Python and of course if you're interested in more than one of these be sure to check out our everything

58:16 bundle it's like a subscription that never expires be sure to subscribe to

58:20 the show open your favorite podcatcher and search for Python we should be

58:24 right at the top you can also find the iTunes feed at /itunes the Google

58:28 Play feed at /play and the direct RSS feed at /rss on talkpython.fm this is your host Michael Kennedy thanks

58:36 so much for listening I really appreciate it now get out there and write some Python code

58:40 you you you you you you you you you Thank you.

58:58 you Thank you.

Talk Python's Mastodon Michael Kennedy's Mastodon