#202: Building a software business 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.