How does learning happen? In one fell swoop - linear? Or is there another path that learning takes? We pass judgment on ourselves and others, designing our attempts in ways that are suboptimal based on the assumption of linearity.
Almost nothing is truly linear.
Payment acceptance can be one of the most painful parts of building a web app for a business. When implementing checkout, you want it to be simple to build, secure, and slick to use. Square’s new Web Payment SDK raises the bar in payment acceptance developer experience and provides a best-in-class interface for merchants and buyers.
If you enjoyed this episode and would like me to discuss a question that you have on the show, drop it over at: developertea.com.
If you want to be a part of a supportive community of engineers (non-engineers welcome!) working to improve their lives and careers, join us on the Developer Tea Discord community by visiting https://developertea.com/discord today!
If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.
Transcript (Generated by OpenAI Whisper)
Your progress is not likely to be linear. My name is Jonathan Cutrell, you're listening to Developer Tea. My goal on this show is to help driven developers like you find clarity, perspective, and purpose in their careers. Progress most often when uninterrupted is cyclical. Think about this for a second. Progress and we can sub in the word learning because learning and progress are in many ways and most ways interchangeable. Learning and progress are rarely linear that are more often cyclical. It's not always cyclical either but I want to focus on those two different options, I guess three different options for progress for learning. My first is what we kind of intuitively believe, which is the linear model, right? The linear model of progress. The second is cyclical, a cyclical model of progress which is most common. Then the third is anything else, right? Anything else that doesn't kind of fit those two modes. First let's talk about the idea of linear progress. I want to talk about our intuitive assumption that most things are linear. You've heard this on the show before. The linear model makes the most sense to our brains probably because most of the things that we interact with, we interact with in some close to linear way. Now if you think about physics, this is generally not actually true. Nothing goes from sitting at rest to going a particular velocity, right? Nothing starts moving at a particular velocity instantaneously. That doesn't happen. Everything has a nonlinear acceleration curve or deceleration curve. There's no way to, in average kind of physics setups, at least the ones I'm familiar with, there's no way to go instantaneously to a particular velocity. The concept though, the linear concept is the idea of adding one to one. You stack one book on top of another and now you have two books. Very rarely is something other than linear intuitive to us. It's hard to understand how fast things compound. It's hard to understand the idea of plateaus. If you're thinking in terms of these mental models, and most of what we expect is linear. We expect our progress to be linear. This is why if you were to just set out to create your own learning material, you might say that you want to master one subject at a time. You might look at learning a new language. Then you start by mastering one area of that language and then you move on to the next area of the language. Maybe you master how to use loops in that language and then you master how to use classes in that language. Then you continue all the way through until you believe you've kind of put all of those Lego pieces together. The problem with this approach, as we'll see in a moment when we talk about cyclical learning, is that linear learning generally doesn't happen like that. Why is that? A lot of the way that we learn is about association. We try to fit things into our existing framework of thinking. This is why having good mental models, by the way, is so important. Why we talk about them so much on this show. The way that we fit things into that picture is very often misguided or is in some way it's warped. It's distorted. This is why we talk about biases on this show. As you bring in new information, you may filter that information in suboptimal ways. When we bring information into our brain, so let's say that we are attempting to learn, again, going back to a new programming language. This is a very common fincher. If we take that information and we try to put all of the information about one particular subject into one place, we're trying to find a way to hang all of this information into our brains. We don't really have a lot of surface area for this, you know, large, seemingly large structure of information. There's nothing that it relates to. And so instead, the cyclical model tends to be a more effective approach. The cyclical model allows us to take little pieces of a more broad range of concepts. And we say that your language has 10 different concepts in it, just for the sake of the illustration. You know, 10 primary concepts in a given language. And you skim the very top of each of those 10 concepts. You get a very high level overview. And now as you come back around, you go back to that first one. You can remember some little piece of the other nine, as well as the first piece that you got about this one. And so the idea here is that you start to build that web, the web of information that home in your brain where this stuff can stick to. And so our progress then looks like we are getting good in multiple areas, or maybe we suddenly get this large leap ahead in an area that we've already been practicing at. This is a very common model of progression, not just in our learning processes, but also in our careers. A simple example of this is relationships. You may have a relationship with a colleague, somebody in the industry, and you met them 10 years ago, and you keep in touch every once in a while. And over the many times that you've kept in touch with this person, you continue to build that relationship, eventually maybe you start a company together, right? Or maybe that person ends up being a really close friend of yours, or perhaps they help you get a job. And so this doesn't happen in a linear fashion. It's very unlikely that you're going to build a relationship from not knowing each other at all to being very close friends with intense contact in a linear fashion. Instead, you're going to connect. Maybe you'll have seasons of your life where you're more connected to particular friends. And then you'll possibly disconnect for a while, and then you'll connect again. And so this cycle is very common. It's not, again, it's not the only way if you, you know, if you've been hanging out with some friends and you feel like, you want to practice the cycle on purpose or something, don't feel the need that you have to go and disconnect from them and cycle back around. That's not, we're not prescribing this as a solution to your progress issues or anything like that. Instead, I want you to think about the preconception that everything is linear and actively reject that. Remember that the people that you look up to or the people that you work with, the people in your family, all the people you have relationships with, all of these people are unlikely to be progressing through things in a linear fashion. Many of them, in fact, probably all of them have had times where the thing that you think that they're really good at now, they started failing at or they hit a plateau. And so this experience of going through cyclical progression is very common. Now, I do want to talk about one other model of progression. But first, I want to talk about today's sponsor, Square. Building payments through a website, right through a web app, that can be really painful. Building that is even more painful. When implementing checkout as a developer, you want it to be simple to build, you want to be secure, you want it to have a good user experience. And Square's new web payment SDK raises the bar in payment acceptance developer experience and it provides best in class interface for merchants and buyers. Build a customized branded payment experience with the web payments SDK and never miss a sale, deliver a highly responsive payments flow across web and mobile that integrates with credit and debit cards. Of course, it does, but also it goes to the next step of integrating with digital wallets like Apple Pay, Google Pay, ACA, bank payments, even gift cards. For more complex transactions, you can implement follow-up actions by the customer, which can include completing a payment authentication step, filling in a credit line application form or doing background risk checks on the buyer device. Developers don't need to know if a payment method requires verification and if so, what type? Square handles the complexity from the seller and guides buyers through the necessary steps. You can get started with the new web payments SDK easily. Simply include the web payments SDK JavaScript, flag and element on the page where you want the payment form to appear and then attach hooks for your own custom behavior. Learn more about squares web payments SDK at squ.re slash Developer Tea. That's squ.re slash Developer Tea. Thanks again to square for sponsoring today's episode. I want to talk for a minute now about what feels like random progress. The idea that all of the things that we care about progressing on are going to happen kind of in isolation, but they can be studied for some kind of consistency. This isn't true to life. And much of our attempts to control our progress totally ignore all of the random variables that we can't control. But on top of this, we also imagine that everything that we progress on has some discrete model of progress that only works for that thing for all of time. So as we begin to progress in a linear fashion, we assume that we will continue to progress in a linear fashion. Or if we progress in a cyclical fashion, then we assume that we won't be able to progress in a linear fashion. I'll give you an example of this going back to learning programming languages. Let's say that you've already learned a programming language, maybe a basic kind of class-based language, something dynamic like Ruby. And if you were to go and learn Python after learning Ruby, many of you have done this, then you know that once you've learned Ruby, it's possible that you could approach Python more linearly. And why is this? Well, if you look at the, what we were talking about earlier, the idea of having a place to put this information, you already have the information about Ruby in your mind. And it just so happens that because there are some similarities and some differences, but largely these languages work very similarly to each other, you can take that information in a linear fashion about Python and compare it and contrast it to information that you already have about Ruby. This means that you have a place for that information to go. And so this progress idea is very context dependent. It's also going to change possibly for the same person given two different contexts, or it can change as you go through that process. For example, maybe there's a part of that language that doesn't really have a good corollary. Maybe there's something in Python that doesn't really have a good, you know, comparison to Ruby and you might have to go to a different progress model. The reality is it's very difficult to predict what's going to work. The awareness of these different models helps us to do two things. One, we can design our learning processes a little bit differently to try these different models and trying these different ways of learning. But secondly, and perhaps more importantly, when we do feel like we've either lost information that we once had, right, we feel like we're no longer as agile, as apt as we once were, or when we stall out learning something, when we feel like we've had a plateau, when we feel like we can't put any more information into our minds, we can understand that this is not necessarily a personal limitation. It may just be the progress itself. Thanks so much for listening to today's episode of Developer Teaa huge thank you to square for sponsoring today's episode to learn more about the web payments SDK head over to squ.re slash Developer Tea. If you are enjoying this show and you want us to stick around a little bit longer and we have no plans to stop. But one of the ways that you can help us do that is to go and leave a rating and review in whatever platform you use iTunes is certainly the most important in terms of keeping the show alive. If you want to get deeper into the Developer Teacommunity, then I would love to have you join the Developer Tea Discord head over to DeveloperTea.com slash discord and join the community today. Thanks so much for listening and until next time, enjoy your tea.