 Thanks my wife Maggie and the dog say hi So I don't know where to begin so this is an interesting talk for me This is the talk especially for you, and you'll see why in a little bit What I'd like to talk about is the idea of joy, and I'm not talking about the idea of playing a game with with with your one of your kids or But more the joy that you get when you write the perfect function when you When you find the perfect abstraction when you like going to work in the morning When you have this energy that drives you to be more productive. That's the joy that I'm talking about You might call it a personal passion but one of the things that I'd like to do is talk about this topic in and a shared language So we'd like books and we'd like programming languages So I'd like to kind of use that as like the cornerstones as we go through this topic together So back in the day Nice job. It's setting to set me up here. Duresh Back in the day. I wrote this book called bitter Java at the time I was a Java developer and I was only a Java developer So how many of you at some time in your career have said there's really No difference between programming languages. It's all about the community Yeah, so that's so there are other people out there that would be raising their hands, too They say oh, yeah, my my brother had that idea once right But it's it's it's the very much the view that I had and At some point At some point I found myself at IBM Then I saw all my friends leave IBM to join startups and I saw them become millionaires And then I said I want to leave IBM and become a millionaire So I joined a startup called I can called What was it called? It was called all my stuff and it was a horrible idea and it was right before the internet bubble burst And I went down with that startup And I thought I'll go back to IBM and they said no you can't go back to IBM So I said I can write a book right so I wrote this book And I think it's a terrible book with a great title And if you look at the reviews you'll see that they say it's a terrible book with a great title but This book was put out before the internet was really popular before Amazon was was putting books out and One of the things that happened was that people started talking about Why bitter Java was written right they started talking about oh this this book is about About sticking it to the man this this book is about saying oh this Java the evil Empire And it wasn't about that at all as Nore said it was about people making mistakes in Java and how to avoid them But the other interesting thing about this book is that for one hour This book was number eight on Amazon between Hawking's and John Grisham I Mean for one hour right and then it kind of fell And it kept falling and it kept falling to you know probably it's all time low right now But at some point I I was actually broken out of the of this funk by a guy named Dave Thomas and It's okay. You can applaud. I love Dave, too Yeah so Dave is a very good friend of mine is actually a mentor and He gave this this advice in in a in a book called the pragmatic programmer and He didn't give this advice to me in quite this way You see I I caught Dave who is the consummate British gentleman at a at a low moment he had been giving talks all day and we were on a train we were on a speaking tour and We were on a train going back to the airport And I kept asking him about Ruby but in a pretty aggressive way because I was interested, but I was a little bit afraid and It was coming out as like youthful arrogance and So I kept saying surely Surely Ruby can't do this the way Java does surely it's not surely it's not fast enough and finally The consummate British gentleman Dave Thomas said Bruce shut up Do something non-trivial in Ruby and then we can have a conversation And I did and it changed my career so Actually it changed my career more quickly than I'm well then then I would ever be willing to admit Probably four months after that conversation this book came out And I went to this this symposium called the server side symposium. Does anybody remember the server side? Yeah, so this was a hot site for for discussing Java server side programming and I was on this I was featured on the site a lot because I used to write editorials I used to do commentaries and things like that And the reason was that one of my one of my good friends was Ed Roman and he was one of the founders of the server side and He was he was helping me get started well, I was at the server side symposium which was a conference in Europe and This reporter wanted to ask me about this book So this book was really about saying hey pick your eyes up. Your Java career is not going to last forever you know, I Guess this was like 15 years ago now So maybe that wasn't good advice, right? but but the idea was to pick your eyes up something else is coming and you need to be paying attention or or your career could be in some peril and So the reporter asked me a question Kind of a gotcha question. He said so Bruce you think Java is dead, right? And I said, no, no, no, nothing can be further from the truth We'll always be using Java just like we're always using COBOL right now. So what I mean is Deadlight COBOL not like Elvis right and so The next day on the on the front page of the server side. There's this big old quote Capital letters, right? Bruce Tate says Java dead like COBOL, right? And so I needed out From Java to Ruby, right? so I Needed to establish a Ruby business more quickly than I expected to and One of the things that happened when Dave introduced me to Ruby was I'm a dyslexic and that means that I don't process words the same way that you do the a lot of the symbols are noise to me and and they need to get out of the way and Ruby had this wonderful freeing capability for me to kind of Disappear to the background where I could focus on the programming problem and Funny thing about this book was that a lot of American companies were having the same kinds of problems They were they were getting lost in all the abstractions and all of the the ceremony of Java and We weren't solving complicated problems at the time We were taking a big fat relational database and we were babysitting that with a web-based user interface And we were writing that same application over and over and over and you didn't need that big fat application stack to do it So funny thing about this book is that in the United States? It wasn't that popular Because by the time the book was out everybody said hey, we're ready for this thing called Ruby But in Japan the same thing wasn't true and the book was was really important to people in a way that I never really understood And so I was invited To meet One of my one of my idols This is the creator of Ruby mats and I love this picture I was just looking for a picture of him and I like this one because I bet he's been asked that question thousands of times Why do people love Ruby? And he says I guess people love Ruby because you know, whatever But when I spent time with mats I'm drawing that trip to Japan He ooted he he ooted he oozed this piece this calmness this This inner peace and joy that is difficult to describe And the funny thing about it was the community around Ruby Kind of took those took those ideas to heart and they started to take on mats as personality so much so that there was this acronym You guys heard this before Minneswan right mats is nice and so we are nice It's wonderful wonderful man So I was at this conference and I'll probably get some details of this story wrong, but I'll go ahead and tell it anyway So this was the first time that I'd ever speak into more than a couple hundred people there were maybe Somewhere between five hundred and a thousand people at this Ruby Ruby world conference and most of them did not speak English so they were native Japanese speakers and so I had to deal with the translator the first time in my life and Like every young arrogant speaker I said well, I'm gonna break all the rules and I'm gonna tell a bunch of jokes right So I said I'm gonna tell I told the translator. I'm gonna tell these four jokes and when I tell these four jokes You're going to you're gonna translate them, but if nobody laughs at the first joke, I'm gonna skip the rest of them right so I told the first joke and I was really nervous and everybody laughed and Then so I said okay And I got into it and I told the second joke and everybody laughed and then by the time they got to the third one This audience was rocking and I'm thinking I am the greatest speaker of all time And I got to that fourth joke and I said man I own this crowd and then I sat down and matches next to me and he's looking down and typing And he has a little bit of a little bit of a grin and a snicker And then I asked him what the translator said and he Started working on an email and turning away from me a little bit, which is very much unlike him and I said Matt's how did they translate that joke and He finally turned around and said mr. Tate told a very funny joke. You will laugh now So that was a great moment right it's that whole audience was joyful because I was joyful and they were feeding on that I Was the joy I was the joke But this is very very Matt's right This very much caught the spirit of the Ruby of the Ruby language that I remembered That that people felt joy coding it because the language would get out of the way This is an example of a Ruby program and you could see that it reached kind of like English It had this this great way of morphing around the business problem that you were trying to solve in this case building web endpoints So It also had this glorious and terrible capability of letting you open any class at every time at any time and changing Fundamental semantics that were going on inside Really useful and a really terrible idea right called monkey patching But I loved Ruby beautiful syntax very low friction And I love the idea that I could get started really quickly and there weren't many compilers And so at this point I was working at a company called I can make it better And I was starting to get rolling with Ruby This was like my fourth or fifth application that I built with Ruby as the head guy That I built up from scratch and I learned some of the tricks when to cash and when not to cash By the way the correct rule. It's never right cashing is a deal with the devil always but Yeah, so I was using I was using Ruby and I was starting to second-guess this idea right because compilers are there for a reason and So what I can make it better I started looking for a Way out right. I started actually looking for ways to to rewrite the application So out of my fear I started researching What the next programming paradigm was going to be and what the next language in the programming paradigm was going to be I Started writing seven languages out in seven weeks out of fear and Then we eventually published the book just to invite others to go along on the journey with me And I never thought that it would resonate with anyone. I never expected it to sell at all Much less to be famous for it. I mean some of the code if you've read it some of the code in this book is terrible and I'll I'll tell you it wasn't It wasn't as bad after we published it as it was when we first wrote it But the guy who wrote the forward for this book is Joe Armstrong great picture of Joe He passed us last year and I really miss him It was a good friend I remember being in Stockholm and What are there about a hundred people in this room? Maybe a few more? so picture cafeteria about this size picture me sitting like maybe in the middle here a Middle front and Joe sitting in the middle back and me having like the casual conversation Not with Joe. He's way across the room, right? In me making a comment about Erlang's syntax and then somebody Joe standing up in the middle of the room there saying What do you mean Erlang has a beautiful syntax? Yeah So he had this joy about him Well, we were coming from vastly different places, right because Joe was used to used to something else I was used to this ruby thing This is the thing that Joe said was beautiful, but he was coming from a different place, right? He was coming from prologue and I said That makes a little bit more sense now that I know that and he had this He had this crazy way of bringing everybody around Bringing joy into everybody around His joy of programming languages his joy of crazy ideas. I remember one year The second year that I've been invited to you see the Erlang user community in Stockholm. I Remember Joe saying Bruce. I think I'm going to learn the jazz piano I said what? You know just this crazy preposterous idea, right? And so so he had this new huge piano in the middle of this tiny room, right and You know he could barely play chopsticks on it And the next year I came and he was playing a jazz piano You know not great, but not horrible either and there was there were like dozens of people standing around listening to him Joe was crazy So the way that I met Joe was when I actually wrote seven languages in seven weeks Joe Joe was the first person that I asked to review a chapter I didn't intend to I said I've got this Erlang chapter. I don't know anything about Erlang I've only been writing it for for three weeks and then my my editor says why don't you send it to Joe and I was just terrified, right? So I said okay, okay So I sent him this I emailed it to him and I get this I hear this this Enthusiastic email come back and he says oh you mind throwing in the prologue chapter as well and I said great That's two languages. I know nothing about right and I'm giving it to the creator of the language and I didn't hear anything for a while and then then I got this tentative note from my editor Saying I need to talk to you right because Joe would send him a note to her that's saying I get the sense that this author understands Erlang very well Right, but I don't get the same sense for prologue this prologue chapter is in trouble so I Said what the heck and I just I put my pride to the side and I just called Joe Armstrong and We worked and worked and worked and and he was you know, I Picture him laughing and smiling the whole time as he's teaching me prologue And and sharing his joy This is some of what was in seven languages in seven weeks So prologue is full of facts like you might have these little facts that says Velveeta is a cheese Ritz is a cracker Spam is a type of meat and then there's some flavors like sodas are sweet desserts are sweet and Then there are these inferences So there's a if a food flavor If there's a food flavor X and Y that implies that food type of X is Z and flavor of Y Is Z and so you can make inferences like that and then you could ask prologue to ask these questions. Hey, what what? types of food or meats and Prologue runs through the possibilities and replies spam and sausage and then you could even ask about inferences and say hey prologue what foods are savory and Prologue will run through those one through those and and Match and run through the iterations and find the things that make it true and say, okay. Yes Velveeta spam and sausage or savory But then we got to this this problem that Joe suggested. I had a pretty ugly problem But Joe suggested replacing it with the map coloring problem and he was very patient with me He probably taught this exercise. I don't know maybe a couple hundred times and he probably At least run this type of program himself that many more times But over time I came up with a solution and it was just jaw-droppingly simple These colors are different from themselves There's a coloring of Alabama, Mississippi, Georgia, Tennessee and Florida such that and then you just list You just say the colorings of the individual states have to be different and prologue If you ask it, what's a coloring? It comes up with the answer and when I made this run Joe was laughing laughing Because he was sharing his joy of prologue because someone else was calling what Joe called a Prologue moment and I really miss him But that wasn't the only language in seven languages in seven weeks I've since gotten to know a man named John Hughes one of the the creators of Haskell and Just recently I got to spend some time with him as he as he came to Chattanooga to host a conference that we ran and He answered this question that somebody asked about about how he finds Erlang Erlang in Haskell which have very different philosophies And I love the way that that he expresses his ideas here So I'm very much a fanatic of technology. I love it very much. I love it and very much enjoys seeing That it's finally bearing fruits See John loves taking problems and formalizing them and generalizing them so that he can automate them Your quick check is a marvelous invention so I was working with with Ruby at the time and I was finding problems like this popping up in my code base Because we didn't have compiler errors, right? You know because like if you take a you take the first element of a list that might be nil and then you take the ID of the nil thing and that throws a null pointer exception and I was starting to hit a wall with Ruby And it turns out that somebody else was reading seven languages in seven weeks. That was a guy a Brazilian man currently living in Poland named Jose Valin. He's actually the creator of the elixir language and So I jumped on a plane jumped across the pond and stalked Jose to to London where we worked in a conference together and we we shared a lot of moments and And I decided that I loved elixir and and we started working together on on getting this language adopted and So over time I got to appreciate that the thing that loved that that Jose loved about elixir was that it was explicit Especially the complicated parts That was very much unlike my experience that I can make it better So this was one of the most joyous times in my career We were actually I mean think about think about the audacity of saying I Need something that's not Ruby. I Need a language that that I really feel and Then launching a language to help make your startup succeed That's basically what we did with with elixir You know, I won't say that I was in the middle of the of the development of elixir But we we definitely bet on it really hard and really early but after a while I can make it better got acquired and Those joyful moments Started coming much more slowly And I found myself in a bit of a crisis There's something that you need to know about me about Seven years before I missed an insurance payment And I was training for a marathon at the time and you know, I would run 16 miles. I Just run 16 miles. I was was told that That I needed to get a test an EKG test to so that I could be insured again and When I had that test taken they said you need to go to the doctor now So I did and I found myself laying in a gurney like this in a hallway like this and being wheeled into surgery Not a major surgery a very minor one with the incision would be a couple of millimeters But it seems I had a problem actually two problems in this Left anterior descending the lab artery, which is called the widowmaker. That didn't sound like a good name to me So I woke up in the middle of this surgical procedure and everybody was surprised that I woke up but To the doctor's credit. I mean I didn't feel any pain or anything. They had local anesthetic and stuff So to the doctor's credit he recovered quickly and started talking me through what he was doing and So he squeezed this bulb and The bulb injected this dye and you could see everything get dark like it is in this chart and you could see This thing that's supposed to be straight turned into an hourglass so that was the blockage and then they Put this metal tube in the skinny one is before they expand it then they put a balloon in it pop it out and then that that expands and and Makes opens up the passage so that I've never had any symptoms since but Being a heart patient. We have to pay attention to things like stress. So I'm in this crisis moment I've lost my joy. I Was really thinking about my immortality because I knew that there's a tight relationship between Heart attacks and stress. I mean, there's no denying that right And I'm in the midst of one of the most stressful jobs that there is right so zooming in on this chart You'll wear a third from the bottom which is the worst place to be and you might say that this is an American problem But it's not an American problem. It's a world problem. And I think that sometimes we let Our joy or we let our stress spill out on to others My connection with Guido was that was also a connection of books. He actually signed a book for one of my mentees Man named Michael Dosa who was bullied as a kid African-American gentlemen Guido was very kind. He signed a python book and dropped it in the mail Straight to my friend Michael Dosa and this this kind Brilliant man has stepped down Because I Believe that so many so much of our stress is spilling over Onto the creators of the things that we love so I didn't like what I was becoming So I packed up my family and we moved to Tennessee And we did the thing that you do When you want to reduce the stress in your life We started a business. I don't know if it's a good idea yet. I Like the logo though. You like the logo There's a word grok right to understand I get it. I grok it He groks it That IO is really ones and zeros So grok's ones and zeros Understands computers computer languages That's what we're about So we started thinking about what makes an elite developer and We built a product and way before we were ready in that product. We put it in front of my mentees And it just didn't work not like we wanted it to not without intervention so we started asking a lot of programmers questions and We got answers back that we didn't expect it wasn't The the lessons that made them smarter So we went back to the drawing board. We found this this study done it at use University of California at Davis and They they did this this Seemingly wild study They wired people up So that you could see the activity in their brain and they said hey, I Mean, can you imagine having having all this brain stuff all over you and somebody asking hey What Beatles single lasted the longest on the charts? I Wouldn't be thinking about anything right now, but it turns out that they did they got curious and when they did Centers of their brain lit up and they were the same the same brain centers that sparked dopamine Let me say that another way that curiosity sparks joy and this was really cool to me Hey the answer learn more Learn stuff that makes you curious right, but then there's inevitably the problem of that manager that says Hey But if you're taking less time to do the same work Isn't that working to be less? So that's a problem, so we said let's sit on that for a little bit Then we started talking to more people we talked to this place called the Chattanooga STEM school science technology and and math and We ran across this this school that had this great computer science success And I asked the teacher What's your curriculum? Because I wanted to you know steal his ideas and sell them, right and he said nothing We don't have a curriculum what we do is we plant We plant a need we plant a bug we give them a problem that is so Intensely interesting and curious that they have to go learn to code to solve it Turns out there's some science behind this So joy sparks motivation and there's more science that says joyster sparks productivity This shouldn't be that interesting or that new to us, but it kind of Made a light bulb turn on for me So that when people say hey, I'm going to take less time to do work So that I could study the stuff that makes me really curious, right? And then I'm going to I'm going to push on that stuff and I'm going to turn on different receptors in my brain and when I do I'm going to be a much better developer so that I can do more work and Eventually that'll turn into a surplus Said another way that learning in this way is sustainable. So that's where we're going. We're basically Moving towards being a tour guide for programming languages You know partially to kind of jump off Jump off the things that were causing me so much stress and do the things that I love more like writing like video like interacting with users Talking to people like you but partially because it's the right thing to do Let's say that you want to build a ship This is one of these quotes that floats around the internet and doesn't have clean attribution But it rings true to me. So I'm going to read it anyway If you wish to build a ship Don't divide the men into teams and send them into the forest to cut wood Instead teach them to long for the vast and endless sea. So you want to write better Java? Learn some pony This is so Sylvan Has very much the opposite approach that Matt's did and that's really interesting to me It isn't about getting out of the way It's about enforcing things and actually building guarantees into the compiler So that we can have we can have message passing That's copy-free and Even with some mutability in it But it's coded in such a way and the type system is in such a way that if it isn't correct it won't compile Said another way that the thing that gives Sylvan joy Is compilers So I have a challenge to you To make some time and I'm not saying steal some time from your families That's the opposite of what I'm saying What I'm saying is do the hard work of thinking about your business day about thinking about your business processes because Many of the leaders that are that are going to be creating companies are in this room right So make time To discover the things that make you curious The things that you like The things that you don't like and I want to close things out with an emotional moment that I had In preparing for this talk So I was looking for some quotes about the importance of learning programming languages and And I ran into a quote that I didn't recognize at the time And I want to read it for you now a Zen master Might tell you that to be better at mathematics you better study Latin Thus it is with programming to better understand the essence of object-oriented programming You should study logic or functional programming to be better at functional programming. You should study assembler Today not only can we read about the ideas, but we can try them in practice This makes the difference between standing on the pool side Wondering whether it will be nice to swim and diving in and enjoying the water What's cool is that this quote Was by Joe Armstrong and it was the forward for seven languages in seven weeks The joy is in the journey