 Right good morning, at least people here are awake So I've been told that functional programmers don't wake up early in the morning. This is too like this is midnight for people But we generally prefer to start on time and finish on time so that we don't punish people who show up on time Right, so we're gonna keep that tradition as soon as Amit is back. We're gonna kick it off Just a quick introduction, so I mean I'm gonna come back a little later talk about Some of the logistics and things like that that you need to know about the conference But before that we'll start with the keynote Amit's Amit Rathor is gonna be doing the keynote Amit and I worked maybe 10 years ago at ThoughtWorks together He's gone on to do some pretty interesting startups and stuff like that So I thought it'd be a good You know way to kick off the conference with him talking about you know How functional languages and the whole thinking process has actually helped them with their startups You know and that's basically what his talk is you know startups in the battle of survival So I'm just gonna wait for a minute for Amit to show up and then we're gonna kick it off There he is Already introduced you told all the dirty secrets about you so now the bar is very low for you to get started Thank you Okay, so since the introduction is already over I will Skip most of it, but Anyway, just since I have the slides and I can't just you know so so a long time ago I wrote this book and You know had a good time writing it and using closure for many years unfortunately, you know the things have changed quite a bit since then and And By the way, I mean, it's I'm gonna ramble this presentation is going to be all over the place and You know so when I go up like at 2 a.m. 3 a.m. Trying to finish the presentation, you know There's just too much clip art on the Internet. Have you ever seen that notice that I mean, how do you decide? Which ones to use it's just this took me half an hour to pick like Really distracting anyway, so I've been using closure for a long time and Been doing startups Had a couple of successful ones and I'm on my third and Again this time it's all closure and it's called Quinn type and we'll talk a little bit about that but you know it's Co-founded with this guy called Raghav who has been in the media space for a long long time and We are building a next-generation publishing platform. So Anyway, this talk is not about that. This talk is about surviving and fighting and battles and whatnot. So let's get on that As usual whatever it is you got to do the first step is always you got to first build a robot, right? And once you have done that You basically don't need a step to and that's really all I had to say about that About the survival part of it. No seriously. That's it. I'm serious. There's nothing else. I mean you've got that thing What else do you need? I'm serious like you guys are like looking at me like I've got more to say you give me 60 minutes, right? Anyway, so what is a startup, right? It's it's many things, but it's certainly a roller coaster ride But let's talk about what defines an organization to be a startup, right? It's pretty much where the solution that you're trying to look for is not an obvious solution. It's something new often in fact the problem itself is undefined, you know, it's sort of a Space where you think innovation is sort of needed and you kind of try to go in there and do something and You know, it's typically a super high-risk proposition You know success is definitely not guaranteed, you know Most startups in fact fail But there are a few things which also define startups that are not just about the solution space or the problem space And that is the idea of growth the growth being that you know startups are typically, you know Rapidly expanding entities whether it's business side team size, you know code base whatever And more than anything else it's a state of mind as well, right? So there are five-year-old startups some 10-year-old companies that behave like startups and some you know two-year-old companies that don't behave like startups So it's definitely a state of mind as well But in no particular order, let's talk about you know a few things that you need to do when you do launch a startup You know you're talking about figuring out the domain because typically, you know The startup founders are not necessarily all you know very intimately aware of the intricacies of the actual problem space or the domain So you got to understand that you go to understand the various business processes that you're trying to Get in there and model understand the goals of the of the potential customers and this is important This is different from you know business processes because goals are the actual desired outcomes And the processes are just what they happen to be doing now But that doesn't necessarily need to be how you build your software for your startup, right? go to understand the metrics that define the success of this these desired outcomes and Your job then is to you know design solutions, you know manifest these ideas and solutions as potential features and You know then you know step two again is finding customers for for whatever that you've come up with and You know pretty much you might have seen this. This is the book by from the book by Jeffrey Moore and talks about It's you know the the adoption of technology follows a predictable path and you've got these different segments of Customers and you've got the innovators where you know typically when you launch a startup you're looking to find those early adopters and innovators that are basically Enthusiasts their champions and they love startups and they love innovation. They love, you know that Gritty, you know nothing quite works, right? But it's kind of you know way ahead of what's out there and it's kind of disruptive and you know There's usually a very small number of these guys out there compared to the whole market, hopefully but you got to find these guys and you know build your product and get more funding or whatever and You know, that's that's the goal and you know the first maybe year or two is you're going to focus exclusively on that Pre-casm space, right? So you're finding these guys and Then you can't get away with it though because just having people from that early segments isn't enough you could be you know Very successful in that first couple of years and you know, it's a roller coaster, right? You're on that high and often that high can be a you know a cliff Right because if you don't figure out a way to get over that safely then that's that right so The question of you know people talk a lot about lean startups and things like that and talk about product market fit and You know product market fit. What does that actually mean right? It's about obviously It's about finding you know a market for your product, but it's in a it's not just Having someone use your software is not enough you got to find a business model that is actually repeatable and scalable as you grow your company and so, you know, that's a big part of That as well and all of this you know as it happens, you know is being sort of done against this countdown You know that that you've got a limited, you know time resources money, whatever and Limited options. So these are the constraints that you're typically under right? So startups are always under certain constraints. That is a big part of defining what a startup is You know, if you're a big company, you may not have urgent constraints But you'll probably have some kinds of constraints with startups are extreme in the sense of the kind of constraints that they have to operate under and In a startup things become extremely clear because it's so very, you know In your face every day, you know in a big company or in sort of established businesses You know, there's an ecosystem of support There's people doing different things and you're sort of just you know playing along and working with that Infrastructure and you got none of that in a startup So everything becomes very much in your face and it sort of changes the you know Perspective on all these things that we're talking about So the same thing when you're talking about in a start is very different. We're talking about something. It's not in the startup So perspective. Let's talk about that for a second right Taking things completely out of perspective brings the most clarity And what that well first of all, let me just say I came up with that. I wanted you all to know that So if you ever use that you should But you know, it just means that you know when you kind of take something Out of its natural ecosystem or habitat, then it's very very Obvious what that thing is because you're not sort of seeing everything in one big picture You're taking out one element of something and you're looking at just that And I'm gonna digress again Like burning man and the reason I'm gonna digress into burning man is because I just came back from seven days of burning man And that's why I was up all night writing the slides because the idea was you know I'd have time before the today because I didn't and so let me talk about burning man so what is burning man It's hard to describe it's It's sort of an experiment in different kind of living it's about You know a lot of things but I'll just show you some pictures other than it's hard to really explain it By the way, feel free to grab me later and talk a lot more about burning man because that's really all I want to talk about So, you know people make all kinds of art and like there's a lot of fire and it's awesome and People are people are sort of truly in their element. They just do exactly what they want There are no constraints of normal society. You're free to express yourself however you want Pursue the interest and share those interests with people that also have similar interests truly be free That's the goal of burning man Right, and it's in a desert and it's the extreme elements of of nature in your face every day dust storms and you know Rains possibly and insects and scorpions and like you know But it's it's also the most incredible experience People are truly just sort of you know doing their thing, you know, whatever they I mean, I don't know what this guy is doing frankly, but Seems pretty intense and there's a lot of partying and music and and stuff like that But you know the reason I wanted to talk briefly about burning man is because we start talking about perspective and you know out in the desert Completely cut up. There's no internet. There's no electricity. I mean that you can get a generator if you want, but you know It changes your perspective on things that you experience there because it's so out of the ordinary Right and so for example some of the things that they espouse their inclusiveness. I mean nobody knows who you are Everybody is the same. You could be a millionaire. You could be you know working at a grocery store. You could be you know a Movie star or you know, whatever no one knows who you are and no one cares, right? So that identity is completely You know Just who you are as a person that day in front of you. I mean what you're saying what you're talking what you're doing that's it and This is like you know this Inclusiveness we talk about inclusiveness we talk about diversity We talk about all these things in companies and workforces and stuff like that But this is an extreme form of so you take the idea of inclusiveness and you take it to burning man's extreme That's a different perspective the same thing with the gifting economy. There's no money involved in burning man Once you're inside the desert, there is no money exchange Everything is free and people are making stuff and sharing with each other. You can get alcohol You can get smash you can get have drugs you can do whatever it is you want and it's all free people Are just giving it away to each other and you're also giving things to other people So the idea of being nice to the to your next person next to you is again taken out of the normal world's Perspective and it's like that's all you do for like days on end You know, it's it's pretty amazing So for example trash like trash you have this idea of you know Leave no trace which is that you know you're going to this desert. It's a pristine landscape You don't want to leave our human trash there You got to take everything back with you including Water that you've used to wash your hands or you know clean utensils with or whatever you go collect the water and take it back with you That's extreme form of being you know caring about the environment and making sure that you know, you don't leave stuff around that it's it's pretty amazing So anyway coming back to the point The constraints so now constraints and a startup are exactly like that You take them out of the context of these big companies and normal, you know workforce type things and it's really in your face It's very very extreme. So like resources resource constraints are you know the sort of what makes up a startup, right? You have no engineering resources or it's never enough in an extreme sort of way QA product like all of that Obviously money is you know a premium. You're trying to get the next round You're trying to get customers to pay you by the way this the hardest thing in the world to do is to get somebody to Give you their money You know, I mean it's what is up to that? anyway Time you know you don't have time you've got you know your countdown is you know You've got potential competitors. You've got the spaces heating up, you know Or you know your runway is running down and you're sort of you know, so time And you know you've limited chances you can't keep failing and you know hoping that you'll get another chance So it's all sort of everything's happening the same time and that's sort of what this you know describe the startups, right? So it's a search problem when you're within all of these constraints It's a search problem, right? So you're trying to find a solution in the search in the solution space Right and and whatever that solution is that you're looking for you know You're trying to find the max so you got to you got to keep trying things and you're trying to find local You'll find a local you know local maxima at some point and be really happy and then suddenly if something will happen And you'll fall into a truck and you know You'll find another one, you know a few days or a week few weeks later You know you don't even know if you're in the in the in the actual maxima. You just don't know it's like you just sort of exploring everything and And that's kind of what what you're doing in the startup but basically what are you doing you're building some stuff product whatever and Hoping that somebody wants it. That's that's what you're that's what you're trying to do kind of build something that somebody wants and As much as the romanticization of you know consumer internet companies and you know advertising driven models where you know Millions and millions of guns customers will sort of carry you and you'll have enough advertising revenue in general most startups need a revenue stream Right, I mean you can't bank on you know on that you know those overnight successes the Instagrams and the WhatsApps of the world And so on are you know very few if you can you count the number of startups that are created every year and The number that actually succeed in that you know non-linear way is you know is they're all outliers You should just remove them from the from the stats that you look at So you know you build something that somebody actually wants and at a price that someone is willing to pay Right, so these this is critical. So you've at least this is how I think about it. You know, I've always Not believed in the you know Just build it and they will come or you know Just you know build something for the masses and hope that you'll get you know 100 million people using it and then that'll be awesome as awesome as that'll be And by the way the price that you know Someone's willing to pay Hopefully is more than what it took you to to make it, right? So there's an actual, you know profit element involved How queen? Right Because because you know startup valuation is how many of you know the science of startup valuation You can raise your hands Good because there is no science, right? It's just whatever Right, so but you know it's this is a traditional model I mean it's evaluating a startup is shouldn't be any different from evaluating any business, right? I mean p ratios and you know e earnings is is important and You know profit is important and that's how you you know VC money you're burning like you know You're burning burning VC money is not a business model, right? You can quote me on that We should have written that down so This idea is you know all of these things that you're doing is sort of you're trying to build this iterative process of you know Figuring all this this stuff out as fast as you can because again Remember those all those constraints you have right and you're you know trying out all these different things and you know You have to still sort of keep your product ever going your BD going your marketing going your sales going or you know Your people are leaving and you know I Mean there's all this craziness happening and you're you've got to do all of this every day every minute As fast as you can and when things don't work you want to know that fast Right you want to fail quickly learn move on repeat, right? That's that's what you want to do and with all of this, you know the success rates of startups are You know actually pretty pretty abysmal, right? I mean Different stats on the internet, but in general I'd say you know only five percent of startups actually succeed You know select 19 out of 20 startups will fail And that's kind of sobering I mean, you know as romantic as it all seems and exciting and everything else the reality is most startups will actually fail And of course this includes startups in not just tech startups, right? It includes new restaurants and you know whatever although I would probably a restaurant wouldn't quite qualify as a startup because of the growth there's no growth in that same sort of scale but You know the question is then you know if this is these are the stats a Are we crazy? You know, are we crazy to leave the you know security and and you know sort of comfort of you know corporate life and or whatever else and Try this right no because you know this group of people here are you know, obviously the smartest of you know a lot of You know tech people and we want to live up to our potential Which is why this seems so exciting because we know we can do better We know there's so much inefficiency in in software and in in all of these different things that we just talked about and we think we can do better right because we're smarter right and And so the question then becomes that okay, that's true But then how do we what do we do to equip ourselves to improve this on these stats? How do we make sure that we are that 5% and not the 95% by the way stats is just like the desert It is completely impersonally doesn't care about you Right. We all are we all even if you read psychology and you know all of this stuff We everybody thinks that that we I think that I'm different You know I'm unique, but I'm unique just like everyone else and that makes me part of the stats You know and as much as I might Dream about you know how it's gonna be amazing and all of that and those dreams by the way are important Without those dreams, you won't have the successful endeavors 95% of startups will fail so just you mean it's this it's an inexorable fact so Embrace it. I mean just being I mean it's important for startup founders and people who work at startups to be optimistic Crazy perhaps in fact, it's a requirement But there's you have to have that element of you know a little bit of that A reality check every day, which is often why you know I like to surround myself at least with people that are a little bit less crazy than I am and that who can remind me that you know That my reality distortion field will only you know go so far and you know the world doesn't actually care So for example, they just here who runs engineering and twin type every day tells me you know how crazy I am So what can we do then to improve our success rate, right? It all boils down to leverage Right, how do we you know everybody knows what leverages right? In the financial world, it means, you know, you borrow money and so margin for example is a form of leverage Where you borrow money and buy options for example, right? And if you do well your you magnify your gains, but of course if you do badly you're screwed But it's leverage. That's an example of leverage, but but the traditional, you know Word that leverage lever comes from this, you know idea of the metal bar, right? this long stick, right and better Archimedes, you know Archimedes saying this than me or anyone else, but with the big enough lever you can move the world right so tools are important right and equipping ourselves to the best possible tools gives us a better chance of success and you know, we have to embrace that and You know and again like this is like preaching to the choir in this room, but It's really important by the way the rest of that thing is give me a lever and a place to stand and I will move the World that's what he actually said. It's probably physics from from physics standpoint. That's probably true I mean if the tensile strength of that bar is strong enough. It's probably possible Right and if you have something that way you can actually keep that that whatever the thing is a tripod if you can actually keep it in a On a celestial platform of that size and if the tensile strength is enough, you could probably move the earth But you know there are other forms of leverage and the tools are it's all about tools like the bicycle was a Invention that transformed humanity. I mean suddenly we could go, you know miles every day We could travel far distances you could get water We could go and attend schools and we could you know meet other people and you know all of these different things became possible when we didn't have to walk everywhere right and this was dramatic and We owe a lot to it Right, which is why famously Steve Jobs one time said, you know computers are Bicycles for the mind You know it wasn't, you know lightly set because the bicycle Truly was that insanely dramatic thing and Today we talk about other things. You know we talk about multi-core multiple cores and you know harnessing power of GPUs and you know I Mean these are these are all things which Help us and you know we need to equip ourselves with the best possible tools in this fight for survival Because remember it's that inexorable odds that are that we are up against so There are more of these things right MapReduce. I mean Google you know change the world based on a few innovations, right and And as you all here know that this particular one came from partial programming So, you know these are the sorts of things we want leverage we want leverage, right? So where are where do we find leverage in this world of startups? We find leverage Through the people we hire, right? You know back in the day my Two startups ago when closure was still in its infancy and in fact wasn't even 1.0. It was still in subversion I remember we used to we were in production with with closure and I remember still that you know as part of our build process You would have to check out You know, what was it called a tag? I think It's pathetic. I've forgotten what these things are. Tag I think subversion tags 769 or something to build closure as part of our build process But you know, it's a risk. It's a pros and cons you got to evaluate, you know, yes, it's risky. No one's using it You know, it's some guy from like, you know, Boston who's this crazy hair And you know, he's got like one video or two videos on the net and he's he's talking about this new list And it's on the JVM and it's like, you know, very functional and all the stuff But it sounded, you know, if you look at you look at it and you kind of you know, and you stake your future on it You take the chance you take the risk It's not very different from a corporate coming to a startup and saying, you know what I'm gonna use you your service for this It's the same thing they are You know taking a risk by doing that and it's really important for startup founders to remember that they You owe them a lot because these guys are literally risking their, you know Promotions or career choices or whatever it is the politics of the situation in these large companies on you So, you know, we owe it to people who push technology and you know Come break, you know push the envelope or instill the art on newer ways of doing things and so You know closure back in the day was was the tool we picked. This was like 2008 late fall of 2008 and You know people And this this that time at least it became a Self-selecting mechanism for us to get the bright people that we wanted to work with because you know It's a self-selecting process of people who wanted to start using closure back in 2008 and 9 and 10 You know and today it's impossible to find them because they're all they've got lots and lots of options But back in the day it was great. It was a it was a competitive advantage for us, you know That you know, there was actually a startup that was, you know, right in the middle of the Bay Area, you know Using closure, you know in production and you know believed in that sort of dynamic, you know language and you know Let's spend that whole approach to building software and all of that And so we got the best and brightest people to join us and People by the way, all these things I'm gonna talk about they all compound because each of these things feed into the other So, you know, the whole idea of non-linearity I mean you I'm sure in this room at least we all know that a good programmer or a very good programmer and compared to an Average programmer is like, I don't know 10x better 20x 30x better. I mean, right? It's not the joke people don't it's really true I mean, I've worked with people that are just like by themselves literally can you know bang out entire You know solutions and save the company. I mean, it's happened. It's it's been done You know, I've seen it happen. And so, you know, this is a critical thing This is and you know people of course make or break Any company but this is again remember perspective and instead of a startup in the desert if you have the wrong people, you're dead Right and the same thing holds true in startups If you if you're lost in the desert and you're sort of, you know, whatever like, you know, hanging out with the people who just Are just like yeah, whatever and you know, you're just gonna get eaten by Walgers Right eventually and so same thing The other things so people Are a form of leverage Processes are a form of leverage, right? You certainly would not, you know, catch anyone in this room Saying, you know, I'm going to like approach this problem with the waterfall method Right, I'm going to analyze the problem domain and I'm going to figure out the requirements and I'm going to write them down now So that, you know, two years from now, we'll have everything ready Or whatever, right? So obviously we're gonna use the best process that makes sense and you know, whether it's whatever name you give it I mean, you know is a material but it's the it's the You know, it's about being agile, for example and not doing agile and all of that stuff and lean and all these other things So this is another form of leverage and you you compound this with the smartest people and these, you know, agile processes and you get, you know, twice the bang for the buck, right? And you know, how do you think about things and how do you approach product design and You know, what is your philosophy to building systems and all of that is that there's another form of leverage, right? I mean, you could and we'll talk about that a little bit as well But you know, these are all things which sort of feed on into each other. It's like a virtuous cycle that gets going when you do all of these things That gives you a better chance for success And the same thing, you know, when we went from, you know, OO to functional programming with a similar step in that leveraged direction, right? So let's talk about objects really, really briefly and let's spend the next 20 minutes going through this diagram Since this is obviously really important Let's not So this guy said this and, you know, we all know, I mean, in this room I hardly need to again, you know, talk about this a whole lot But, you know, OO and objects are about nouns, right? I mean, we talk a lot about, you know, the various, you know, domain objects and we, you know, when we start to design We, okay, what are all the names and you start to throw them up on the board and that's where, you know, we start and all these processes that we're talking about these things that need to happen are owned by these nouns, right? We sort of, the whole idea of designing an OO system is about, you know, responsibility allocation, right? Back in the day, if you read those grass patterns and things like that What is grass? Stand for general responsibility allocation software patterns. Wow, actually, I remember that But anyway, point being that this is, that design idea is all about, you know, figuring out which noun should own which process And, you know, that's, you know, not, that gives you low coupling and, you know, cohesive designs and all of that other stuff But there were problems obviously, right? But anyway, in this world, the nouns eventually become classes and, you know, the processes we're talking about becomes methods on those classes And it's all good But you run into that wall, which we all know, which is why we kind of moved on from there, right? And this wall is often manifested in a statement that goes something like this, right? Because it's not, not everything is an object, right? And other problems too, like mutating, how do you safely mutate state? Particularly in the new world today of like multi-core and lots of, you know, competing, you know, processes going on and all of that How do you safely do all of that? And so, and again, remember this, by the way, state mutation is nothing new I mean, we've all, there's always state and there's always mutation It's a question of safe mutation and this again, perspective changes when you take, you know, when you have the old, like, 20 years ago You had one CPU and one process going on, it's not a big deal Because there's no chance of doing unsafe mutation But when you take it into the desert of like, you know, a one processor having two or a graphics card having 256 cores And you're harnessing that and you're trying to mutate something That's an extreme problem, right? And, you know, so that's this again, this is what happens, right? So this brings us to functional programming, right? And where the verbs are the, it's a kingdom of verbs now, kind of kingdom of nouns And verbs are the processes, as we know, right? And now it becomes a question of modeling these business processes and not just modeling the domain engine By the way, domain is not a bad word, domain is a great word Because it's really important to understand your domain and to model that right Whether you do it in O or in functions or whatever But in this world, nouns are data, not, you know, entities that own state or own processes or whatever They're just data structures, often immutable And the verbs transform these nouns, right? In other words, functions transform these data structures and they do things And in this world, you know, things like purity of this, you know, function space What's impacting your external state, your mutable state, what's impacting Just what's just transforming functions, what's support functions, what's a service interface All these things become very clear and if you design this stuff properly Then you can have a fairly pure system where, which gives you a lot of benefits And we'll get to that like testing and deployments and scaling and, you know, all of that stuff Right? But it gives you a lot of clarity as well Because now you know very clearly where, what's happening where And what function is doing what and things like that Without thinking about, oh, you know, something got mediated somewhere And, you know, I mean, this is nothing new here But it gives you a lot of stuff, it gives you a maintainable code, right? And again, as I just talked about, I mean, domain is important It's not an OO word, by the way The domain driven design, the book, Eric Evans book is very much applicable in this world Because, you know, if you've ever done a non-trivial functional system With, you know, hundreds of thousands of lines of code You can make a big ball of mud in any language, right? I mean, you can do it in closure, in Scala or any other language that you So, these principles very much apply And so, you know, over the years that we've learned, at least That the stuff that we've learned in the OO world translates really, really well Right? I mean, in this world here, for example Domain functions are all pure functions That simply transform data that comes in and it sends the data out Into, let's say, persistence layers or something else that stores it In some sort of database service or data storage service And, you know, something above the domain model that transports this Into, through an API, an HTTP interface or, you know, whatever it is And then something shows this stuff to somebody This stuff that we've learned in the OO world is great And it applies very well But when you design stuff this way, you know, you're getting a lot of benefits Right? We're getting testability because you can write all the tests you want At the domain function level without having to worry about anything else At all, like, no state worries, no nothing You can do first testing, you can do generative testing You can do, you know, all this automated stuff that, you know It makes it much harder to do in the OO world Right? Because of just the way, how much setup you need You don't need setup, it's a function, you send it You create whatever data you want and call it, you know So there's no, like, complicated setup in your tests And things like that, tear downs and then making sure that Database gets loaded back and all that other stuff I mean, it's just non-existent if you do it right Which is really great, it gives you speed It gives you, you get to go faster It gives you scalability because, you know, once you've got these clean Boundaries and these pure functions and stuff like that It's not a very far stretch to say, you know That you can start thinking about functions as services Right? In the end it's something that takes in data And gives you some transformed result And you can start to model bits and pieces of these functions Out into your own microservices as you grow And as you figure out where the load in your system is And so on and so forth And by the way, these things which have termed microservices Are bandied about like crazy everywhere But is very natural in the functional world Because, you know, microservices are essentially functions And, you know, this gives you the ability to scale your themes Because now you've got services that are owned by people In your team, in your larger group And it's a good way to, you know, not have everybody working On this giant monolithic code base It's a very easy way to have separate deployments For different bits of your architecture And grow teams like that And you've got other benefits like we just talked about Immutability, you know, we know about immutable data And the benefits from that And now there are, you know, immutable databases too Which you can leverage, Datomic comes to mind And there are others, I'm sure And so, you know, these ideas also apply To things beyond just the micro-code level stuff For example, infrastructure Like if you're on AWS or cloud-based deployments And stuff like that, you know, the red-blue deploy is exactly that It's an immutable deploy system, right? You create an immutable instance of, you know A bunch of servers that run certain things And when you want to do a new upgrade, new push That stuff goes away and new stuff comes up, right? It's exactly what immutable data structures teach us Right? There's more benefits, obviously, as we all know Composability, right? When you start thinking like this When you start thinking about functions And microservices and APIs And, you know, well-designed bits and pieces Then, you know, you can start selling bits of the system That becomes an option You build a giant monolithic codebase And you've got one thing to sell Whatever that thing is doing If you've got, like, 20 things that are components You can start to think about selling components And I'll talk a little bit about, you know What we're doing at Quintype Just to give you some example of what I mean by this Is, you know, in the publishing world There's just so many pieces That you need to do to run your media operation You know, you've got to start with everything You need to create content, so CMS and stuff like that You've got pushing that stuff out into apps Into websites, you know, iOS app TVOS app now and, you know, Apple Watch And, like, all these different things You've got audience management and analytics You know, recommendation systems You've got, you know, Google SOSCM management You've got, you know, email marketing systems Push notification engagement things You've got, I mean, the list just goes on Then monetization, advertising Programmatic real-time bidding stuff You've got e-commerce pieces You've got, you know, native content Matching, you know, between who should be shown what Data collection, real-time everything You know, there's just, like, 20 different things You need to run a media operation And so today's landscape is this fragmented You know, you've got vendor central You know, it's all, like, bits and pieces everywhere You've got to, like, pick and choose and manually integrate It's just a giant mess So when we have, we have building equipment It's a sort of seamless end-to-end All these different modules, well-integrated Just does a little bit of whatever is really needed And all the bloatwag goes away and all that We could build that as a single monolithic system Right, everything is being done as a giant But instead, when we built it as the way we built it We are now able to sell an advanced analytic service We're able to sell an advanced personalization service For media We're able to sell, you know, bits and pieces Like, application Like, you one-click, being able to generate apps iOS apps and, you know, Android apps And, you know, Apple Watch apps and Gear apps And now TV apps and stuff like that By the click of a button It's, by itself, a little very nice thing Which nobody else has and we can sell that Because we built it as a separate piece Right, and it's all very nicely So this is a competitive advantage Because you don't know what's going to work You build this giant monolithic thing And nobody wants to pay for it Now you're screwed But now, suddenly, you know, how do you You hear about these pivots, right? You hear about Stardust pivoting and stuff like that How does it happen? They realize, oh my God, like, somebody is Really interested in this one thing They built 20 things And someone's really interested in this one thing They didn't build that 20 things And had that one thing You wouldn't know about it And then, you know, you can't pivot to that So this is an important part of that So this is not very different from selling APIs, right? So you build everything as a set of APIs And, you know, but it's the question of Modeling it right from the beginning To think like this And you can then, you know, also create New bits from these existing bits, right? You combine the composability And the combinatorial explosion of possibilities Is another competitive advantage And even if it's not so much at the API level It's certainly true at the function level And at the code level And this, of course, brings me to the idea Of bottom-up design, right? Where, which is, you know, opposed As opposed to top-down design Again, I'm sure this is not new to you guys But top-down design being, you know, Oh, okay, let me think I've got, you know, this problem space In, say, digital publishing or whatever And I'm going to build a system To solve the problem as I see it today And I'm going to say, okay, this has five modules And the five modules have these different components And I'm going to go ahead and build it That's top-down I'm thinking about the solution And I'm building down to whatever I need to create that But bottom-up is I actually don't care about the end solution I actually want to model the domain There's like, oh, so there's analytics Okay, there's data collection And there's content And there's, you know, whatever Like there's, you know, users And there's social media And there's, you know, these different things And I'm just going to blindly model these in my domain You know, without thinking about how the end solution Is going to look And I'm going to create these functions And these, you know, services that sort of, you know Model this stuff Represent the knowledge inside of the processes That you need And, you know, then you're going to have All this available to you And then you can now pick and choose And combine what's needed to kind of go upwards To a solution that you can present to a user But the point is that now you have all these It's like first building Lego First you build the blocks And then you put it together to do whatever you need to And then you can change it if it doesn't work very quickly As opposed to, you know, building a blueprint For the entire house And then building the pieces down Now you've got pieces But they only fit in one way And they build this house that you designed But that wasn't the house they wanted, right? So this lets you, you know Solve an entire class of problems in this domain space Because you don't know what you're solving I mean, in the startup world You actually, you have some idea But you really have no idea, right? That's what it means Having some idea means you have no idea, right? And that's, you better embrace that And you've got to embrace that in a very specific way Which is you've got to put your money away, your mouth is And don't pretend like you know it You've got to behave like you don't know it And plan for that And this gives you a really great way to do that So, you know, you model the domain And you then build up these levels of abstraction, right? And this again makes it easier, like I said To find the solution that we're all looking for In this space Particularly good with chaotic requirements If you're not in a startup world But requirements are changing a lot How else will you manage that, right? You can't keep going back and redoing the blueprint every time You'd rather just rejig the pieces, right? Or if you're in a startup, like I said, right? And this brings us to, for example, DSLs, right? Like the whole idea that now that you've got these Building blocks and these layers of abstraction You can actually put a language on top of Some of this stuff And, you know, certain like closure, for example It's a Lisp, so that's a first-class thing And I'm sure others do it And, you know, give you this idea Of these little languages that different people In your world, whether it's customers themselves Or whether it's, you know, your salespeople Or your integration people, your account managers Or whoever can quickly work with your system In a very specific way Other than going to developers every time Or whatever that process is You can quickly, you know, scripting You're basically building a scriptable system This is what you need Because of the nature of this sort of, you know Changing, moving, shifting landscape in this world Incredible flexibility I mean, if you can script stuff Then you don't, you cut that loop down, right? You don't have to go down to the bare metal Every single time And you can just quickly operate at this high level That's great, right? You can quickly, you know, bang out features And combinatorial explosion, by the way Every time you add one new capability down here It's combinatorially now available To mix with everything else that's already there Right, so it's amazing It gives you not just, you know, lots of flexibility But it gives you dynamic flexibility Because oftentimes this is all at runtime Right, you don't even have to do a deploy It just works, eval, right? I mean, I mean, people hate eval Eval is like, oh my god, like, you know You can just run whatever code, you know And it's pros and cons It's the same risk-benefit equation I mean, back in the day You could literally do an eval in the life system Which would change prices of all your products Across the board And you could say potentially that, you know You're gonna just get bankrupt by somebody Making a mistake, yeah, okay That never happened, number one And so if we had decided not to do it Because it might have happened We would have lost all that flexibility Right, so the tool is there And of course you can add some guard clauses And this and that Embrace it Right, the power is there Again, functional programming gives you concurrency We talked about that, you know Lots of cores, et cetera, et cetera Mutable state, managing all of that So that's what I wanted to talk about in leverage, right About the tool set and the language And the word fordzaz So again, coming back to this I'm wrapping up now So I'm getting close to You don't have to listen to me forever Best people for the job, right Do you know what SEAL Team 6 is? SEAL Team 6, by the way I could have not blacked out these faces But then I would have to kill you all But, you know, these guys I mean, you gotta read books on these guys I mean, these are mental I mean, these guys are crazy And the point is that, you know They also use the best tools Right, I mean I don't know if you're into guns and stuff I'm not, but I just wanted to do some research In the presentation, it was like 3AM So what else are you gonna do And actually, to be really honest It's about whether you take anything away from this This gun, by the way, is the one you want to use When you're playing Call of Duty Because you will win Anyway, but against the goliaths of the world The start-up fight against these big corporations Big entrenched processes Whatever it is that you're trying to change Whatever you're trying to disrupt You know, you don't send in the infantry It's just not gonna work A, you don't have infantry You don't have, like, 500 people Or, you know, 1,000 people But even if you do send it I mean, if you're gonna try and take down Amazon In some aspect You're not gonna, like, beat them on brute force Right, you're not gonna, like, take fib card You know, and say, you know what I'm gonna, like, just overwhelm you with numbers Right, it's not gonna happen So don't send in the infantry When only the, you know, SEAL team will do Right, and the SEAL team is in this room Right, because these are, like, the elite, you know Units that are going to make every single person Is going to be, you know, that 20x, 30x, 50x Compared to the average, you know So that's what you get When you get the best of the best, right It's like, you know, the Spartans, right And, yeah, it's like the Spartans I just wanted to put the Spartans picture, actually It's pretty awesome And those who know the story just shut up Right, but that's okay I mean, it's like, it's the, you know Who cares if we die? Everyone's gonna die Who doesn't die? Is anybody not planning not to die? But anyway, you know This is the picture I really wanted to put So I put both Anyway, so, you know, that's this, you know The tools, the people, right, the processes So that's really what I wanted to talk about In terms of leverage, how do you survive, you know Think, think, think Embrace the flaws And the weaknesses of, you know, what the start-up is And what you're trying to do and all of that So I'll just briefly wrap this up Why am I doing this again this time? Third start-up, third, you know, functional programming team We're, again, staking our future on this And we'll probably try out, you know, we'll learn a lot About newer functional programming techniques In this conference and other places And we're gonna try out, you know Whatever was the right tool for the job Not just closure, right And we're trying to change the world, you know In our, in this, what we're doing We're trying to change the world where, you know Everything is controlled by corporate media I mean, how many of you have realized that, you know All the news outlets are basically controlled by You know, five entities in the world Or whatever, five or ten or whatever, right I mean, it's, you know, you know what this is from This is like the big brother I mean, everybody is just getting fed The same processed information, right And that's not how you are going to be free You can't be free if you don't know the truth And if you're brainwashed, essentially And corporate media is brainwashed In its vested interests, political interests Whatever it is, it's the whole media, you know Industry is, you know, I mean Is this getting recorded? It is I won't say anything It's great, it's perfect Just read everything you see online It's awesome But, you know, we are powerless even to know The real story Because they don't want you to know You know why LSD was banned in the US? Because people started to think And started to question There's nothing wrong with LSD The guy who invented LSD did it every day Lived up to be like 97 years old, right And he was, you know, perfectly fine And he had no Alzheimer's and like all that other stuff So they banned it because they didn't want people That's what it is That's the world we live in And if you're not aware of that, wake up, right Because this is who we've become We're just sitting there like, you know Just getting fed, you know, like mushrooms Getting fed, kept in the dark and getting fed bullshit Right So that's what we're trying to change We want to change that And, you know, sort of one media company at a time You know, we want to make independent media possible Because today, where's the source of truth? It's bloggers, it's Twitter, right People who are not controlled by, you know They just say whatever they want And of course there's huge amounts of noise But that's the price we pay and that's okay But at least there's some level of truth out there Right So that's what we want to encourage The rise of independent voices So we can all wake up from the, you know From the matrix, essentially That's really what's happening I mean, if you go deep, this is pretty scary stuff And freedom only will come when we actually know What's going on We get to choose how we react Because right now we're just, you know We're all on autopilot And so the question is Who's going to usher in this new renaissance? Who's going to make it possible for these, you know Free thinkers and speakers to actually thrive And independent media to actually thrive And be real and plentiful How's that going to happen, right Who's going to simplify the landscape I talked to you earlier about all the different pieces You need to run a media company When back in the, like, you know Maybe 15 years ago before Blogger Or Blogspot or whatever it was called You know, it was not that hard to start a blog I mean, what is it, HTML And hosting it somewhere But that alone enough Was sufficient to have basically nobody to it Right And when Blogger came out One click and you know You get a blog, you know And that's up and running You all know what happened It's like everybody has a blog So who's going to simplify this landscape, right I mean, this landscape is nuts There's like thousands of things that you've got to do To just get something off the ground And by the way If you're not making money in the media space You're going to die So it's a very real thing It's not just about, you know Philanthropy and just helping you You know, it's important That's important But you need to be able to run a business So we, so this So when you think about starting a media company And so on You need to think about all the different pieces You need to run And making money and all of that And being a viable, self-sustaining business Right So who's going to take all this craziness And simplify it Who's going to be the apple Of the next digital media platform Right And how are we going to do this This is a very entranced space With like thousands of players And it's complicated And it's just not been innovated in And all of that Right So our question is At what we're trying to do And why we're going to pick functional programming again Is that can we make this as easy as blogging Can we make all of this complexity go away And just make it work Right That's the challenge, right All these moving parts And, you know, the complexity The change that's happening In constant basis I mean, TVOS came out How many media companies Are going to jump on that bandwagon And if you're starting a new one today How long is it going to take you To build a TVOS app And that's like You're not even going to think about it Right So And the problem is that, you know If something that you're new That you're offering Isn't like 10x better By the way, this is another startup thing Right If it's not an order of magnitude better It's just not worth it For them to change And take the risk Anyone, right I mean, if something is like Double better Yeah, it's like cost To make the change And like your comfort zone And learning And, you know, hoping it works And it's got to be like a big It's got to be a lot better Right So the question then We are facing at Quintype is How do we do all of this complex stuff How do we make it 10x better During the same constraints We talked about Right Change the world Right How do we do all of this stuff Right And again, the 80-20 rule applies Right Just do the 20% stuff That gives you 80% of the value So don't build the bloatware If you want analytics Don't use omniture Right Use what we're building Small things Small pieces Building the integrated components The little things I talked about Those, you know That's kind of the landscape That we're building here Right So that's what I'm trying to say I mean this thing is All of these things The modules for all of this I mean monetize each of these things There are companies in the space today AdTech is a huge space by itself And you know Whatever Pick your thing Email marketing Companies So what It's a very ambitious idea The roadmap at Quintype Is extraordinarily ambitious And I'm You know Admitting that Right But I think it's possible If we are If we do this right If we take a different approach And people in this room For example Are perfect for that Right Functional programmers Right The SEAL Team 6 Of programming That's kind of what we are Going to go in with Right So That's really what I wanted to say This is why we are Sort of here And so on But You know Really the real reason Why you want to use Functional programming Is Because it's badass And here's the man burning It's a 70 foot tall You know Structure that Goes on fire On the last day And It's amazing It's pretty badass Just like functional programming And startups And The G36 In Call of Duty For sure So That's basically it We have a few minutes for questions And I just wanted to say also That the party That we had yesterday In the Quintype hotel room Continues today Lots more alcohol So come over Some of you were there We had a good time And which is also why The slides only got done this morning But hopefully it worked out And you guys Took something Will take something from this But yeah Open for questions For a few minutes If there are any Well it's easy to find me And Room 330 If you want to come by Have a drink And then ask the question That's fine too It's easier for me To answer it as well So Thank you everyone