The Elixir Outlaws now have a Patreon. If you’re enjoying the show then please consider throwing a few bucks our way to help us pay for the costs for the show.
Episode Transcript
Amos: Welcome to Elixir Outlaws, the hallway track of the Elixir community.
Francesco: We're live, ladies and gentlemen. Yeah. So, uh, let's start wrapping up the conference. Um, so yeah, I, I usually close the conference, but it's, uh, and this kind of suggested close because you know, when the Outlaws, you know, take and then Elixir Outlaws takeover, then, uh, yeah. Then it just, yeah. Uh, th th they'll never finish and then no one would want to listen to you Francesca. So, yeah, I think it's really, really important. Yeah. I hope you've all had an amazing few days. Uh, I hope you've all learned a lot. Hope you've shared your knowledge with others, and as a result, you're gonna inspire the others. Um, I think in the last few days, we've, w we've both made and documented history. I think, you know, it's a really, really kind of exciting eye-opening keynotes and your fireside chats. And you know, what my take home is you're seeing and, you know, seeing the direction we are all together envisioning the whole Erlang ecosystem taking in the coming years. So it's, um, it's not goodbyes, but it's a, as we say in Italy, "arriverdeci," it means see you soon. And before doing that, you know, I want to start thanking everyone. I want to start thanking all of the speakers, uh, who gave a talk today, yesterday, uh, Wednesday, all of the track hosts, all of the volunteers. Why don't you all unmute yourselves, uh, Basha, allow everyone to unmute themselves and make a lot of noise. Can we just hear this big uncoordinated? (sound of 1 person clapping)
Speaker 2: Clap-Clap
Francesco: Clap-clap, yes, big thank you.
Speaker 3. : Woo-hoo. Woo. (more clapping)
Francesco: Thank you. I think works much better than trying to sync together. You don't pick the latency. So yeah, that big, big, thank you to everyone. A big thank you to an amazing program committee who not only helped solicit talks and know, went in and tried, you know, pick books they believed you would be interested in, but also helped select talks. And, uh, yeah, everyone who contributed to ask me anything sessions, uh, the fireside chats, the panels, you name it all sort of think a lot of the kind of informal chat rooms, uh, you rock, I think it's, um, and you notice by the way, uh, attendees, you know, we've gone from 300 when we started by the time, by the end of the first day, we're almost up to 350, so yeah, it's, uh, it's been great. Um, I also, before I go in to thank the sponsors, wanted to thank the dream team. We've got, you know, Basha, we've got Ave and Ava and John and Michael and Anthony, and yeah. And probably lots of others who are here at ESL, who, whom yeah, I'm forgetting, they never prepared a slide, you know, thanking themselves. And, and then the, I always go in and then they remove it. So a big, big, thank you to them. Uh, you rock, you're an amazing team. And yeah, I think a lot of the kind of interaction your seeing, a lot of ideas we've implemented comes from, come from them. You know, we're very much, as I said earlier, focused on the community, but the community wouldn't be there without the support of companies who makes these events possible and affordable. So a big, big, big clap for our diversity inclusion sponsors, which are PepsiCo and the Erlang Ecosystem Foundation. They allow a lot of, um, kind of underrepresented groups in tech and students to come in and attend, uh, the conference. Erlang Solutions has gone in and, and matched, uh, matched the number of tickets. So, uh, you know, I think, you know, you really made a difference and hopefully, uh, you know, this difference will be noticed in the community in the years to come. Anyone out there, you know, you should speak to your employer and you should get their logo up here. And, you know, you should get them to actually come in and sponsor diversity, tickets, diversity, and inclusion tickets in the upcoming events. The more of us we are, you know, the better it is for everyone.
Francesco: Uh, we've got planning sponsors, a BlockFi and The Real Real. BlockFi would provide wealth management products for crypto investor. Uh, crypto investors needs all powered by blockchain technology. And The Real Real is a leading is leading the way in authentic luxury consignment, online and real life in the brick and mortar location. So, uh, I think they're both recruiting. I hope you visited the stand and yeah. And, uh, yeah, looked at the job ads. We've got gold sponsors Frame Io and Erlang Solutions and, you know, ESL, Erlang Solutions to build transformative solutions for the world's most ambitious companies, uh, by providing user-focused consultancy high-tech capabilities and a connection to a diverse community and Frame Io is changing the future of how videos are made for helping over a million creative professionals, seamlessly collaborate from all over the world. So, so a big thank you and a clap to, to them. And finally, silver sponsors, Binary, Noggin, and Mux, uh, Binary Noggin is a team of software engineers and architects, uh, who serve as trusted extension of your team, helping your company succeed through collaboration and Mux develops infrastructure and monitoring tools for developers and publishers of online video. So a big, big clap, all of them.
Francesco: And let's not forget our media sponsors and our media partners. So Elixir Radar, Elixir Podcast, and Clever Bunny and Clever Bunny, were the ones who made the quiz possible this year. So, so big, big clap to them. So these are the big Code BEAM winners, uh, Brujo, Emma Brujo, who in 20 free seconds and 396 milliseconds you, has won o the competition now is Emma Brujo really, really Brujo? So, you know, he is here. Okay. So sorry, everyone else. I was going to get you a beer and a drink when we're in the same city. If you were able to beat Brujo, if you were not able to beat Brujo, so he wins again again again. Okay. We need to, yeah. Uh, Amos, uh, Lukaish, uh, Titiania, Well, sorry about that. It's uh, yeah, well, you'll have to beat him next time and then I'll get your beer, but, uh, Brujo, you win a $50 Amazon voucher.
Francesco: And if you prefer some local retailer, let us know, we can abide to that. We can easily handle that. And, uh, all the passport contestant winners, we've got a Brujo, again. I think you're bribing someone here Brujo, You know, it's a, yep. We've got John Phillips, Chanel Dunke Spareil, Conrad Taylor and Brandon Gotlieb, you know, a big, big clap to them and a big thank you to all our sponsors for making it possible. Now it's, um, as I said, it's not a goodbye. It's a see you soon again. Uh, we got Code BEAM V EU happening the 19th to the 21st of May. So that is when we usually have Code Beam Stockholm and we're sticking to the dates, but, uh, we're keeping it safe even though we are, and we're doing it virtually, we know, really hope that after the summer, the 8th- 9th of September, we'll be able to meet at Elixir Conf EU in Warsaw.
Francesco: Uh, we've already booked the Hilton and we hope, you know, it's going to be, yeah. W we hope that the situation would allow us to meet in person. At least we're optimistic. We can go ahead with it. And we've also booked, uh, the Computer History Museum in Mountain Biew, and we've done that for the 4th and the 5th of November. So yeah, again, meeting virtually was just a placeholder to actually meeting in person. We, again, hope to really, really hope to see you there. And, you know, there will be special tickets, um, you know, combo tickets available for everyone who who's, who's attended at a very, very special rate. You expect an email coming out soon, right after, uh, right after the conference. So this, uh, you know, please leave feedback. You will be getting an email right after this. If it's not already being sent out with a survey, we really want your feedback.
Francesco: I think, um, of all of the virtual events I've managed to attend, uh, in the last year, we're probably talking 10 or 12. This has been the virtual event where we've really managed to create what we call the Joe Armstrong effect. For those of you who knew Joe Armstrong, he used to often stand, you sit in the front row and there's some speaker, maybe the first one, whoever, speaking, see Joe Armstrong. And then they'd get scared of then he'd go in and he'd start commenting and adding, you know, views and, and, and, you know, getting all enthusiastic and start interacting. And these conferences are, you know, are there for that and these, but also for the speakers, you know, to meet our speakers and interact with those listening in, on their talks. And I think, you know, we've formulated, we tried the concept, which we think has worked really, really well, you know, through fireside chats, more panels, and a much larger space reserved for Q and A.
Francesco: So, uh, you know, and this has been made possible thanks to all of the comments, all of the feedback, uh, which, you know, you've all left in the previous events we've been running. So please tell us what you fought these, tell us what we did well, please tell us what we should be doing better. Uh, we really value your feedback. We really value your opinions, but not only, uh, you can win a free ticket for Code BEAM San Francisco, uh, which is well not so cold. We'd be San Francisco Bay area this November. Okay. So it is now time for you to head over to the Outlaws, the wild, wild west. And I, I almost fear your what, what, what they've got reserved for us. Um, but you know, once we're done, we'll then meet in the, in the, in the Toucan lounge and, and go in and discuss it. So over to you guys, thank you so much for, for being here, uh, this evening. Uh, well, it's afternoon on your end. Really, really appreciate it. Thank you.
Amos: Thank you for having us, Francesco.
Anna: Yeah, thank you for having us.
Francesco: It's always a pleasure, yes.
Amos: It's great to be back. So I don't know. I kind of want to start out like, Raoul, friend of the show, Raoul, asks a question here. He said, "Is this the show? " And I have to say, Raoul,
Anna: Is it?
Amos: It's not, we got to wait.
Anna: We gotta wait?
Amos: I've been sitting here all day, wait until I stand up and then that'll be the show we'll just start.
Anna: Alright, well hurry up and stand up.
Amos: And my desk is not going any faster, guys. This is how we start, like every episode. This or talking about coffee.
Anna: Well, usually Keathley's late because he's making coffee.
Amos: That's right.
Anna: I'm always known as late. It's fine. It is the show now, yes?
Amos: Okay, perfect.
Chris: Perfect. Listen, we, we always have this debate. I come in recording immediately. Uh, this is not interesting to anyone. Uh,
Anna: Nope. (laughing, pause). You have to explain it now that you started.
Chris: Explaining what? I don't know.
Anna: Oh, okay, never mind.
Amos: You come in, come in and recording you.
Chris: I always, I always- Listen. Whatever's in the show is in the show. And the show is the show. So whatever goes into the show goes into the show. We don't edit it out. It's just the show. So yeah, you just record the call and then we're good to go. Um, how's it been goin'?
Amos: I'm doing great. I've I've uh, the reason I've been in this chair for three days is because the conference has been fantastic. Um, my favorite part always has been the hallway track and Toucan, has been a really amazing piece of software for the hallway track, uh, to be able to bounce around from table to table and see people going across the room. And, uh, every time Frank Hunleth logs in, I just start sending him hearts over and over, no matter where he is. It's really awkward cause everybody else gets to see the hearts float across the screen from me to him for like five minutes.
Anna: That's awesome I love it. And you just did a fireside chat, right, right before this. How was that?
Amos: Yeah. With, with Frank actually, uh, I, I couldn't send him hearts in front of everybody there. I would have-
Anna: Oh, you forgot about that?
Amos: Yeah, a little bit, uh, yeah, we had a good time with Frank and Justin and, and catching up with them. I'm excited about the day when we can all do this in person again, but this has been like the next best thing, it really has been, uh, Toucan, I can't say enough about it. Uh-
Anna: Is this the first time I've used Toucan?
Amos: It is. It is. And I was, I was pretty thrilled. At first, it took me a minute to figure out how to talk to people. And I noticed that when people are talking, it like vibrates a gray ring around them, and you can tell the people who have never used it before, because they're off by themselves in the gray ring is, is going like this over and over and they're all alone. So, you know, they're like, how do I, how do I do anything in here? But, uh, you pretty quickly figure it out. And it's, it was great . Got to talk to some, some pretty cool people and, and, uh, meet up with, with, uh, some new faces and some old faces. So,
Anna: That's awesome.
Amos: You know me, I'll just hang out all day, if they let me.
Anna: This is true. Keathley, how you doing?
Chris: Good. I'm good. No, it's been good. It's been fun. It's, I've, I've really enjoyed watching the iteration of conference. And we actually talked about this last week, an episode that is going to come out soon. And then when we talked about this, I think last time we did, one of these podcasts is like the idea of having a conference move virtually, uh, is a really interesting opportunity because you can start to take advantage of some of that stuff. And obviously, like, I love going to conferences, I love seeing people, love hanging out with my friends and all that sort of stuff. I love the hallway. I love all of it. It's been fun to see how to take the good parts of that experience and then adopt them and make them work online. And it's been, you know, we now have had a year of practice at it or whatever. Um, but it's been, it's been really good. Uh, so I've been just enjoying seeing the evolution of that, uh, start to take place. And I think that's really cool because it opens up, it opens up this whole thing where all this good stuff starts to happen, uh, to a much wider group of people who might not for any number of reasons be able to take advantage of it. So I really enjoy that. And I've been sort of just enjoying that aspect of it, um, more than even anything else at this point.
Anna: Yeah. Agreed. It's such a, it's a, it's often, like, I feel like at the beginning we were all transitioning and it was, that's the thing, like one of the hardest things to capture, right, is that hallway track that Amos was talking about, right. When you go to, I love going to conferences, and it’s for the talks, but it's also to get to see the people. So being able to somehow figure out how to extract that into a digital, digital experience that works then is super bad and it's not easy. So like figuring that out is awesome.
Amos: No. And, and doing, doing the live podcast. So this is our fourth live podcast, fifth live podcast? Something like that. Uh, so we w- some of them were on stages and, and these are in this environment. And when you're like everybody, who's, who's watching here, please, like, stay, say stuff in the chat. Um, talk to us, give us feedback, because, uh, when we're doing shows, normally the only feedback I get is from like Chris' microphone. Uh, and, and, and then when we do, when we've done live shows on stage, it's very different. Here, we get to be more interactive. We get to see what you're saying. Um, it's, you know, that, like, whenever I say something dumb and you snicker at your neighbor about it, just go ahead and do that in chat now, because it's fantastic whenever I get to see everybody interacting, and that's not something that we get to do whenever we're doing an in-person conference up on a stage, uh, even for speakers, you know, we, we have Whova over here on the left and we have chat and we have Q and A and everything's going on at once. And there's a lot to like, watch and keep up with, but it is a different experience that I have come to enjoy. The first, the first couple of talks that I went to at a virtual conference, I was like, oh, no, this is, this is not going to be the same. And you're right. It's not the same, but it's still a lot of fun. So, so please participate. That's what makes this one special.
Anna: Totally, totally does. Um, somebody just asked how many times did he just say show. I think that was a lot of times.
Chris: Yeah. It was seven. I'm gonna say seven.
Anna: Also, another question: Do either of, you know, what your kids had for breakfast this morning?
Chris: I know, I exactly know. This is, this is the, this is the hard hitting details that people come to this to find out, uh, avocado toast for my daughter, and then, uh, oatmeal for, for the boys.
Amos: Your daughter's super hipster.
Anna: I was gonna say, fitting in with the millennials already.
Chris: Yeah. Yeah.
Amos: I left my house. My kids were still in bed, you know, and when they don't have to get up and go to school, they're like, “Whatever, I'm sleeping.” Teenagers, you know.
Chris: Same. I feel the same way I was going to say, go ahead, and also, if you want to ask questions, we will respond to them. So, so go ahead and, uh, put preemptively, put stuff into there and we'll talk about it, in just a second, and we'll continue to shuck and jive for just a moment, uh, while questions come in. "Can I show off the books on type theory on my bookshelf? " No, because I can't out myself as someone who might, uh, use types. Amos, (Anna laughing) I have a brand of dynamic type typing apologist, and I must maintain that brand. That's, it's all about, uh, refusing to give in, even when you may or may not be wrong. That's how you have good brand.
Anna: Is that your brand?
Chris: I hope, uh, yeah. No, I hope, I hope so. I hope that's what people take away from. This is that's my brand.
Anna: Um, so did any of you get to, uh, sit in on any of the talks, any, any interesting insights, any favorite, favorite moments from the conference?
Amos: I already said mine is Toucan. Um, and I also, I, I took so, um, Oh man, now I'm going to forget his name. Carlos, I think, was doing, uh, um, sketch notes and uploading them into Whova. And it was pretty fantastic. And, and so I actually did sketch notes, too.
Anna: Oh, rad!
Amos: Um, he inspired the heck out of me, and I uploaded on there and it's not near as cool as his, but I'll take it.
Anna: Yeah. I can't draw, like, I can't sketch notes. Even for me, it would look like a disaster, like beyond like stick figures. My ability to like diagram things, well, quickly is terrible.
Amos: I just try to make different fonts everywhere. And I do that afterwards. I draw in straight lines and then go back at the end and fill in and change those straight lines into different things. And if you do lots of fonts, then people don't notice that you can't draw.
Anna: And it just looks cool. It looks cool. That's what I'm going for. Just to try and look cool. Anyway,
Amos: Add lots of colors.
Amos: Oh, there you go. There you go.
Amos: We have a, we have a question from, um, Daniel Craig who asked to be a friend of the show. So, so from Daniel Craig, friend of the show, "How can I help people I love to learn to program? You learn programming as a solo activity. So it doesn't come naturally to me to think of learning programming as a pair activity, but I want to help other people get great jobs." So how about any of that? Anna you, you have been teaching programming a lot over the years so-
Anna: How can I help people? I love blah, blah, blah. I'm trying to, just re-reading the questions. Sorry. Let me make sure I grasped it. (laughing).
Amos: Perfect.
Chris: Uh, Daniel, we apologize on behalf of Anna.
Anna: Yeah, no, I want to make sure I know, it’s not flippant, It's actually really important. I spend a lot of my free time trying to help people learn to program. I just wanna make sure I captured all of the, all of the question.
Chris: You read it again and we'll vamp.
Anna: Thank you, Chris. Amazing. Um, I think what, (inaudible) what was it? Nope, never mind. I'm just gonna keep going. Um, there actually a of, I mean, I wonder if it's programming in general, uh, but there are a lot of, uh, resources out there, like for like various communities that put together resources to help folks that are just getting into programming. Um, for Elixir, like as using Elixir as an example, I've put in a lot of time developing a curriculum, we're kind of in the process of rewriting it. Now it's a little bit outdated because we kind of paused during the pandemic. But as far as the question of like, how do you help teach somebody? I think finding one of those curriculums that are easily accessible. And then I think it's a matter of really just like sitting down and having the patience of walking through the steps with that person and trying to not only help them understand what's happening, but help them understand what's happening in the context of their own understanding, right? Because they come, they have, you know, certain things in life that they've learned and certain understandings that they have. And so not. It's like a combination of learning from first principles and by analogy, where like stepping through, stepping slowly with them, through something simple and being able to help them understand what's happening, but also in a relatable way. Um, I think pair programming, it's great because especially if somebody is new to programming, you know, you sit down at the terminal and the terminal itself can be really intimidating.
Anna: So just sitting down with them and having them go through the motions of being able to like patiently, slowly explain what's happening, um, while you're trying to build something. So you're not just like learning, uh, commands or whatever, but you're working together to do some, some simple project. That way that person feels like they've accomplished something and that helps them get excited about it and want, they want to continue learning. Um, I think that as far as the pairing aspect, it's really just a matter of being patient and being willing to explain and find- and when a collision doesn't work, sitting there and figuring out an explanation that resonates and then building upon that, if that made any sense.
Amos: Yeah. I, I have, I have kids that I try to teach the program and I found, for me, giving them their own project and then getting out of the way, but being physically in the same room as them, while they're doing it can be really helpful. And then when they do ask questions, uh, I guess, what is it, the Socratic method? I just try to ask them questions that they already know the answer to, to lead them to it. It seems to work really well for my kids whenever I'm teaching programming, not so well, whenever I try to teach them math and I'm like, well, what's two plus two. And they're like, that has nothing to do with it. So you've, you've got to judge each person individually and the situation that you're in, but, um, just being present whenever they're struggling can help a lot, you know, be that rubber ducky or whatever they we've called it over the years. Uh,
Anna: That's a really good point. The question that continual question asking like a rubber duck or the Socratic method, whatever you want to call it, like helps them further their understanding because it helps you figure out what they don't understand. And so that also helps deepen the learning. I think another point is like the frustrating thing I think we can all attest to about learning to program, especially solo, is that are those moments when you get stuck, right? Cause when things are going well, it feels good. And those moments where you get stuck, you don't understand something it's really easy to get defeated and feel like A, you can't understand it or you're incapable of understanding it or you can't move forward. So really being present and being able to help somebody work through those moments, um, makes the learning process a lot easier.
Chris: I think a lot of people, I know for myself, well, I won't speak for, I won't speak for a mass amount of people that I actually don't know. So I'll, I'll let me start over. Uh, I know for me, also being very self, uh, kind of self-taught in terms of programming, so much of programming is holding a weird mental model in your head, like holding arbitrary rules in your head and they really are arbitrary, right? Like there's, there's very few like overlaps with the rest of the world. And you know, like there's, there's only like loose analogies you can make, and so you have to be good at just holding onto a weird set of rules and then making intuitions about what those rules imply. And, um, I think my, my intuition is that those of us who are self-taught, one of the things that, um, defines like self-taught programmers is like, that comes very, that idea of being able to hold an arbitrary set of stuff in your head comes very naturally to you. And if that's the case, I think it is really challenging to figure out how to like explain that to other people. And so I like the idea of having a way to talk about those mental models, but I am like at best an armchair educator, which is to say, I have no real backing in education at all. And so I, this is all just me talking more than it's more than it's like actual well-informed thought.
Anna: Well, and there's more than one approach, right? Um, that's the other thing, right? People many people learn differently. And so I think it's, it would be, um, it would be a disservice for us to say that this is the one way that works. Right. Because that's really not the case.
Chris: This is a good question here. Um, "If someone, if I'm asked by someone on the business side about why use Erlang, Elixir, what would you say?"
Amos: Oh! I deal with this all the time, uh.
Chris: And you ask this question a lot, actually it's, it's fascinating. I get asked this question in a bunch of different venues from a bunch of people. So I think it's, it's interesting on a meta level that this question comes up a lot. So yeah.
Amos: I, I always try to figure out why are they asking. Because there's usually a pretty good, there there's something that they're concerned about. And no matter what we say until we figure out what they're concerned about and truly understand where they're coming from, we're never going to be able to communicate to them why use Erlang or Elixir. Um, recently I had a client asking me why, why should we do in Elixir and Phoenix instead of in Ruby and Rails? Because they had a lot of Rails experience in the background. And I started talking about performance and, and, um, not like non-blocking stuff and dealing with background job, because that has been really difficult in my experience in Rails, whenever you start to get bigger and bigger platforms, and it wasn't their concern at all. They had been on a project between the Rails project and starting this one that was in a language that wasn't well-known, that even when they went to look for people who had skills in it, when they were starting to get desperate, they went on the LinkedIn and searched and not a single person popped up on LinkedIn. And that is like, nearly a limitless platform. So their concern was actually being able to find developers. And I started talking about, you could pull people from other languages and train them. We have Elixir, we have Erlang people that can come in. And the quality of the people that I run into, and that actually led them to be really excited about it. The fact that they had in their previous experience spent a lot of time hiring people who weren't the greatest quality level in the world, and like getting ahold of people that came to work on their teams, that then they had to figure out how to, how to let those people go. This is not a nice conversation to have, and nobody ever wants to have it. But whenever I talked about, you know, the people that I've met in the Elixir community and the Erlang community, being thinkers and learners and people who want to push the envelope, then they were happy. Cause it wasn't about technology or the quality of the technology. It was about the quality of the people. So I went at it wrong to begin with because I had my preconceived notions of why would I choose Elixir, which is a technology reason, but I had to figure out why they wanted to choose it, why they were concerned about it.
Speaker 5: I, um, I was doing a con, I was, I was contracting with a company who was like experiencing the same stuff. And I, and I think the question itself is rooted in the, in the, in a sub question, which is that, like, the company doesn't want to use Elixir. So how do I convince them to do so? It's like, um, cause otherwise like this wouldn't be an issue or Erlang or whatever, you know, your, your BEAM language of choice. And I think that you have to, yeah. I mean, you have to figure out what it is like that's keeping, that's like stopping those people from adopting, right. And I don't actually think you can just provide benefits, um, because the benefits cause unlike programmers who see the benefit of everything and the trade-off of nothing and will make any decision based on any arbitrary benefit that they see, like businesspeople do have like totally different rubrics for how they like make those decisions. So I think that you have to figure out what it is that's really like motivating their decisions, um, and then work to alleviate those pain points. So those are going to be different on a business by business basis. I think there's very, yeah. I mean, it's often going to be optimizing for like, I want to have a hundred X startup, mega growth and hire a thousand people tomorrow and that sort of stuff. And it's like, um, I, you know, I don't know what to do about that situation. So, you know, you have to figure out what it is that's keeping them from wanting to adopt the language or the runtime or whatever, and then either yeah, assuage those fears or, you know, uh, work within work within those, within that paradigm, right. You understand that context and the way that they're making the decisions and, uh, and optimize for that. Which is all real hand-wavy and not useful to a lot of people, um, but like, I mean, cause the problem is, is like you can say all these things and we are all like, we're all the totally wrong people to answer this question. Like in so many ways, like we're here. Like, which means we're the wrong ones to like, which means we're was reasonably already bought in, like who were, you know, were we already believe in it. And so it's like, you can point to a thousand things of, you know, oh, the runtime stability and like performance and whatever, right. You could, you could name and you can name a bunch of case studies and show people like, you know, this amount of scale, this many developer hours, that sort of stuff. And it's, and that may not matter to anybody. So you have to really hit them where it matters for them. You need to be empathetic and understand like what's the context that they're working in and then, and then try to provide something that's useful to them. So, yeah.
Anna: Yeah. I see that a lot. Um, I think all of us at one point, Keathley, myself currently, and Amos, we all do consulting work. And so this comes up a lot as a question and every answer is different because of the context that folks are coming from. Um, and the size of the company and where they are. Somebody said, I'd include fluid programmer productivity, maintain maintainability and resilience in your answer. And that's totally true depending on the conversation that you're having, right. And what they're looking to do and what they're looking for and what perspective they're coming from, right? Cause for like, it's like, you know, a technical leader in a company looking for a new language for the systems that they're building and scaling, they might care. It's business people. They might care about different things more than they care, so again, not that they don't care about those things, but as Keathley was saying there are pros and cons to every, to every decision. And so which ones, what things are they thinking about?
Amos: So we're going to go back to asking questions then and say like, really, the secret to getting people to use X tool is asking them a lot of questions. Just keep asking questions, you'll figure out what they need-
Anna:-To do that right. To figure out what they need for sure.
Amos: And then you can shape your answer to make your tool of choice fit into their pigeonhole.
Anna: Consulting 101.
Amos: There you go. Congratulations, everybody start your own company now. You're ready.
Anna: We have another question that kind of shifts a little bit, but, um, as far as like needs, "What does the, what do y'all think the community needs currently better tools, docs, libraries, deployment, story, language, features, visibility, books, blogs, podcasts?"
Amos: I don't feel qualified to answer this question, either. I appreciate that people feel like they should ask us. But, um, I think from my perspective we have, there's a, we have a lot of books. We have a lot of blogs and they're good. But many of the things that I see out there are written for beginner early intermediate. I wouldn't even say like advanced intermediate people. And I'm going to look, I'm going to read that just a second, Robert. Uh, and the, I can't read it. It's too small on my screen. Um, I feel like we need some things that, that get more in depth and get more to the point to, to get, to push us past that intermediate level and into the advanced level and get us thinking about different things. I do think like don't walk away from the beginner level stuff and the early intermediate level stuff. But I think as us, as a community to, to continue to grow, continue to push, if that's, if that is our goal, I mean, not all of us want to do that. Some of us love a small, tight knit community and we don't want to get too big, right. But if that is our goal, as a community is to grow, then I think we need to grow up and out. And right now I feel like there's a lot of emphasis on out, but let's also grow up.
Chris: Yeah. I thought that was going to be something I was going to say is like, I think something between like medium and advanced level information, I don't know how you want to put these scales on there, right. Like everybody's going to have a different viewpoint on that, um, on like what you call those skills. But like we, I think we need some, yeah, I think there's kind of a gap. There's definitely a gap there when it comes to how to put this stuff in production, like deal with it. Um, and then like more advanced information. Like I was just trying to think, like, I can't think of a single Elixir book that talks about ETS and like ETS is the most important thing that I use on like a daily basis, or like one of them, right. It's like, like, uh, it's such a crucial part of building, um, systems with this stuff. And it's, and like, I can't think of a single book that touches on it. Maybe I'm wrong about that? Um, like I know Sasha's book does, but it, I mean, like gets deeper into the like here's how to use this for a bunch of different use cases and that sort of stuff. Um, I mean obviously like Fred's book, uh, gets into some of that stuff, but, but I hope, I hope you take my meaning. There's I don't know that there's like, um, like, uh, like, uh, end-to-end sort of like building an application and here's how you use all this sort of quote unquote advanced stuff. I don't, I don't know that I consider ETS to be advanced, but you, you get, you get what I'm saying?
Amos: How about you, Anna?
Anna: Yeah, I think I agree with those sentiments. Um, I'd like to applaud that the community has done such a good job with so many resources for folks that are just getting into the community. There are certain communities where that's not the case, but I agree that expanding up or expanding more in depth into more advanced topics would be a thing I would love to see more of.
Chris: I think I I'll just say too, like the thing that I want to see personally, um, is not a specific thing. It's pretty nebulous, but I think like I just want to see people build more cool stuff and talk about it. Like, I know that that's not useful, but you know, I think that if people want this ecosystem to succeed, we have to all sort of keep championing it and saying like, no, like here's the success of it. And here's why this is working for us. And here is all the cool crap that you can just do. Like isn't this awesome. Uh, I think the more we all go out and talk about that kind of stuff and support each other in all of our weird ideas, the better off we're going to be. I've said this before, you know, it's like, I don't think we win quote unquote. Like I don't think we ever, you know, I don't think we're going to see a huge amount of adoption trying to play the like mass adoption game in a sense that like you can't out, you can't out, you know, Rails, Rails. Rails exists. Like they already did it. So like, what are you going to do that's different, that is revolutionary in its own way? And so that's, that's the thing I'm interested in. And I, I just want to, I'll just say, I just wanna encourage people to like go out and do that kind of stuff. I think that that's really important. Go out and build something, you know, that you, people tell you is a bad idea. Like, cause you know, I don't know lots of people, people don't-
Anna: If you think it's a good idea, yeah.
Chris: Yeah. If you think it's cool, go out and build it, you know, like that, that could be fine.
Amos: I think that teaches people to think too like when you're, when you're really new outside you. Um, I saw, uh, somebody, Justin, I think, was talking about universities and their teaching and what they're teaching, but really the tool, I choose Erlang, I choose Elixir, because it's a tool that makes the problems that I enjoy solving a little simpler to solve than if I tried to write it in C or Java or anything else. And the BEAM is, is really what, what gets us there, right? Or, uh, all the work that, uh, Robert and Mike and Joe, um, Yorn, Uh, thank you. All of you. Um, I see Robert down there in the corner, so thank you Robert, for, for all the work that you, you brought forward, because those are the problems that I want to solve. So if you find that weird problem that you want to solve and you get excited about it, other people will get excited about learning too. And learning about this language in this ecosystem and how it can solve the problems that they want to solve. And if it does that's okay. So I want universities to teach people how to think and question what they're doing more than I want them to teach a specific language. And I think that will get us to a better point as, as a wider community, even outside of BEAM but as a software community, as, as human beings, we'll be at a better place. If we get people to think and question what they're doing, why they're doing it, and how they're going to do it in the future. I didn't mean, I feel like I got deep there. I didn't mean to
Anna: Very. No, but I think it's an important thought, right. And I think it's very, it made, that makes a lot of sense, right? Like that's the important part, right? Keathley, you look like you're deep in thought.
Chris: I'm reading the questions. Sorry. I'm trying to catch up. I feel like a Twitch streamer.
Anna: You are.
Chris: I’m tryin’ to catch up. Thanks for that sub!
Anna: You're natural. Anybody ever tell you that? Um, I'm going to answer it real quick. The Elixir Bridge question, because there seemed to be a few votes on both of those. Where's it going from here? We're trying to rewrite the, revamp the curriculum and bring it up to date because we basically paused for the pandemic. It's me and my co-founder Matt Mills and we've both been really busy. Um, and so, and like life happened and the pandemic happened. Um, and so we're trying to get it back up and running. So hopefully there will be a new curriculum coming up soon. You'll be able to see, um, and as far as if you wanted to make an event, feel free to reach out to us. Either, um, either if you could go to the, you go to the GitHub or the ElixirBridge.org site, um, or on Twitter, you can find us and we can can tell a little bit more about how to make that happen. Um, offline, it's a little bit more involved conversation, but we can definitely help you provide the support and maybe find sponsors if you need to set up a workshop, um, maybe now virtually eventually in person, um, please feel free to reach out to us. Um,
Amos: The thing about live shows is that you get all of our awkward pauses.
Anna: This is true. Uh, I do like this question. "What, what are the challenges that you all see, um, that the Erlang and Elixir community have over the next few years? "
Amos: Uh, I think, I think that goes back to that growth thing. How, how there are so many of us in this community that are in that intermediate field, we don't have five years’ experience in this, we, there's a lot of incoming people. So how do we get that growth from intermediate to advanced users? And even in Erlang, like, there's, I feel like there's a new influx of people coming into Erlang, too. Some of them through Elixir, but they're there in that same place. We need to give them tools and resources to grow from that intermediate to advanced. And that is what will sustain us and keep us around for a long time, for the future.
Anna: Do you feel like your response to somebody asking, "How I can get Elixir deployed to production?" (laughter)
Chris: Sorry, there's a running joke amongst my, amongst my like friend group, cause people, it's one of the things that people talk about a lot is like deploying Elixir is really hard. And then you like ask them what they're trying to do, And it's like, well, I'm trying to provision Mnesia and clustered setup across three different desks on Heroku. And it's like, oh, okay, well I understand the problem that you're having now. It's like, you know, it's like, I want to deploy a super stateful application with zero downtime deployments on Kubernetes with Docker, with, you know, like across multiple cloud providers or something. And it's like, yeah, that's like just hard. Like I don't like, like literally any runtime, that's like literally just hard to like, and so I think the, the notion that Elixir is really hard to deploy or something like that . These days, right? Like I'm not going to be an apologist for anything, but I think these days is like, that's way over overblown. Um, if you want to use releases and all that sort of stuff and Docker and all those sorts of things, if you want to like do complicated stuff, then yes, your deployment story necessarily is harder and there is no re there's, no like anything that's going to save you from that. Like, it would be hard in literally any runtime. And I don't know, I just find that to be very funny. Um, so it's become a meme, uh, within like my social Elixir circle of people saying like, "Elixir's literally undeployable!" and stuff like that. Uh, which is just not accurate these days.
Amos: Did you say "I've, I've deployed it."?
Chris: Yeah, I did it. I did it one time. It happened.
Anna: One time.
Chris: Yeah. I managed it one time.
Anna: And therefore it exists. Did you, you looked like you were thinking about the challenges facing the community, and you were gonna say something before I distracted you with the calling you out on the joke around-
Chris: Well, I don't know. That's a really, really good question. And I, I'm just thinking about what the, what that looks like, what the challenges are now. And, uh, and, and you know, where we go from here. I don't know. I don't know that I have a good answer to that. That's a really tough one.
Anna: Do you all feel like you've seen, the community's been around for a while, do y'all feel like you've seen kind of good habits and patterns develop as far as we build systems in the community? Or do you feel like there are approaches that you've yourself personally taken that you think work well, but that haven't necessarily been adopted that you would like to see more of? Like,
Chris: I'll say this, the thing that I, the thing that's bouncing around in my head as like the major thing that I'm concerned about, I think we're at, um, we're very, Hmm. How do I talk about this? I think we are very close to a tipping point where our early adopters who have a lot of knowledge of this stuff are gonna leave.
Anna: Why do you think that?
Chris: Um, because, because early adopters always leave, like people who adopt early, people who early adopt stuff tend to early adopt stuff over and over again, right. Like that's a, in aggregate, right. Not individually, right. But like in aggregate, turns out people who are way less risk averse for adopting a thing will continue to adopt new things as they find the new thing that works for them. And they try a bunch of stuff, right? I think we're reaching a point where, you know, those people are gonna start to leave. And if that happens without sort of filling the gaps of knowledge there, then, then, and then that's kind of what I was getting back to you with the thing about, you know, I think one of the things we kind of maybe need a little bit more of as like kind of intermediate level, intermediate to advanced level documentation, not documentation, but like books and that sort of knowledge stuff. That's kind of what drives me to think that is cause if that, if all of a sudden, like all those people stop talking and they move on, then you're left with, um, a real large gap. And it's really hard to begin to bridge that gap both from a, um, just like from a personal standpoint. But I think also from a marketing standpoint, like this, this matters when it comes to like marketing the language and the runtime and all this sort of stuff. And so I think that, um, that's, that's a thing that's been on my mind for a while now. And I'm, I'm slightly concerned about it. I don't know that I know how to do anything about that. Um, but this is definitely a thing that I've been thinking about a lot and talking and trying to talk to people about a lot.
Anna: Yeah. That's really interesting. I actually hadn't considered that aspect of things, but given the state of the community, that's totally a real, real thing. And I don't know what the answer is.
Chris: Yeah. I don't either. So, you know, that's, I mean, and, and to some degree, that there's not like anything any one person can do, and it's why I continue to champion the idea of like go out there and like show people the cool stuff that you've built, because I think getting people talking about it and driving excitement and getting people, you know, interested in that sort of stuff and building that hype, like as kinda dumb as that sounds like, is really important, like really exciting. And I think that that, that can have a large impact on how people view the community. Um, and that sort of stuff, you know, I don't know that we want to get to like, as much as I value this as a, as somebody who uses libraries, I don't know that it's like, people make weird judgment calls on stuff, right. It's like why the community, the Clojure community occasionally goes into their read-me's and does like proof of life like cop commits to their read-me's where they're like, this library is still works two years after I wrote it. It hasn't changed. It hasn't broken, so it's still good to use, but I just wanted to commit it so you would know that it's still alive. Um, you know, that sort of stuff. Uh, it's like, that's a, you know, that's a way to, to tackle that, but, um, you know, driving interesting discussions about that stuff is useful.
Anna: So I think we're getting close to, somebody, correct me if I'm wrong, I think we're going to close time, or over time?
Amos: Yeah. I think we're over time and it says the next, the after party starts in one minute.
Anna: All right.
Chris: And you have to continue to sphiel for Toucan
Amos: That's right! So everybody come to Toucan and, uh, I was told yesterday that I'm really good at ice breakers. And so, um, I'm going to call you out McKinsey Morgan hopped in to talk to me. So everybody go talk to McKinsey Morgan, because she's really cool. And how's that for an ice breaker McKinsey. Welcome.
Anna: Well, in, in closing real quick, uh, for both of you, one thing, you're you think you're excited about for the community for the coming year?
Amos: Oh, that's supposed to be a real quick answer.
Chris: I'm really excited to maybe attend a conference at the end of the year. Barring any obvious problems.
Amos: Wherever Keathley is, onscreen. That's what I'm pointing.
Anna: Same!
Amos: Yeah. I, I, I, I like big fan of remote work and everything and remote conferences and getting to see people that I don't normally get to see, but for me personally, the energy to make new things and to do those fun things that we talked about all of us needing to do, I get energized by other people and talking to them and their ideas and in person. So that's just me, but yeah. I hope we're all back together soon.
Anna: Super excited to maybe see El person, maybe in November.
Amos: And then we'll see what happens within Nx, too. I'm pretty excited about that.
Anna: Totally. All right you all, well, thank you for listening to us talk and asking questions, et cetera. Super fun.
Amos: Thank you. See you all in Toucan. Be in Toucan!