Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/bookmark-template.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/bookmark-template.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/blocks/navigation.php on line 1

Warning: Uninitialized string offset 0 in /var/www/drunkenux.com/public_html/wp-includes/blocks/navigation.php on line 1
#69: Exercising Your Coding Muscles On Exercism.io w/ Jeremy Walker – The Drunken UX Podcast
The Drunken UX Podcast

#69: Exercising Your Coding Muscles On Exercism.io w/ Jeremy Walker

How many times have we heard that your brain is a muscle, and you must exercise it just like your arms and legs? In the world of coding, whether you’re trying to pick up new languages, or deepen your knowledge of others, it’s incredibly important to find good resources to practice your trade regularly. This week Jeremy Walker, co-founder of one of our favorite platforms – Exercism – joins us to talk about what they’re doing to continue providing the best learning resources on the internet for developers of more than 50 different languages.

Followup Resources

Transcript

The following is a machine-generated transcript of this episode. It will contain errors until it has been reviewed and edited, and we apologize for the difficulty that may cause for screen readers. Do you want to help us speed up our transcribing process? Consider sponsoring an episode.

Hello everybody, this is The Drunken UX Podcast. And this is episode number 69 where we’re gonna be talking with the co founder of online learning and coding platform exorcises. Um, not I owe that. We’re just gonna call it exercise, um, from here on out. But I want to throw it in there just for the start, because that is where you have to go if you want to find it. We have talked about it.

That’s on the Internet.

It is on the Internet. That is the one place where you do have to go to find it.

We have mentioned that I was gonna say, and it’s important at this stage early to explain that this isn’t about exorcisms. I like to get in there early as well, cause people do often just drop off podcasts very early. If this isn’t explained so, exorcism with an e, not X or schism within out. I have stories anyway. No. No.

I like it because there are many times where we have to get the demons out of our systems.

You practice that right? Exactly. Don’t call them ghosts

in the machine. But given the nature of some of the bugs that I chased

show is a

much meaner than that, folks. I am your host, Michael Fienen.

I’m your other other host, Aaron Hill made on Michael.

I’m doing all right. It’s about 3000 degrees here in Kansas today. It is the middle of the afternoon when we were recording. Because, as you heard, we’ve got a guest with us this afternoon. So we’ve aligned our clocks for a little bit of an overseas trip. As a result, I am not drinking anything super fancy today because I’ve got work left to do today. I’m enjoying a nice, cold Pepsi, That’s I think, acceptable for I think this. Ah, the show. So I’m gonna take that and run with it.

I have. Is you both concede this is a blended drink. It has some rum with pineapple juice, Clearly coconut blue. Curious. I’ll triple sec a bunch ice and it is hasty.

Is is this the same thing you described a couple shows ago? I think it is. Yeah, the Blue Slushee. It has legal assistance.

See, Oven icy. Yeah,

Folks, if you want to find this, you can check us out on Twitter or Facebook. ing and find us that slash drunken ux on either of those Platt platforms ground by instagram slash Drunken UX podcast. Or if you want to catch us and chat with US online, just go to drunken ux dot com slash discord that will give you give you an invite straight into our little discord channel, and you can find us there. What am I forgetting, Erin, that cover everything in the car?

I believe so. That covers everything. That’s it. Show’s over right way we’re done.

I could get back to vacuuming my dirty house. Joining us this evening is the co founder of Exercises Um, and also the employee well being platform Kaido His name is Jeremy Walker. Jeremy, you are coming to us from all the way over in the UK Thank you for bearing with us as we found the time that worked for everybody. We really appreciate you joining us this evening and for taking the time out of your career over the last few years to create this pretty incredible platform toe help. Folks like Aaron and I learned how to do our job.

It’s nice to meet you today. Thank you for having me. It’s It’s also really, really hot in England. I imagine my definition of really hot is somewhat different from your definition of really hot. Yesterday was the hottest day in UK history, which meant it was about 32 degrees Celsius here. Wow. So I don’t know what that is in your American numbers. But the 90 year like that was that I think we had 38 somewhere, which made it the hottest day in UK history.

So, yeah, today is being a bit a bit cooler. But yeah, British people, this is This is heart. You know? I get a sweater looking outside. That’s that’s impressive. Sigh.

We’re actually a little under that, but we’re still rising and our humidity is control right now. So it’s it’s going to get nasty here that nice. So let’s talk a little bit about exercise, um, to get started here. Actually, we’re gonna talk about it a lot because that’s what the whole episode is. But we have mentioned this, I think, more than probably, I don’t know, 1/2 dozen times over past up.

So it’s pretty much any time we’ve brought up learning and professional development and trying to further skills or any of this because it’s a platform. I found out about it. I think, towards the middle of about 2018. I know this because we’re gonna talk about V one and V two here. And then I started it right there before the switch because I realized, Hey, it’s a lot different now with that, but ah, it’s this very cool online platform where if you are interested in coding if something you’re already doing.

But you want either further skills or learn skills and maybe an adjacent programming language that you can go in there anddig in, it’s free and you sign up for your account and just start doing courses. Um, Aaron, I know you’ve You and I have talked. You’ve dug into it now. So you’re in the Ruby course, right?

Yeah. Actually, I actually used exorcism. Oh, man. It was not quite 10 years ago, but it was a while ago. What busy 2013. Probably around around 2013 2014 when it was all command line based, Um, and like you had, you checked out the exercises and then read me and everything. Um, I did it for a bit. I remember doing some like, uh, like small gene sequencing exercises, but I just recently got back into it after we started talking to you.

And I love it. I love what you guys have done with the version two, and the Web interface is awesome. The exercise have been great. I think I’m like halfway through the ruby track, I got one or two hard exercise is done. The whole bunch of humans. Yeah,

I’ve been doing the job script course I really had planned. By the time we recorded this episode, my goal was to have the JavaScript course done, because I’m really excited about getting in and doing mentorship on it. But I’ve been derailed here the last month or so that I’m well, and you know, the thing is, it’s it’s like the There’s the Gamification aspect to it. As you start digging through, you take the you know, one of the core courses, and it unlocks all the extra things, and I’m a completion ist by nature.

And when I start seeing other things opening up, I feel like compelled to complete all of these other little side tasks, and I don’t want to move on until I finish them all. And it’s driving me insane when I look in there and see how many things I have left to do.

But yes, so I think that’s one of the things I enjoy about doing things as well is that sense of once and complete things and a lot of programs, I think, fall into that completion ist category. So it’s something we try to play on a little bit more.

So you and Aaron you mentioned this already. Exorcism was started by you and Katrina Owen back in 2013.My understanding is this originally started Kind of as like an in house tool, right to help groom developers at the company. Yes. Yeah,

it was actually just Katrina started it on this Katrina. Yeah, and I join slightly later is co founder. And what a slight later, like a few years later. But yes. Oh, Katrina was working it sharing chairman school. I think when she is a place that takes people who a career changing on bond, she she found that like she needed somewhere where the students she was teaching things to could actually just go and practice the things she was talking about and so built this in house just to use it.

But also just like, I think, put it on the Internet for people to use on bond. Yeah, it totally unintentionally blew up.

I just learned today that Katrina Owen was the co author of the 99 Bottles book with Sandy Minutes. Yeah, excellent. Excellent, I think, probably be applicable for any language. But it was written for Ruby

Vision to came out of that like last week, maybe in, like, three of the languages Java script and a few others. And there’s alcohol free version as well. 99 bottles of milk, I think, or something. Eso yeah, are plugged that as well. And it is. They’ve also added some more content. So if you already got first version, you can get like a discount on this condition

that that’s very fitting for the show. In general,

I think that the book is a very brief summary. It’s doing the 99 bottles of beer on the Wall song, but in a program form, and it is really surprising how much that feels like actually doing a really like program where you have to deal with constantly shifting requirements and everything. It’s great. It’s such a great re factoring exercise.

Very cool. So with exorcises, um, what you’ve got is so you mentioned it kind of like, you know, just took off sort of unexpectedly. Which is easy to say in hindsight, unexpectedly. But it is a free platform which doesn’t hurt. You know, we’ve looked at a you know, there are many others and we’ll bring up a couple of here in a few. But you know, when one is free and completely accessible, nothing is locked irrigated. I think that appeals to a lot of folks.

The model is I call it sort of a semi self guided because you sort of have access to getting in and digging in. But the mentor ship kind of does help you along, though you can take or leave the advice in many cases, a song as the stuff is passing, you can kind of keep moving along and the platform now at last count over 50 programming languages. Is that still true?

Yeah, that’s about it. I am

so excited to do the assembly ones, and recently it’s really only stoked CNC passports, ones get to do that again.

Yeah, yeah, that’s some hardcore things like that. And then there’s like, such a range of different languages makes you realize how many different languages that are on it makes you ask yourself why so many different languages And then, of course, and I really going about its later? That understanding why they were different programming languages is what makes each of those programming languages then fun to actually dig into to understand why somebody is designed yet another programming language.

What is what was wrong with the little ones? That’s one of the really fun things about it. Yeah, a great range going Do prologue, for example.

I’ve told people, especially I’ve been building websites. Now for the better part of 20 years. 25 years now I have stayed mainly in the front end area. Over the years, I have dabbled in things like visual basic and some stuff like that, but I’ve relatively stayed out of the software realm. But as I’ve gone in and out of PHP and JavaScript and Java and some of these languages, you start to learn things like there are a lot of conventions that you can pick up on that really cross pollinate between languages and and after you’ve gotten to a threshold, it actually becomes.

What what’s What’s it called up? Is it polyglot? Is that the word? When you speak multiple languages like normal languages, you can start to pick up programming languages kind of that same way when you start to realize these conventions can apply. And so I think that that’s a neat model to say, Yeah, if you want to get in and see. And I know we’ll talk about this here in a bid about figure out ways to teach languages in a way, that sort of leverage is that kind of strength.

But making those accessible through the way exorcism does in a very lightweight way of just being on campus. Gonna start this new track, just click on it. There’s no cost to you. There’s no you’re not paying for it. There’s no subscription fee. If you want to just see what a language is like like it. Download it.

Yeah, on. That’s good. Because, you know, you’re you’re sort of time is your most valuable asset and, you know, you get the thing, you get something back for that time and you can choose. You know, I’m enjoying this. I’ll put more time into it. You learn more, it becomes very in your control. And then I think because of that you have a constant intrinsic motivation to carry on with it. Where is often when you pay for something, you can sort of almost feel a bit or obliged to do it because you’ve paid for it.

And then on the back of that is like your motivation for them doing it is wrong and you have all that extrinsic motivation. That doesn’t mean you then do the best possible job you can. Yeah, Time is always the most valuable asset to choose where to invest

user wise. I mean, you’ve got a huge user base by this point. So it opened this thing up and started with, you know, Katrina is project which was open to a few students just to help them practice exercises. And today you’re open upto half a 1,000,000 users now in their over those 50 tracks, which is incredible unto itself. The scale with which that is is growing. You’ve got what is about 4500 mentors.

Eso those are the folks who are and again talking about time, right, the value of time, These air folks who have committed their time to saying it is important to me toe help out other people, Aaron and I mean how many times there. And if we talked about the importance ofhelping out folks who are learning and helping them understand how to do something and then differentiating between the right and wrong way to figure something out like that, you can pick up Google.

It’s easy to go to an article and read how to write a piece of code. It’s a lot harder to sometimes differentiate between the right way and the wrong way, or sometimes an efficient way and aim or efficient way is maybe the way to look at it.

It’s is in the natural language paradigm. It’s It’s relatively easy toe. Pick up a few, for example, German words. I was learning German recently and like pick up a few German words in a few constructs and be able to, you know, order a coffee in a coffee shop.

It’s a lot harder to come across sounding like you’re a native speaker and hold a conversation with somebody And you know, you can always google how to translate some think, you know, on your app when you in another country but to be able to really embed all of that knowledge and those, you know, lack natural language paradigms to speak fluently to sound native. Um and that’s really what we try. And we try and teach fluency Accident? That’s what it’s about. Is that fluency?

Yeah. What about like your competitors out there? Cause there are plenty of other places people can go toe to learn coding online. Whether that’s treehouse code, academy code wars is one that I want to talk about here in a second. But how you know how from your seat, Jeremy, do you think you fit into that sort of power struggle between exorcises, um, and some of these other folks who are playing in that same space

and city question? So I think like, firstly, Exercism are not for profit organization. So I don’t a tall feel like I’m in a pastor with anyone like, I never go in, look other websites and think, How do we beat these people? Because our aim is just that people get better at programming. So if somebody can go in, learn treehouse or code academy and don’t need Exercism and you know that that’s great. I’m glad that they’re learning what they need.

Where I see exes, um, fitting in is a few different ways. One, Aziz, you You know, you said everything is free. Everything is unlocked, Say, for people who can’t afford things like code Academy in Tree House, which makes up the majority of the world’s population. Um, you know, we’re a good space for that. I think if you’re learning programming right now, Exercism, um, isn’t the best place to go like if you’re starting out from scratch.

But if you’re trying to pick up a second language or you’ve done six months of programming and you want to get deeper into a language, I don’t think things like treehouse or code academy again, a particularly up skill. You in those ways like they might teach you how to write in a slightly different I know. So you’re doing re. But they might teach you out also writing rails, or they might teach some of the framework for some of the things, but they’re not trying to get you to go deeper and deeper and deeper.

I think where Exercism, um really thrives is in our mental ship model. So within Exercism, um you you get in, excise, you work on it, you get given a test suite, you make the test passed. So you’ve solved the exercise. But then you can give it to mental and they look at your code and they make suggestions on how how your code can be improved, how it can beam or idiomatic, which is a word that we use a lot how toe how to use that language in the way it was supposed to be written, which is what we consider fluency to bay is you’re fluent in a language if you understand the idioms of that language and can use those idioms.

And so what that helps you do is if you’re learning, say, Java script helps you write Java script like a professional JavaScript developer with white job script. Not like really be developer who’s just gone learned to be a job script. Um and so I think a really big part of space that we feel is in that going deep into a fragment language Really understanding Azi talked about earlier. Like why that programming language exists. What is it that makes JavaScript Java script one makes re be ruby on Helps you really think in that way?

Um, we’re not. You know, we’re not trying toe beast your CV by putting a course on it. And we’re not trying to Teoh get you your next job. I think exes and definitely helps with both of these things. But at the same time, you know you will enjoy Exercism in the most. If you’re passionate about the language that you’re trying to learn and passionate about learning. And I think then on the flip side there’s also the opportunity for anyone to be a mental.

And if you think you learn a lot from doing this student side of things, you’ll learn 10 times more for mental like it still blows my mind. How many different ways the bar to solve any given excites an accident. So the most basic exercise on any track is called to for Andi. In most languages, you can solve it in 123 lines of code. I mean, it’s a really, really trivial trivial exercise.

It has a bit of string interpolation where you’re just adding two or three strings together effectively on, but it has a a method called or function call that has an optional parameter Andi. So it’s a couple of relatively basic concepts. But if you look at any given language, I mean, I can speak that can speak. To say Ruby and Python is two examples I’ve looked at recently. Out of the last 500 solutions to those 350 of them will be unique, even though the solution is 1123 lines long, Yeah, so many

unique, like like fundamentally unique or just like a couple of letters. Different

say I mean out of 500 or 150 of them will have already shown up. So there are three engine 50 entirely unique thinks if you normalize for white space and variable names, you get about 250 UNIX. So really? Yeah. So there were 250 unique ways that somebody has managed to solve to find rebate after the last 500 on that, that hole in any language with

those I’m asking because I’ve I’ve done the sexually, and I know like

it is a simple one,

just as you described it. I’m trying to wrap my head around around this and so in those 200 are like, if you could estimate, like, how many of those 200 are people who were intentionally trying to do it as weirdly as possible? Or is it just like really? So they making earnest attempts to do it effectively?

Yeah, yeah, so I mean, it’s when you realize there are six or seven legitimate ways that people managed to just define the method in re be on and like, Then you know the ways that you can have the basic two functions. One is this optional parameter on you console that might have an optional parameter, or having a premature return if statement or having and if statement that returns to different strings or lows different ways like that on then just the way that people managed to add to the three strings together.

So I guess in that exercise that were probably like four yeah, probably four different like units of the exercise like option ometer string break concatenation, defining the method defining the class on if you there were maybe 10 different ways that people do, each of those say, and then the cross section of those means that you confined to brave to unique at 500. So then when you scale item is any other exercise.

So if you then scale into an exercise that has five lines of code to solve, not three lines of code, Suddenly you’re increasing the complexity by an order of magnitude or two on. So when you get to an exercise I don’t like, Bob’s a good example. So Bob is solved in 30 lines on Bob Exercises. This It’s a teenager on that. The import something to this teenager on the teenager. It’s one of my favorite exercises, and it’s again.

It’s a pretty simple excites, You know, if if, if you if you write some think in block capitals, so it So you get a phrase which is, like you would say you would say sank in block capitals, and the response would be like, Stop shouting something like that. Okay, there’s, ah, you finish it with its information. Whatever means I will chill out. Yeah, exactly on, say. And that that, you know, maybe 20 lines of code and ruby, maybe 15 lines of code and Rebic.

I doubt if you looked at the last 10,000 solutions you find to that with, um me. So yeah, And this is where it gets really interesting Because actually, what you think about is, if you on a most of the sites where they give you an excise and then if you solve it, you you feel like you want. Like actually, none of the skill in Exercismn’t exercises actually solving the exercises, all of the interest, all of the skill is understanding why you’ve made the decisions to solve in the way you’ve solved it and how those compared to how somebody really experienced in that programming language would choose to solve it.

What those trade offs saw what those decisions are. And then as you start to think about why you made the decisions you made on why different people make the decisions they make. Suddenly everything becomes very interesting.

I’m looking at the Bob. I’m looking at my solution for Bob, and I’m looking at others from the community solutions, and it’s it’s amazing. You’re exactly right. There are so many different ways. And, um, somebody there are really clever e don’t have anyone worth in that its systems really need.

Yeah,

like that gets into this idea of how exorcism itself facilitates the learning process. That solution gallery itself is one of those tools that on more than one occasion, I like diving into then solution gallery to see how I’m going about it versus how other people have gone about it and comparing those you know, the methodologies to figure out. How can I improve what I’ve done? What processes can I take and look at to, you know, make my code more efficient? It’s, you say it’s easy to write code that works.

It’s, you know, there’s always a 1,000,000 ways, especially as these these exercises get more complex. There are tons of different ways to go about it. You are using constructors. Are you making classes? Are you just using lots and lots of if statements like you can make things work a lot of different ways. So depending on how you go about that, so this goes back to you know how good you are with the language, right?

Because whether or not you can write something that works versus write something that actually is efficient and looks the way it is supposed to look. If you are good and fluent in that language, that’s the difference maker. Exactly my favorite. What happened for me and something that I have not since deployed in actual production code and my job I got into, I think, was the Matrix exercise and got into an exchange with the mentor on thatbecause I had written in there.

That and this goes the mentors are the other part of this learning facilitation. I had written a solution that I knew work. I passed all the tests I had code that output the thing that’s most output. But I knew in the back of my head that what I had written was not as simple as it could be. But I simply didn’t know the better way to go about it. I didn’t know how to find the better way. So I love in the code comment, and I literally said in my code comment, Hey, this works.

But I’m pretty sure there’s more efficient way, you know, feel free toe the point me in the direction And that was the moment I learned about spread operators.

My okay,

Yeah. I’d never used the spread operator and job, isn’t it before And it was like a whole other world on that point Open up. And the way I could go about using that with map on dense, spreading out a raise. I was like, Oh, this makes some of this other stuff make a whole lot more. Since now and now, I’ve reduced five lines of code toe one. Yeah, exactly. That it was that helped that got me over that hump

on This is the interesting thing is that I mean, you don’t know what you don’t know on. It is not a way to google for that bit of information. You can’t Google for my solution. Doesn’t feel as good as it could do. So, like, no. Yeah, I’m sure at some point Google will get that get, But but yeah, this is. And this is where I think having that, you know, it is like code of you. It’s like you put it. It’s like you’re working for a company with some of the best developers in the world and you put a poor requesting with some code and they give you feedback and then you learn all of this stuff.

And that’s what you know, we sort of try and be. It is almost this, like crowd source code review facility where the aim is on. How can we How can we help everybody upscale?

Yeah, Code review is something. And you know this. I didn’t write anything about that in the show Notes and I now that you use the words I should have because one thing I’ve written a lot of PHP over the years, and especially for WordPress, I’ve written themes have written plug ins. I’ve written code that will never see the light of day. Um, and one of those ah, one of those things I’ve always struggled with is kind of that need to sort of validate the code.

Man. There are a lot of ways to write code that works in WordPress is also a lot of waste, right? Really bad code that works in WordPress. And there have been many times I’ve looked at something I’ve been like, man really like to get somebody to, like, review this for me, and they’re more a lot of good places outside of like throwing something up on Reddit and just hoping somebody is friendly and does he assaulted on it?

So getting people used to that process of what it actually feels like to get code review is something that’s nice, because when you do get into a professional setting, if you’re a junior developer, even if you’re a mid developer who’s just not used to it, Um, you know, there are a lot of companies who don’t do code review of any kind on DSO. If you go to work at a company where that is something they do, it can be a very new process and getting used to that, that feeling of somebody else critiquing your code and your code styles and the way you’re approaching problems.

I imagine the relative. So I asked him. I imagine the vast majority people don’t work at companies where there is code review on I imagine. You know, a lot of people go through their whole career with actually nobody to give them any died in sor feedback on their only option is to go on like, you know, training courses their companies put on or try and read some more blocks or whatever. And I think on So I think having the opportunity to have somebody commenting and teaching you and opening your eyes to things that you don’t know is you know, is a ridiculously special opportunity,

and it makes you better write like any feedback you get in a workspace and even, you know, take code out of the process. Learning how to take critiquein any job is, I think, incredibly important and will only make you better at what you do, because there are. And I think in encoding in particular, I think people sometimes get a little protective, especially because so many people are self top. And so they they get that feeling of I can’t be wrong because I taught myself that. And if I was wrong than everything was wrong

where I can’t be wrong, because then I would look bad. And that isn’t a nice feeling. Yeah. Uh, yeah, I think, um, I haven’t used them into our feature yet. Although I kind of want to now, because it sounds really, um, but I The A couple things that I’ve learned from using things like this is one of them was I remember a long time ago when I was using both exorcism and code wars. Remember averting, um, about the partition Ruby method and had never seen that before.

And it was I learned it by looking at a community solution on on the code words thing. But even working through the ones here on exorcism I regularly look through like I tried toe in my job. I don’t do code golf, like I try to make myself readable and making edible. But on exercises like this, like all bets are off, I want to make it the shortest possible Ruby statement.

Yeah, because that, like, that’s how I like to I find by doing it that way, I have to really think tightly and really like, be focused on my solution and not be sloppy about it. So I get to dive into the FBI a lot. But one of my favorite ones that I did so far, um, there were others to the one of them was doing the civil marriage, Erica, stuff that Erich Kasten ease their subsidies. I’m not great.

I did that in high school, in a programming class, and I had forgotten about it and then But this one says like you have to do it specifically using this algorithm to think to, you know, do it. And so I had to like one market Wikipedia and like, read up on how other people have solved algorithms for that. And it was great, like I got to learn, like some new stuff about math and is a lot of fun. Any other one was the bookstore problem, and I put the link in the in the guest channel.

I actually wrote a block post about my process of working through that, because that is a devious fucker. The short of it, the block post is much longer, but the short of it is you have, like a bookstore that has five different books, and the person buying the books gets a discount based on how much how many of that five books said they purchase. And on its own, that seems relatively easy to solve.

But the the gotcha is that like, Oh, yeah, if they buy a larger set of books, you want toe recombine them in a way that produces the most optimal arrangement for a discount. That was tricky, I think overall, it took me like, about six hours to solve it, but it was a lot of fun. And I, uh, even though it was really challenging, like I I liked having to think about optimization over them because I frequently don’t have to do that in my job. Yeah,

and if you want to read about his his solution to that, we’ll have a link that block post in the show notes for anybody wants toesee and critique air. And then his solution. Teoh,

looking through all of your solutions and axes and working out, I found a nice nice.

Also, one of the really cool things about exorcism that I think makes it stand apart from some of the other ones is the cli the command line, the interface tool that you guys have. This is a super neat way of sort of introducing folks, too. The process of working through a command line to begin with, if you are starting out and trying to get familiar with that process, whether that’s if you’ve never used get before in PM or some of that getting exercise, um, installed so that you can use the command line that lets you check out the exercises, Run their test suite.

All of that’s baked in. And so you just installed that command line Sweet. And then you can run your tests check, make sure everything works, right. Upload that back to the system. It then checks it into your account. And then, you know, signs are, you know, flags it for having somebody mentor it or check it or what have you? Um, but it it’s a good, very sort of low impact introduction to using command line, which can be very nice if you aren’t used to that.

If you aren’t used to using get, I think the whole process itself works nicely when you get used to using that in combination with setting up a repo for yourself on getting hub, and then upload all your exercises to your own get hub Repo and store them there. You don’t have to, but it’s nice to then you have your own record of all of your solutions and everything you’ve done there. Um, I wanna get, though to the meat and potatoes of this to talk about.

So we’ve started in 2013 with the yuan and 2018 you guys launched V two and are in now sort of the golden hour of what V two is and will be. And you said at the start of the show, you’d mention that V three is on the way. Ish, Um, maybe Q. Four of this year, maybe early next year you have. Is that the brave statement to even throw out there at this point?

So I’m It’s a good question on, so I think

it’ll be done when it’s done right.

Yeah, that’s a genuinely That’s the first thing I mean, I think it’s worth pointing out a couple of things on. So one Exercism, um, is primarily made by volunteers. So we have one full time employee. Then we have I’m a volunteer. Other people, like the other people who are in the leadership team of volunteers and finding time outside of the other things that we have to do. Eso all of the every language track has its own team of maintainers that, like the exercises for the languages and V three, is changing in a few ways, but that the ones that person to the question of when it launches is the work that needs to get done on DFO that there are two things.

One we’re writing a whole new set of language specific exercises. So every track is, I think you mean coming within a member probably like 30 or 40 new exercises per track that have been written to showcase specific features of that language. And so they’ll take you from how to do strings in Re Beall the way toe like How toe do really weird ruby things in rebate on on. Then along the way they will be sort of unlocking all of the exercises that are currently in V a tive veto exit.

There’s obviously a big piece of work there to write 30 or 40 exercises per language s. So we’ve got a wonderful team of 150 volunteers working on this. If you’re listening to this and you would like to help out, please de eso yet that side of things will be ready when it’s ready. We had a first hackathon day on it a couple of weeks back, which was really fun. There’s that side and then also we are We have a load of tooling. Now that’s track specific. So one of those things, for example, is a test runner.

So this specifically runs the tests of any solution that is submitted. That is a challenging thing in itself, because obviously you’re in doing that. Your learning code that somebody has arbitrarily submitted to you on the Internet, which is not something you necessarily want to do for your AWS bill. So what possibly go wrong? There are heaps of challenges in that, but that requires every track to write their own testament.

But we then also have automated mentoring for each language that is specifically written in each language as well. Um, so we’ve got trawling for that That’s being written a very long winded answer, as I have attempts to due to a simple question of When will this launch, which is my hope was two months ago. My new hope is New Year’s Eve. My a sort of end backstop Worst case date is like the end of Q one next year, but I hate that will be that late.

You mentioned something there, and you alluded to this at the start of the show to about the automation process in mentorship. So you’re working hard there, too. Also kind of automate some of that process on the front inside of some of thoseinitial, um, exercises, right? So that people can get in and out of those sort of foundational exercises in a much more streamlined fashion so that they aren’t held up getting to the sort of meat potatoes exercises, right?

Yeah, So what? We have already have some of this on V to a to moment. It’s sort of semi visible to users. So we discussed earlier, like to for this first exercise on nearly every track in a good percentage of tracks. Now that’s 100% to solve problem for us. So every solution that you submit re be pretty much will either. Well, we’ll get automated feedback now at the moment that automated feedback. If it’s congratulations, this is like a perfectly acceptable solution that’s pretty idiomatic.

There might be one or two tiny things. We’ll tell the use of that. So you’re receive automated feedback from Exercism, um, if it’s negative feedback. So I this there are lots of things that you could improve or whatever that gets sent directly to the mental on the men talk and then pretty much copy and paste that to the student with a bit of their own sort of personality attached to it. So we’ve automated a year’s worth of mentors time so far.

So what I mean by that is the amount of time it would have taken mentors to give feedback on some of these early exercises that we’ve saved has been a year in the last sort of 6 to 9 months. So quite pleased that which has obviously meant the response time on all of the other stuff that mentors are doing instead has heart. I never know where the response times after double it. It’s got twice as fast. So yeah, so but for V three, the aim is that these new concept excited that I’m talking about the 40 exercises per track that attract specific.

We’re aiming to have, like 99% automated coverage on those say, for any solution you submit, you get some level of automated feedback from us, and this is a really interesting technical problem because, as I said at the beginning, every solution pretty much is unique even to the most basic of exercises. So there’s there’s two interesting things that we do here. One is that every time a mental gifts feedback on an X on a submission. If somebody else ever submits the same submission, we can automatically re use that feedback.

So if two people So we said, like normalizing for white space and variable names and that sort stuff say we’re rolling, we’ve rolled that functionality and that’s one of the bits of hauling the oil, the tractor building. But they normalize every solution for those things. But it means that if two people submit the same ruby solution slightly from whites based, slightly different variable names, we can ignore that and still give the same feedback and just sort of change the variable names when we refer to them in that feedback.

So that means that love them, waiting for mental in a mental, having to give the same sort of feedback hoovering over again. If it’s something we’ve seen before, then the mental never has to give the same piece feedback twice on. Then over time, we’ll just take all of those submissions that people are doing and can just automate rules about

one of the areas. And there’s a video that you did were gonna have that length in the show, notes Teoh, where you talk about a lot of this as well. So if anybody wants to hear another another take on some of this, that’ll all be listed there. Um, you emphasized the difference between the process of learning and practicing and how that’s gonna be folded into some of these new exercises. What’s the angle that you guys we’re looking at taking their for some of these?

Yes. So all of the’s new exercises are focused on learning on bats. Sort of the difference. So every exercise is being designed to teach a program a language concept so that there might be an excise that said earlier on, like strings on how you use strings in this language and that will be focusing on how strings are different in Java. Script to re B. So you’ll be learning. Not just this is strings, because we’re sort of targeted out programmers.

But this is how strings work in this language all the way down to more complex things like this is what a block is in Ruby in this how to use yield, and this is how you can do meta programming in BB And this is except except so each of these new languages is being designed to teach one, maybe two, very rarely three of these individual language concepts. Whereas at the moment we’ve got these props sex sizes, which is sort of cute little toy problems in which you might sort of serendipitously use a few different programming ideas. The mentoring mode is gonna change as well.

So at the moment you get mental ing on the sort of core exercises in V two were flipping that entirely. So there’s gonna be no mentoring on that core on those core learning exercises in V three. All of the mentoring envy threes concept exercises will be automated or not at all on bats because that exercises are designed to teach that concept.

So just by getting the tests passing, you will have had to have use that concept, and you’ll have to have thought about that concept and then so there’s no sort of slow down waiting for a mental, which is one of the big problems and excessive at the moment is sometimes you can get stuck waiting a few days for mental, which could be super frustrating. Um, I know Yeah, exactly. Everyone everyone does on. There’s no one more frustrated than the mentors who turned up to see, like 500 new exercises that need mental mental.

So So, yeah, you’ll have the learning process that you can work through entirely at your own pace. You’ll be able to then go in Seoul, perhaps excises on. Then you’ll be able to request mental ing on those traps. Excises and we will be will be proactively asking students to say why they want mentoring or what they want mental and gone. So you can say, Hey, this just feels a bit wrong To me.

This feels like there’s a better way of doing this a little bit a little bit like you said earlier with the Matrix example, you could also say, like this particular line like I know I could do it this way, but I don’t understand why this is better than that or whatever is on street trying to get the student to proactively be engaging with the mental about what they want to learn from this exercise, where they feel a learning gap might be, or just saying like is there anything here that could be better.

You know, I feel like this is good, but I also feel like I don’t know why. I don’t know. And so that sort of learning and practice division is going to become a lot harder.

Let’s talk to about how this changes not just for the people who are taking the class. They’re not classes, but exercises and go through a learning process. But also your changing a lot for the mentors themselves to make that process better so that they aren’t coming in. And seeing huge lists of you know of exercise is to dig through and that process, what can they look forward to in terms of our like?

So, for instance, I’m real excited about getting through my, uh, my job script track so that I can get into that that mentorship process. What would I expect to see then in V three? Because it’ll part Phoebe three before I’m done. What? What will that process look like for? For folks who are entering mentorship in V three,

it’s a great question. So I think it’s why, like one of the things that especially some of the existing mentors worry about is that by introducing more off the automation and by taking the mental in away from the learning things that we sort of are making mental inm or that a secondary element to V three on That’s not the case it’ll like. What we’re trying to do is move the mentoring to the place where the students and most receptive to it on where they can learn the most.

And one of the big frustrations that occur with sexism is if you’re a student and you’ve been waiting a month for, like, our moments, maybe to people giving up. But I’d like five days for a mentor to come along. Um, when you then get that mental often, you just want the mental to freeze your exercise so you can move on to the next. One is at the moment you have to wait from and talk to approve it, and that’s like a real frustration pain point, which means, rather than the students being there to learn absolutely as much as they can from exercise and, like drip every single sort of drip of learning they can get out of it.

They just want to move on as quickly as possible, which is them really frustrating for mental who’s given their time. And actually, often the mentors are just acting is like the gate keepers between on a student being out to carry on rather than like the person training Givins and give tips. And so what we’re trying to get to is a point where the mental in the students, um or lined in their aims so that students there in that mentoring session, because they really want to learn something because we’re trying to make their questions more proactive at front as well.

That means that often they’ll be telling a mentor what they want to learn, which is then more helpful for a mentor, Bob than just being given a wall of code, not knowing what particular supposed to be helping with. Also, things like more of this automation to give them give them hints on where they might want to point a student, too. Um, so there’s a lot of things like that.

We’re also building in a reputation system into V three, which is similar to sort of stack overflows, reputation system. So the mawr that you do toe help sexism and to contribute to excess, and whether that’s building exercises where it’s been tall ing, or whether it’s Mental Inc will be giving you reputation awarding your reputation as you do that. That, then, is something that is like your badge of honor.

If you like on the site appears next to your name, it means that you, if you have high reputation, will will move higher up the mental and Q’s so you’re more likely to get mentoring faster yourself. So the more you give, the more you get. Um, we’re also gonna be introducing annexes and shop. We have swag that you can get on. A load of stuff becomes unlocked the more you do so, the more you mentor, the more things you get locked.

We’re also trying to work out if we how we price that under the things with that, it might be that you get things about cheaper as well. If you’ve got more reputation, Children work all these things out, but yes, so there’s sort of some more injured extrinsic Gamification. Stiffer mental is that we’re adding in there just to make it feel a bit more fun and a little less all about a mentor just choosing to volunteer their time to effectively work through a que

that’s ah, a great to hear and be It’s it really sounds like you guys have sort of a laser focus on the values that the platform itself really wants to focus in on before we go to break here. I do have one actual last question That is probably the most important question. Um, out of all of them. What’s your favorite programming language?

Um so I mean, like, for good memory be professionally nowadays? Same. Yeah. I mean, I mean, I being using re be since, Like, veils came out in, I guess, like 2004 Ieave was some surveys time along a long time ago now. So yeah, uh and I love it. So I guess that that is my favorite on I also my degree, my undergrad degree was in a I artificial intelligence. Andi Andi, Back in the day, there was things like prologue were explored heavily for that. I really loved programming given in prologue.

It’s just fun and different and interesting. I’ve also recently discovered slightly more of a love for JavaScript. So after many years of of not liking JavaScript because of I guess how it had evolved without necessarily design or purpose. It seems to me that people behind JavaScript are have now really added a lot of, like, a lot of structure and a lot of thought into how to, like, make it into, you know, really modern, really modern programming language that that has it feels more like it’s got a clear paradigm and clear things in there.

And so I sort of I had to really unlearn everything kind of unknown about JavaScript in order to be able to go through and and feel like I’ve actually program probably in Java script. And I feel like I’m still early on that journey, but for the first time in, you know, being pregnant for a long time, like 28 years or something. But it feels like the first time I don’t just feel like I’m flailing around with my arms randomly, hoping to hit something. I’m actually like designing something front, and it’s working.

If anybody wants to learn coffee, script or prologue, they’re both They had both have tracks over an

exercise tracks. Yeah, definitely.

All right, folks, hold on for just one minute. We’re gonna take a break in. Here are some some words from our sponsors, but really, it’s a word from me for our sponsors, but you get the gist and then we will be right back. It’s so meta. The drunken UX podcast is brought to you by our friends at New Cloud. New Cloud is an industry leading interactive map provider who has been building location based solutions for organizations for a decade.

Are you trying to find a simple solution to provide your users with an interactive map of your school, city or business? Well, New Clouds Interactive map platform gives you the power to make and edit a custom interactive map in just minutes. They have a team of professional cartographers who specialize in map illustrations of many different styles and already to design and artistic rendering to fit your exact needs.

One map serves all of your users devices with responsive maps that are designed to scale and blend in seamlessly with your existing website. To request a demonstration or to view their portfolio. Visit them online at new cloud dot com slash drunken ux. That’s in you cloud dot com slash drunken uxJeremy Thanks for coming across the seas for us across the oceans across the mountain. Blues down that you didn’t have

to come to North America calls over the Internet.

You know, it’s amazing. It’s such a beautiful place. Why would I know? Good. And

take the microphone away from us for a couple of minutes here and tell folks where they can find you what you got going on or anything else you want to know.

Orson, thank you. Thank you for having me. Thank you, listeners for listening on. So, yeah, my two worlds right now, our exes, which is what I’ve been talking about. The thing I always say is we love people to come and help. Sexism is built by the community for the community, aim is help each other be the best possible program This way. Focus hard on inclusivity and welcoming people on way. We try and have the May sort of diverse group of people building exes.

Um, that we can try and then help the most amount of people. So whatever your background, whoever you are, you’ll find a welcome home taxes and we’re always looking for mentors. You could just sign up on get started on way encourage people to do at least a few exercises first, so you get a field howitzers and works, but you don’t need to complete everything we will say right now on this big push for V three.

If you’d like to help out with that, especially in writing some new excises if you’ve got any background and education, especially even if you’re you, don’t consider yourself to be in the best program in the world. But maybe you’re good explaining things or get a teaching things then we could really do with your expertise. You can email me at Jeremy a Texas and I A or pretty much anything exes, and I choose your favorite at We’ll get to me. We have a big get have organization.

We have 250 different repositories that make up sexism, so feel free to jump on to get a dot com slash sexism and just have a nose around. And my other world is kinda kaido dog, which is a start up that I am building with some lovely people, which is tryingto help companies take better care of their employees. Way are a relatively successful with big companies way have some lots of the company’s bugle at the moment. I hope by the time this comes out, we’ll have started doing some stuff with us to look after their employees as well.

But we’re really trying to push to small businesses right now to understand the needs and the the challenge is that small business. So if you work for a business any size, but especially small businesses, I would love to hear from you about how you would like your employees to look after you. It’s really helpful for us to understand that. And if you’re an employer being just a manager in a company or you run a company, I would also love to chat to you about that and to understand how you might want to take better care of the physical and mental well being of your team and build their health and, well being into company culture.

You can email me again at Jeremy Exes and die, Or maybe more pertinently, at Jeremy Kaido torque on. I’d love to chat to you about these things as well. On you can find me on Twitter. I’m I heard everywhere. That’s a I H I D. Everyone light on you can find me at Twitter com slash i hit, Although I want to Sort of permanence about sexual media was about myself. But I’m also the personally and also the person that tends to be the one tweeting out that Exercism on Twitter as well.

Which is, I think, sexism. Ioo. Exe him and destroy. You have to find underscore undescribed. Thank you. Twitter will try and say I think you meant ec sources. And and you have to explain. Um but yeah. I mean, the website itself access and that is free. Come on, join in. Just try it. See what you like. Try the command line and keep your keep your ears open for when we launch the three. What? We’re making a song and dance about it.

We don’t advertise anywhere. We’ve grown to 1/2 1,000,000 people just by word of mouth on that seems to be working quite well for us. So the other thing I’d say is, if you do like sexism and you enjoy it and find it useful, please tell your friends and your colleagues and encouraged we rely on you to do that

personally, I always recommend whenever people looking for a practice resource is, I was always one of the things, depending on their level of skill. I recommend other tools as well. But it is really great. I like I’m not being paid by Jeremy. I legitimately, like, really love

this tool. But thank you for being the final thing I would say as well is that we’ve been working with some researchers in Chicago on, and we think some research into how people have a programming language is that people think about use affect the way that they program way. They learn new languages. It’s an interesting project. I’m hoping that we can publish some interesting stuff on it and help push the science of programming education forward on.

There were so helping us funding employees and on us to help us with stuff. So we’ve got a website research taxes and where you can go in and you can just do a few programming exercises. They’re all sort of 15 minutes to 30 minutes. You can try them in a few different languages, and we’re gonna be then getting some people to face, um, data science and artificial intelligence and just general hashtag science that your code to understand a little bit more about how you program.

And we have a survey there for you to fill in this world. So if you want to help us out, that’s a really hopefully fun way for you to give us some interesting dates to work with us. Well, that’s research dot Exe ism data, but that’s it. I hope you find excessive use. Thank you. If you use it. Thank you. If you contribute to you mental as well. Your wonderful people. Thank you for having me on the podcast. Thank you.

Come tell us your, uh, sheriff’s your excesses,

um, like profiles. But let us see. Like what you guys gotta be. Yeah. Yeah, you can.

You can share it with us on twitter or facebook dot com stroking your ex and on instagram dot com’s podcast. I guess if you were to share to tagging us

a picture, maybe don’t share it with its can connect with and then come tell us

about it. That’s probably the best place you should get on drug. Next dot com

slash discord and come tell us about your exorcism experiences. I don’t like the way also love to learn. So you’ve got bad experiences are frustrating experiences. You’ll always have a sympathetic ear here as well. So feel free to tell me your experiences so we can learn from them. Well, I do never really good things that are wrong, but which one? But

that is I think how we actually originally connected was I was griping about exorcism and being stuck in the mentor. Que your flight to me

directly. Exactly. 100 set

Jeremy was doing. He was living the advice I give you each and every episode when we get to this point which will keep your personas close, but your users closer.

Exit mobile version