Are Learning to Code and Learning a New Language the Same Thing?
Can a conversational approach to programming make non-engineers fluent?
The new app Lrn has time for neither vowels nor gimmicks: Load it up, and you dive straight into the heart of its purpose, which is to teach you to code. Nathan Bernard, who created the Tinder-for-networking app Coffee, launched Lrn at the end of July with co-founder Chirag Jain and Logan Bernard. They didn’t need an elevator pitch because they could get it out before the doors shut. The idea was to teach people to code as a language.
Inverse chatted with Nathan about his app that treats intro to coding like a serious but beginner-friendly business.
What got you interested in ways to teach people to code?
About a year and a half ago, I came into [Coffee] completely non-technical. I had no idea what Javascript was. I’d worked in startups in the past, so I had design and business skills and I thought I’d be OK. But I was horribly wrong. If you run a tech startup, it makes sense that you would need to understand the technology.
On top of that, my brother [Logan] and cousin, who are two of my best friends, are both software engineers. I kind of had this dream of coming into this summer — we have a small cabin up in Maine and it has really great internet access — that the three of us could build stuff together and I could collaborate with them. So I just sort of started diving into it, by teaching myself.
Why make Lrn as a mobile app?
I was in Brooklyn and Coffee’s offices are in Manhattan, so I had a 35 to 40 minute commute into the city every single day, one way. If you sit on the MTA here in New York City, for the majority the ride you have no internet connection. I found myself really at a loss for anything I could do on my phone.
If you look around on the train here, everyone is glued to their phones for the entire commute. I started wondering, “What are these guys doing on their phones?” Cause there’s no Internet connection, so you can’t be surfing the internet. I started kind of just peering over shoulders to be like, what are these people doing — what should I be doing? And everyone was playing games: a ton of Candy Crush or other little, simple games like Flappy Bird. We didn’t want to create a game, but we know that if we could create an experience as immersive as a game, there had to be a group of people in the five million plus who commute every day throughout New York City who were on the train and wanted to learn a little bit about coding and would be interested in something as immersive as a Candy Crush or a [foreign-language learning app] Duolingo.
The idea of staying away from a game seems to separate Lrn from other beginner- programming apps, which can be like, “We’re going to teach you the basics of programming by having you tell a robot to shoot a laser at another robot.” What was the decision to make an immersive quiz as opposed to a game?
We don’t want people to be shooting lasers — we want them to take it seriously. Because learning to code? It takes commitment. I had to put in hundreds and hundred of hours just to learn the basics of it. And you want it to be fun, but we don’t want to be just another mobile education game or educational game for that matter. A Duolingo, for instance, is not a game — it’s just really nice little interactive quizzes.
Lrn’s interactive quizzes do seem to evoke Duolingo. Were there any other apps you looked to as guidance?
Code Academy was a big application that we looked at a ton; Code School was one we looked at a ton; there’s an application called Swifty that we looked at some. Code Academy and Duolingo were definitely the two biggest inspirations for us. If you look at it, right now there’s only really multiple choice and fill in the blank that we have in the application, but in [versions] 1.1, 1.2, 1.3, we’re rolling out a couple of more quiz styles.
Something we’re seeing really early right now is that people are like, “Oh, I finished the first selection in an hour and I can’t wait to do the next one.” And well, if you’re going through it that quickly, you’re probably not retaining this information. So if we can get people to write code — and get it wrong — it’s going to help with retention and the learning experience.
Why did you start with JavaScript?
JavaScript used to be kind of limited to what you could do on your browser, so if you were to see a pretty animation in your browser or if you were to click on a button and it were to route you to another page — all of that used to be written in JavaScript. But now JavaScript is going across the entire stack. You can build a server with JavaScript, you can build a database with JavaScript, you can build all of the front-facing, client-facing UI, UX with JavaScript on the web. And now also you can build native mobile appilcations using JavaScript with a new framework that Facebook just came out with called React Native, so literally from the very, very back part to a database to a server, to a web interface, to a mobile native application, you can use JavaScript for every single one of those things. It’s kind of too big to fail, and it’s something that we know is going to be around for a while.
How’s the launch going?
The launch went far and beyond the reception that we would have expected, to be honest. The more important thing is that people are getting back to us and being like, “Wow I’m actually learning something from this.” A guy who knew nothing about coding was able to pick out an error in the code that we had in one of the tutorials. Stuff like that where someone knew nothing, and then could come and say, “Let’s change this” — that’s a pretty amazing thing.
It’s me and two other guys that work on this, me and my co-founder Chirag [Jain] sitting in a room for hours every single day doing everything. But the reception has been really encouraging, really inspiring. We put thousands of hours into building this thing, and we love doing it, so we’re really happy to see that it’s resonating with people.
It seems to tap into this sense that coding can be really daunting — it’s like learning a foreign language — but it’s also something that a lot of people are using, so you want to learn it, even from a beginner’s point of view.
We want to make it clear to people that we want to teach you how to speak the language of code. You don’t want to have to become a software engineer. But it skyrocketed my confidence to collaborate with engineers at work, if you just understand the terminology. For instance, Chirag is an amazing engineer — he’s the best engineer I’ve ever worked with — and when he gets to the really tough technical challenges I can’t solve those. But I can understand what he’s solving, and I understand why it would take such a long time to solve them, and when he does solve them I can share in that achievement and that success and be like, “Wow. I can’t believe we solved that.” It’s just like, respect.
In Lrn, you describe functions as the “verbs of programming” — is that a conscious decision to parallel teaching language?
We are thinking about that constantly as we’re writing. I still have it very fresh in my mind of how ridiculously foreign all of this was when I was first starting to learn [coding], so I wanted to make it approachable. It’s digestible; it’s understandable. You’re not learning rocket science; you’re just learning another language. You don’t have to be amazing at math to learn how to program. You don’t have to be an engineer to learn how to program. Anyone can learn the basics.
Lrn is available now on iOS (free to download and $2.99 to unlock all lessons), and an Android version will be coming soon.