Posts

What People Really Mean When They Say “I Want To Learn How To Code”

There are two important things to know about coding education:

  1. Most people don’t actually want to learn to code
  2. Learning to code doesn’t mean one thing anymore

It’s important to know these two things because otherwise the way we teach people about coding is wrong, and people won’t learn.

The first point I’ve seen over and over again. People who tell me they’re going to learn how to code, then they start learning, and they think it’s boring as hell.

I call it the coding fallacy. People think they want to learn to code but what they really want to do is build a product.

When we think about it, this should be fairly obvious. Knowledge of code in and of itself is not valuable if you can’t do anything with it. So for most people the biggest motivation for learning to code is building something (although a close second is getting a higher paying job).

That brings me to point number two. Learning to code doesn’t mean the same thing anymore.

It used to be that in order to code you had to know almost everything about computers (hence the term “Computer Science”). Then things were abstracted to the point where you didn’t really have to dive into certain topics unless you really needed to. For example, as a web application developer at this point I need to know very little about system administration because it’s mostly done for me by tools like Heroku and Amazon Web Services.

So when people say they want to learn how to code, most teachers start where they assume they should (where they always have), with data types, the various structures of a language, and help students develop a deeper understanding of computers.

The problem is that’s not what people want. They want to build something. And we should no longer take for granted that in order to build something you have to learn everything about computers or even coding in general.

For example, if someone is already working with a great back-end developer, it would make sense to just teach them the front-end, because that’s going to be the most useful thing for them. They will actually get what they want done faster, and they will be able to learn the back-end at a later point in time. By doing so we reduce the cognitive load on the student and enable him or her to learn faster.

There’s so much that could possibly be taught about coding that we need to start identifying at least semi-complete subsets that someone could learn. At the very least I want to pose the following important distinction I’ve learned:

  1. Web development
  2. Non-web development

When you’re developing for the web you specifically have to deal with:

— HTML — CSS
— Routing
— Databases
— Hosting/DNS
— Application structure

There’s a lot here to learn. And most of it is pretty irrelevant to non-web development (except databases and application structure obviously).

The way I see it, most coding education involves a bait and switch. It goes like this:

Student: “I want to learn how to code.” (But what they really — but don’t know enough to ask — is I want to build a web or mobile application.)

Teacher: “Okay let’s start with data types.”

Student: “…”

(2 weeks later)

Teacher: “Now we can design efficient algorithms.”

Student: “But I just wanted to make a cool-looking website!”

Learning to code will never make you this happy.

As teachers, we need to recognize that when people say they want to learn how to code, they often really mean that they want to build a web or mobile application.

That’s because to them, that’s what coding IS. It’s all they’ve ever been exposed to about coding. The problem is that they don’t know how to ask for it! So we shouldn’t just be taking everything they say at face value. It’s our job as educators to read between the lines.

I remember watching a play a few years ago in which a priest says that you have to tell the truth even in difficult circumstances. The person he’s talking to asks: “but what if someone asks you a question and you know the truth will hurt them?”

The priest responds: “When someone asks you a question, answer the question they are REALLY asking.”

In education as well, you have to read between the lines to figure out what people really want. If they’re asking some specific thing, you have to guide the person towards what’s going to lead them towards their ideal learning experience.

So it’s up to us as educators and as experts to guide people in the right direction and not just let them flounder. If we can do this, then we can empower a lot more people to do amazing things.

As a student: learn what you want to learn.

One of the best things you can do in your own learning adventures is learn a little bit about a lot of things — so you know what you want to dive deeper into later. Here at One Month, we’re launching a Learning Library in the new year, a free resource of videos, essays, and information on topics related to coding, design, and entrepreneurship. It is your first 1 minute, 1 day and 1 week of content for any subject.

Take Control of Your Career And Create Your Own Learning Curriculum

Learning online is overwhelming. How many times have you started a class and flailed about, looking for the right next steps?

In today’s rapidly accelerating world, we’re all trying to learn as much as we can as quickly as possible. If you’re anything like me, however, this means you can quickly get overwhelmed by all the choices.

Today we get to learn from Mathias Jakobsen, Internet entrepreneur, creator of Think Clearly, and Learning Designer at Hyper Island. Mathias has also curated workshops and learning sessions for the entire team at One Month, and helped our team find our own way as we grow. He took time to share with us his thoughts on learning, online education, making your own career path, and what to do when the transition feels clunky and uncomfortable.

How to chart your own learning path — An interview with Mathias Jakobsen

Sarah: We have a lot of students who are in the middle of career transitions — they’re learning new skills so that they can either get a new job or start an entrepreneurial project on the side. What is some advice you have for students who want to learn new skills but aren’t sure how to begin, or where to start?

Mathias: Make sure to check in with your motivation.

Why do you want to learn this skill? Is it because it might make you money which might give you better life conditions? Or is it because you are truly fascinated and want to learn because you are curious? Or something else? Of course, they are not mutually exclusive, and just because you are motivated by curiosity doesn’t mean that you can’t use the skill to make more money. But I think you will always be better off if you can dare to be honest with your motivation.

I think you will always be better off if you can dare to be honest with your motivation.

If you know that your main motivation is to make more money, then you need to keep that in mind when it gets challenging. How will you deal with getting stuck when it feels like you are not making progress for hours or even days? That’s when you are most likely to give up.

Perhaps you can give yourself a set number of hours and trust that if you truly spend 100 hours trying to learn this, it doesn’t matter so much if you feel stuck for parts of it. It’s a mindset shift from certainty to probability: you will never know in advance if you will be able to learn a new skill and make money from it, but you can define clear steps and conditions that will certainly increase your probability of succeeding.

If you are truly motivated primarily by curiosity, then it will be less challenging.

But if you are not honest with yourself and tell yourself it will be easy because you are curious but actually you are motivated by something else, then when it gets difficult, you will get discouraged and give up.

It’s important to dare to dream precisely about the future you truly desire.

In my coaching work with entrepreneurs I have often helped people dream about what could be possible instead of being stuck on all the things that are currently not possible. The trick here is to be very specific and precise. For example, someone might say that they dream about more money. They also have lots of other ideas and visions, but most people I meet seem to also have this idea of “more money.”

But they have never radically considered exactly how much more money they really want, what exactly they would do with it and what that might concretely look like. Do you want $200K annual salary? Do you want a million? Why not ten million?

So I ask people to tell me how they would spend their money if they had unlimited funds. What exactly would they buy? Most people start off making variations of the same list of all the things that society teaches us that we should desire: one or more luxury homes in a various metropolises, a boat, a plane, a fancy watch or two, some cars, some people are into helicopters, all organic food from Whole Foods, a private chef and so on.

Then I ask people to be more precise and to look up the price tags on all these items so that we can figure out how much money they would actually need to get everything they can dream of. But you can’t look up the price tag of “a fancy car” so you need to decide: is it going to be an old Ferrari F40, a Mercedes AMG SLS or a Bugatti Veyron? All three?

Do the research. And where will you park them? Who will clean that beach house when you are not there? It takes time, but what happens when you keep pushing yourself to see the specific details and make all those little choices, is that suddenly the dreams begin to feel more real, and when that happens, you can begin to realize that most of these are actually not your dreams.

Imagine that life with the specific things in it that you want. Draw it. It can be very motivating.

And then you can begin peeling off the layers and uncover the things you actually want in your life. Again, with the same precision. And don’t be ashamed if you (like me) dream about a vintage Rolex GMT-master. It’s a beautiful watch. Imagine that life with the specific things in it that you want. Draw it. It can be very motivating. But you need to dare to shamelessly let your desires run wild first and go as far as you can into the wanting. See what happens.

You need to dare to shamelessly let your desires run wild first and go as far as you can into the wanting.

Why is it important to continue to re-invest in higher education as you grow older? What are the smartest leaders doing that other people aren’t doing?

Change is happening very fast today.

And the only thing that we know is that it will never again be this slow. It will only get faster. Companies have shorter life cycles. Technologies are being adopted faster. Information travels further and faster. Our skills are getting outdated all the time and need constant updating.

As I see it, learning is the only solution.

And not just this course or that course. But learning as a fundamental attitude is the only sane way to approach the future. Investing in education is just a piece of the puzzle.

What are some of the key tools and aspects of ongoing growth that you see people engaging in?

There is no tool for this. The tool of today may be outdated before I’m done with this sentence. It’s the attitude that matters.

An attitude of curiosity and openness to what’s new. You don’t need to like it or love it. But try it once or twice before making up your mind. I recently tried the new Periscope app. I thought it was stupid. But I pushed myself to try. I had so much fun. I was so surprised by how truly engaging and interesting it was. I was just walking down the street, filming, live-streaming my life and telling the camera that I was on a mission to buy ice cream for my wife. Suddenly there were people from all over the world watching, commenting, interacting and I felt like a human. I felt they cared. I truly felt that. It was incredible.

Three days later I deleted the app and I haven’t used it since. Was it a failure? Does it matter? I spent a total of about 30 minutes playing with it and now I at least have some sense of what it can do and particularly I can understand why others might love it. I explored. Get curious.

Do you see common mistakes people make when digging into self-learning and/or career transition?

People get stuck in all kinds of places. Most often people get stuck in one of these four places:

  • Trying to do it alone, and thinking that they need to (and are supposed to) know in advance, rather than going into it with an explorer’s attitude and taking notes along the way as they uncover, discover and figure it out.
  • Second, not taking the time to properly understand their true motivation. They set out to do something — a bit like a New Years resolution. They want to “lose weight” or “implement a new strategy” but they don’t put in the time and effort to understand why it truly personally motivates them to do this. You need to keep asking yourself “why is this important to me?” And for each answer you ask again “and why is that so important to me?” It typically takes at least seven steps, and often more. And often there are forks because there are multiple answers and each must be explored.
  • Third, people fail to clearly and precisely specify the goal: how much weight to lose. What exactly they want to see as a result of the new strategy. A good guide is to ask yourself: “is the goal so clear that I could give the instructions to someone else and hire them to unambiguously judge if the goal is achieved or not?” It must be something they can actually see with their own eyes. You must be able to track your progress, even if you don’t know exactly the results you will have in advance.
  • Finally, people don’t break their goals into small enough steps. They overestimate their own ability to change and they underestimate how powerful it can be to make tiny changes. If the steps are not clear enough it’s super difficult to act on it.

“Being more organized” is a great ambition to have, but what’s the step to take? Perhaps the first tiny step is to schedule just 10 minutes every week to make a list of what has been most disorganized that week. If you do that for five weeks you may not instantly become more organized but you will have better insight into what specifically is disorganized in your life.

Then the next step may be to pick one of the smallest things that kept showing up. Then, treat yourself. You are on the way to becoming a lot more organized by taking this first small and incredibly crucial step. You are shifting your perception of yourself from being disorganized to being someone who slowly but surely will become organized. And yes, this will not immediately solve your inbox and the clutter on your desk, but remember you’ve lived with the mess for years now anyway, so it can probably wait another few months.

If you could teach people three things, what would it be?

To seriously explore their own wants and desires in a precise, honest, ongoing and systematic way. Not to act on every desire, but to know what they are. And to get rid of all those that have simply been pushed onto you, as I wrote above.

I also strongly believe in taking notes and using tools that help you slow down at least temporarily. This shift in mind tempo seems to be very beneficial for seeing the longer threads that get lost in the haze of rapid (but small) changes that we see day to day.

To reflect regularly in order to integrate thinking and feeling and to discover and learn about yourself in whatever situations and experiences you go through.

To be kind to others. Both for the benefit of the other, but mainly for the benefit of oneself. Part of this is learning about yourself and what situations where you find it more difficult to be kind. Being late for a meeting and waiting on a busy subway is not a situation where I personally find it easy to be kind and let others on the train first. So I try to always be very early for things. If I haven’t eaten properly I also find it hard to be kind and sharing with others, so I try to ensure that I get proper meals. This sounds stupid when I write it, but it’s really important.

You are a learning designer with Hyper Island, a company that focuses on the development of individual and company leadership growth. Can you tell us a bit more about your work at Hyper Island and the process? What do you do, and how does it work?

Hyper Island is a creative business school, and we consult with extraordinary individuals around the world. We enable organizations and individuals to see the bigger picture, engage, and act on opportunities that arise in our digital and technological age.

My primary job is to create a learning journey for the participants, which takes them from where they are and to where they can be, using whatever resources I have available in the form of speakers, sessions, workshops and our methodology.

The first step is to know where the participants are in their lives, companies, and experiences. I often do interviews with them or others do the interviews and I read the results. For some of our open classes, there is also bit of a filter for who signs up in the first place, so it’s not completely random. However, for some of our tailored programs for companies, the interviews are absolutely crucial to understanding where they really are and what they need.

The journey has several stages and we design different experiences and elements to best suit each team. There can be a lot of variation from one workshop to another, but some of the recurring elements are:

  • Build trust amongst the group. This is important for everything that comes after.
  • Set a clear precedent or example of the type of participation that is expected (this is not a class where you get to lean back and just listen, you will be asked without warning to discuss a question that seemingly has no definite answer, and still come up with one clear answer in a small group, in just 120 seconds, so get used to it) This might make people uncomfortable at first. That’s part of it.
  • Encourage space for self-assessment. Where am I in relation to X? Where are the others in the group?
  • Gather input. This can be powerful stories, ideas, concepts.
  • Lead exercises and workshops. Building on the input, pushing participants to do something with the material. Putting material into context and applying the skills they are learning enables them to take it home with them more permanently.
  • Self-reflection. Participants learn “what does this mean for me?”
  • Group sharing of reflections.

These are the elements of a learning journey, and within this journey, we can go through stages like “opening up and seeing the big picture” into “experimentation with a new attitude” and finally “planning, execution and implementation.”

Take us into the transformation of a participant. What are they like when they arrive, and what has changed when they leave?

People arrive with expectations.

Maybe they expect a traditional class with lectures. Others come on the recommendation of a friend, and while they have no clear understanding of what will happen, they have very high expectations because their friend told them it would be incredible.

One of the first things we ask people to do is to share something that they normally would never share with others. It catches people off guard, and with little time to prepare, most people simply go for it. They are pushed to be vulnerable in front of a whole group. I think it’s pretty intense for the participant. But it also opens up the space so much after.

Some of our speakers are really good at pushing your thinking. To let go of some of your ideas and beliefs and judgements. Or at least consider how the world would look if you saw beyond your own judgement. That others might see it differently.

By the end of the first day most people express that they feel that their head is spinning. People report not being able to fall asleep.

The morning of the second day it’s time for quiet reflection and introspection. I love this part of the journey. We ask people to write down their answers to a set of questions that gently guide people into their memory, then into their emotions, then into critical thinking and eventually to consider larger implications of their new insights. It all happens individually, in silence at first.

Because most people don’t take the time (or have the time) to sit quietly and reflect, it can be super powerful.

It’s legitimate because the facilitator asked you to do it, and everyone else is doing it. I personally hate when some senior executive feels that he is so important that he must check his e-mail during those minutes. It’s like pissing on everyone else.

The second day of the journey is very creative and the experience for most people is that they suddenly tap into creative resources they never knew they had. It’s hugely empowering. The climax is typically at the end of day two.

On the last day it’s time to gather the new learnings and come back down to earth. To devise concrete action plans for putting the new stuff into practice. To solidify the learnings into an understanding or a framework that they can take with them.

When they leave they are less afraid.

They often say this out loud, but even if they don’t I can feel it. That’s probably one of the main reasons why I work here. It’s so hard to think clearly when there is fear. We help people leave lighter, less afraid.

As a school, you do this predominantly through face-to-face interactions. Tell us more about why in-person interaction is such an important tool.

Most people have really bad habits when they are in front of a laptop. The rapid Cmd-tab multi tasking shortcut is so hardwired into my brain that if an app or site is remotely unresponsive I will instinctively jump to another app or site while I wait.

Even if I have nothing to do there I just do it because it feels like I’m wasting time waiting for something else. This might be rational from a certain efficiency perspective. Back in the day when downloading a large PDF might have taken 50 minutes, I’m probably better off writing a few e-mails rather than waiting for the file to download while staring at the progress indicator.

But today the lag might be half a second before I switch. All it does is make me feel scattered and it’s simply a bad habit that I haven’t managed to change. I think we all have such habits, which most of the time are not that big a deal, especially if we are doing lots of little admin-style tasks, responding to tweets and other things that require no more than 3 second bursts of concentration. But for learning we often need more focus. Especially if we are trying to learn something that is not easy.

Face-to-face is by no means a silver bullet for this. Many learnings environments are so dull and boring and disengaging that you are probably better off just randomly surfing interesting Wikipedia articles on your phone than paying attention to the lecture or training that is being presented. We have all been there. It sucks.

You can make both online and offline teaching boring as hell.

However, let’s consider a session that is highly engaging but with content that is also difficult, challenging and hard to comprehend. For this I think that face-to-face sessions with a group, the way we do it at Hyper Island and many other places, can significantly help people stay focused and engaged because there is interaction and because it’s very easy to see that nobody else is “checking out” with their phones so it creates a social pressure to not do so.

The room creates a certain force of attention which both fuels the presenter with energy but also makes it less demanding for the participants to hold the attention because it’s already flowing in the room.

The other thing that can be much more effective in person-to-person, is building trust, which can be crucial if you want to have an engaged and engaging conversation or discussion in a learning environment. Trust can of course also be created online, but in my opinion it just takes a lot more time and effort. Probably because we have less non-verbal communication (body language, scents, touch etc.).

One of our challenges at One Month is in building this type of community online: in your perspective, what are the pros and cons of online education? When does each thrive?

I obviously love doing live, in-person learning experiences, but I am also realizing that it has so many limitations. It really doesn’t scale well: if you add more than 30 people in the same room you begin to lose the interactive experience, and it becomes like a conference instead.

It’s also geographically limited to people who are in close proximity to each other, or who are willing to travel. For brief learning sprints of 2–3 days this is not an issue, but if you want to really go deep in something it’s usually better to come together as a group on a weekly basis and then do individual exploration in between.

At Hyper Island we don’t believe that online education can replace some of the personal and organizational transformation work we do through our courses, but we do believe that integrating the online and offline can be tremendous. By using both, you can create a blended experience where some of the early trust building work happens in person and most of the deep dive and implementation happens virtually.

This allows us create much more valuable learning experiences. We are curiously exploring and experimenting in this space. We definitely haven’t solved it yet, but the opportunities are so massive and the fact that it has transformative potential on a truly global scale makes me really excited.

When does online learning excel? What is special about being online and connected in a way that we can’t do in person?

What online can do much better is to make the learning path individual. Each person can move in their own tempo and it can even be non-linear. One might choose a different order of learning.

What online can do much better is to make the learning path individual.

You can also do a lot of things that are not synchronised. This allows people to learn together from completely different locations and time zones.

I think online learning can excel when:

  • It’s social — an actual group of people who are learning together and who are committed to getting to know each other just like you would naturally do offline. This means taking the extra time to build trust. To small talk. To talk about the stuff we care about personally outside of the stuff we are learning. Who we are as people. What we dream about. I think it’s best when it’s a pretty small group. Even if the small group is also part of a huge group, I think a sub group of 5–10 people is ideal online. Everyone takes the time to have 1:1 conversations. Using something like the NYTimes 36 questions to fall in love, could be a simple 30 minutes activity that everyone does with each other (that’s two full hours for each person in a group of five)
  • What is to be learned is already well documented on the Internet at large (most stuff is today)
  • The teacher’s main job is to give the group the questions and directions for exploration.
  • Assignments that the group must solve together or maybe in pairs and which has some form of creative output. The teacher knows that it can be solved. The teacher has defined a reasonable format and time frame for the task. And the teacher is available for support if anyone gets really stuck.
  • The groups present their findings to each other.
  • The teacher also designs the experience so that there is a reasonable progression and adjusts based on the feedback of how well the groups solve the challenges. So the initial exercises are simpler and require few steps but they build up resources, knowledge and confidence which can be incorporated in later and more complex challenges.

You also write a newsletter, Think Clearly, based on your years of work with entrepreneurs and business leaders. What is the process you use when working with entrepreneurs? How do you help them clarify the noise and focus on what’s important?

I listen and ask questions.

More concretely, I have also used certain spaces and places that are not so ordinary, in order to help people get out of their normal habits.

A busy coffee shop can be fine for some meetings and for long time clients where we have built our habits and ways for working, we can do the conversation in the most distracting place and still be 100% focused.

But when you are first starting out, a quiet and slightly strange place can simply be more effective. I have used the lobby in the TriBeCa Grand Hotel for years. They serve great coffee, the staff is super friendly, and it’s quiet with high ceilings and skylights, yet, dark and intimate. It’s perfect.

You recently had a brand-new baby. How has she helped you reconsider the world? What do you see about the world through your children’s eyes?

The three things I want to teach everyone (above) are probably what I will teach my kids.

I think being a father is amazing for me. I feel so grounded in that experience and in having a family where there is so much love flowing around. My wife is incredible.

No matter how many miles I fly away to the other side of the planet to run some workshop, I feel grounded in them and I am happy that I both get to go away and then to come back home.

I learned that it’s very important for me to be doing work that I truly care about. Because then I take the energy I get from home and invest in my work, and I get a different kind of energy from doing the work which I can then bring home.

I also realize that while I have very reasonable hours at Hyper Island (I work pretty much exactly 40 hours per week), I still don’t see my kids that much. I see Noah for an hour in the morning and an hour in the evening and then on the weekend. But I know that when we are together, I’m a dad that brings home energy from doing something that matters to me. I work because it matters. It also pays for our rent, but I honestly feel that’s an added bonus. If I were independently wealthy I would still go out and do work that I care about because I want my kids to see that.

We’ve talked before about the magic in the mundane — how the smallest of things can make the biggest difference in life changes. What mundane things are magical in your own life? Can you give a few examples?

Magic: baking bread. Mixing flour and water and salt and making delicious food. Baked loaf 326 yesterday.

Changing a diaper can be such a rewarding experience. When I pay attention it has a lovely mix of intimacy but also efficient choreography of moves and swipes which can truly be mastered as an art form.

Sometimes just seeing the lit up NYC skyline from the packed subway car passing over the Williamsburg bridge after a long day.

What’s the biggest lesson you’ve learned this year, personally?

That my kryptonite is that I want to be liked by others.

I realized this a few weeks ago and it is so hugely liberating to know that this is the case. I think it is quite common actually, but I never knew for myself, and it limited my scope of action. From now on I may still limit my scope of action, because I still want to be liked.

But now I know it and it is my choice, and I know I can also choose a different action outside of that scope if I am just willing to risk not being liked. I tried it recently and it was hugely empowering even though it was such a tiny thing.

Let’s Change How We Think About Learning to Code

Before I ever had my first paid job as a programmer, I spent a lot of time contemplating what it means to get paid as a programmer. I was a hobbyist, teaching myself to code in grade school and high school.

When I became a freshman in college studying Computer Science, I began thinking about the future. I was being asked to commit to being a programmer for the rest of my life. I had no idea what it meant to work with programmers or even work as one on a team.

I’m sure anyone looking to dive into software will have the same questions.

  • How do I start learning to code?
  • What language should I use?
  • What kind of computer should I have?
  • What operating system do I need?
  • What books should I read?
  • Should I go to a bootcamp?

The trouble is that all these are surface level questions. You feel frustrated because every time you ask these questions, you don’t feel like the answers satisfy you. Someone can write a post telling you the differences between Ruby vs Python and yet at the end you still can’t make a decision between the two.

That’s because there is a laundry list of meta-questions you might not even be aware of yet. What you’re really trying to answer are questions like these:

  • Why do we have so many programming languages?
  • How do I know if I’m on the right path, using the right technologies, and working with the right people?
  • What is the difference between a bad programmer and a good one?
  • How can I tell if other people are good or bad programmers?
  • How will I know when I’m a good programmer?

These are just scratching the surface of the underlying questions you probably have.

You will have this intense feeling of discomfort for a while. You know there are lots of important questions you should be asking, but you don’t know what they are yet or how to articulate them.

This experience shouldn’t be unfamiliar to you. Remember in high school when they tried to prepare you for college? You took these career quizzes, teachers gave you advice, your parents pushed you in different directions. It was a huge decision to make and you didn’t even know where to begin.

It’s the same thing when you start programming. The fundamentals of computers have always been the same.

It is called a programming *language* for a reason.

The most obvious purpose of a programming language is to tell the computer to do what you want. I type some code, it reads it, and adds two numbers together and gives me the result just like I expected it to. Perfect.

The hidden purpose of a programming language is to talk with other human beings.

The hidden purpose of a programming language is to talk with other human beings. We have many natural languages like English, Spanish, German, Chinese, the list goes on. There are many ways we can communicate with other human beings. The same thing applies to programming and this is why we have so many different programming languages.

There are a thousand ways to explain an idea. The computer can understand all of them, but humans can’t. When you write code, you have to express your ideas in the clearest ways. Code that you wrote six months ago looks like gibberish because you think differently now. There is so much difference in human thinking due to learning, culture, and experience. That means that great code emphasizes human understanding first and computers second.

Great code emphasizes human understanding first and computers second.

There is a broad spectrum here and each programming language falls somewhere on it.

Some programming languages are designed more for computers than they are for humans. In fact, the most computer-focused programming language would actually be 1s and 0s. Something that, as humans, we wouldn’t even consider a language at all.

As you move up the chain, you can see things shift more towards humans.

Assembly is introduced to make the 1s and 0s more memorable for us.

C is designed to be an easier level than assembly but you still have to heavily think about how the internals of a computer works.

C++ begins to introduce some human concepts into the language so we can represent ideas better in code.

Java builds upon the ideas of C++ but abstracts away the internals of the computer as best it can. You don’t need to care about how things inside your computer like RAM is used as much.

Python takes another step towards humans and focuses on a syntax that’s more readable for humans but still has a lot of the structure inside it.

Ruby is focused on flexibility. They want your code to be like writing a story or a poem. Sure, you still have to worry about how the computer works somewhat, but even less so than Python.

Every programming language fits on this scale somewhere.

The trouble is that it’s hard to even understand what this means as a beginner programmer. If you don’t know how the computer works, then Assembly is going to sound scary. At the same time, if you only ever learn Python then you will feel something is missing because you’ve never learned how the internals of the computer actually work.

The trouble is that it’s hard to even understand what this means as a beginner programmer.

The internals of the computer are the building blocks of programming that you’re taught in college. The problem is that college is on one end of a spectrum that we didn’t realize existed until recently.

In a college computer science degree, you’re put in a world of heavy theory and concepts. There is little practical application of these ideas, but you dive deep into these topics. You learn about algorithms and data structures and how the electricity flows through the computer to make it work. Yet, you learn all this without seeing its value applied to problems that make money in the business world. At the end of the day it feels very disconnected.

Bootcamps tend to be the opposite end of the spectrum. You learn how to type code without ever learning how a computer works. The stuff you learn is built upon a fragile foundation because you’ve been quickly pushed through a system designed to get you a job after just three months (or less).

Until the recent rise of bootcamps and online learning, I don’t think it has been obvious this spectrum even existed in education. As you read this, 5 more bootcamps are getting started and 5 more colleges are committing to teaching old technology for another year (not really, but basically).

The value of programming and tech is becoming apparent to the entire world and it’s becoming cool.

The value of programming and tech is becoming apparent to the entire world and it’s becoming cool. Being a programmer used to be considered unattainable if you weren’t trained in it. With the rise of popularity in startups and the financial success of tech companies, learning programming and investing in technology is becoming the cool thing to do. The barrier to entry isn’t as high as it has been in the past and the average person is able to hop online and start learning Rails in 30 seconds.

The value of having skills in tech are becoming increasingly obvious as well. Being a programmer means you can work from home, remotely, and still take home a six figure salary. Print designers are looking to add web design to their skill set because they know they can advance their careers that way. Corporate managers are looking to start a startup because they feel like they would get more value out of it. The list goes on and on.

The important piece of all this is that these are all people without a technical background.

They come from careers where software was not a large part of their job. The need for learning software from a more human focused vantage point is clear.

It is likely that college will persist as the place to learn deeply technical things and bootcamps will be the place to dip your toes in the water.

There is a middle ground though that is largely unfulfilled — and what online education startups are beginning to address. A place where you can go to dip your toes in, but shows you that going deeper isn’t scary.

The reality is that everything about computers that exists today was created by humans. It’s all a product of our imaginations and hard work. We have the tools for anyone to learn it.

The path to becoming a programmer is simple. You start at a point on the spectrum where you feel most comfortable and you work your way towards the middle.

The path to becoming a programmer is simple. You start at a point on the spectrum where you feel most comfortable and you work your way towards the middle. The middle ground is a place where people are equally comfortable with people and computers. It’s the future we’ve dreamed about where most people are able to write their own software to solve their problems.

If you start on the deeply technical side of the spectrum, you’ll be best served by figuring out how to apply your technical skills to solve human problems. All the hard work and innovative software you create can be used by thousands of people to solve their problems in unique ways.

If you start on the human side, learning technical skills and programming will give you a tremendous advantage in solving those human problems you work on every day. Maybe that nagging issue you can’t seem to fix is solvable by writing your own tool to improve communication.

The important thing to realize is that there’s no one way to start and no one direction to go. If there were, everyone would be doing this and it would be easy. But you should keep trying because coding is one of the most valuable and creative things you could ever do. You can literally build things out of thin air that don’t exist yet.

And one day you’ll step back from the computer and realize you finally get it. There’s no feeling like it. As Neil Gaiman says, “Perfection is like chasing the horizon. Keep moving.”

Top Five Reasons You’re Wasting Your Money When You Don’t Know How To Code

Here’s a guy.

He works in Bushwick, Brooklyn.

“Creative Director” they call him. Well, he isn’t introduced that way, but if you saw him; you’d know. He doesn’t give pep talks. Doesn’t own a car. He donates to NPR, and cares deeply about Meatless Mondays.

He’s changing the world. Or so he thinks.

Because… while his non-profit has been steadily raising money for water in Africa (over $2m came in from donors just this year!) …a fat chunk of that cash has already been lost. Lost on spaghetti code and fucking abysmal project management.

If you’re going to be working with a web development team you should know, at the very least, some coding fundamentals. Otherwise, you’re likely wasting money. Money that might be your savings, your company’s investment, or money that is owed to a group of children 7,500 miles from America.

Here are 5 reasons you waste money not knowing how to code:

1. It takes you 30 minutes to understand a basic coding concept

“So…. tell me again, the CSS is doing the who?”

2. You have to ask your developer to make every little change

“Hey Tom, can I see the text in Red?”, you ask, “Blue?”, “Dragon Green?”, “Honey Yellow?”

If you knew just a little bit of code you might be able to check it out the text editor yourself, or even update the CSS (it’s not that difficult). Okay, not that you should, but if you could then at least you’d know how long it takes.

You might also just use Chrome’s Web Inspector (which could test out all 4 of those colors in less than one minute), saving you and your developer a lot of back and forth time on revisions.

All tips that come within the first 20 hours (or so) of learning to code.

3. You Hire the wrong people

4. You chose the wrong language!

“Should we use CSS, XML, SSL, or CMS?”

5. You can’t properly estimate a project

In programming, it can be hard to explain the difference between the easy, and the virtually impossible. Knowing how to code makes that easier.

During my career I’ve watched tens of thousands of dollars slip away from non-profits — mostly due to mismanaged developers, and poor technology choices. Money that could have been literally feeding children in Africa!

I used to work for a non-profit. It was dark period. But it doesn’t have to always be that way.

Even if you don’t work at a non-profit, I’m sure you’d like to save some money: learning to code helps project managers manage better, it makes team leaders more confident, and most importantly it makes you look more attractive.

Coding Challenge: 3 Ways to Make Sure You Finish Every Course You Start

Listen, I’ll be the first to admit I can be incredibly lazy.

If you give me five minutes to finish a project, I’ll do it in exactly five minutes.

But if you give me five months to finish the same project, I’ll take the full five months!

I’m not alone in this. Most people are not self-starters for everything they do. But people do finish certain things. Most people finish high school. Most people finish college classes. But other things we don’t finish.

Why is that? These are things that can get challenging at times, and make you wanna go:

However… I believe I’ve identified the reason for most people finishing. It’s these three things:

Social Pressure
+
Financial Pressure
+
Super Clear Goals

If you have these three things in place, there’s an enormously large chance you will finish something.

For example, if you were enrolled in some college classes, here’s the breakdown of what keeps you going:

Social Pressure:

You are EXPECTED to finish the class because your parents, your professor, your friends all expect you to. It would be embarrassing and sort of shameful to not finish. So even when things get tough, you don’t just quit… you push through.

Financial Pressure:

Someone is paying for this! Maybe it’s your parents, maybe it’s you… but someone is shelling out money for you to learn, so you have to make sure you get your value out of it. People value things far more when they pay for them.

Super Clear Goals:

This one is a huge. By simply having an exact start date, check in times, and end date… you are far more likely to finish something.

In a college class the professor will tell you:

  • WHEN the first day of class is, and the exact time.
  • WHEN the quiz is.
  • WHEN the test is, and when it takes place.
  • WHEN the final exam is, and when it takes place.

These are all super clear goals you need to hit, or else suffer in some way.

However when people undertake something like One Month Rails, they make no specific end dates, forget to add in accountability, and maybe let it slide for a while. Meaning they don’t have all three elements for completion:

  • Social Pressure
  • Financial Pressure
  • Super Clear Goals

Without these three elements, most people won’t get things done! And if your goal is to learn rails, then you need to set yourself up for success.

So how does this help us learn from One Month?

Well, I originally started One Month Rails with no luck. I actually got to Video 2 then stopped because I had other stuff happening.

(In my real life I teach people how to become copywriters, which means I’m by no means a natural coder. It also means I’ve got TONS OF OTHER THINGS that constantly require my attention.)

You probably do too.

So when I get stuck on a video explaining how to upload to GitHub, or push to Heroku, and something goes wrong… I’d immediately give up!

So let’s apply these three factors for success and create our own Coding Challenge!

This is something fun you can do with your friends — here’s how you can create your own coding challenge!

1: Social Pressure

To create social pressure you need to involve some friends. This means you can go to Facebook and type it in real quick that you want to do a Coding Challenge, like this:

You can invite people from your school, family members, blog readers, whoever. I invited my friends and email list from my copywriting business. I got a total of 29 people who signed up.

Because of those 29 people, I now felt socially pressured to finish the course on time.

I also linked them to a Google Spreadsheet where they could enter their name and track daily progress like this:

So now there’s a tracking chart we can all use to publicly keep each other accountable.

The next step was communicating with each other, which was simply done through a free Slack chat group. It was pretty simple, and people could ask questions or publicly rouse each other if we were falling behind (people were cool with it).

2: FINANCIAL PRESSURE

The financial pressure comes from when people signup to One Month Rails. Of course you have to pay some money, so you now have skin in the game!

People grumble and moan about paying for stuff… but people value things far more when they pay for them.

One of the crazy things about this challenge was that I sent people who joined a referral link from One Month. You can signup for the referral program here: http://refer.onemonth.com

I actually made over $1,000 from the people I signed up! That was a bonus side-effect of the challenge ($1,082 to be precise):

I also charged people from my email list $100 to join the challenge. This resulted in more extra income (29 people X $100 = $2,900).

Making money was never an intent for this challenge, but it sure was a nice little bonus.

3: SUPER CLEAR GOALS

I looked at the One Month Rails schedule, and realized it was exactly 30 days.

So I set the date of the challenge as April 1st — April 30th. Exactly 30 days.

I decided that dedicating just one hour a day to learning Ruby On Rails would be doable. In fact it ended up being less than that, because some of the lessons can be completed in a few minutes.

So now everything was in place!

Social Pressure : Friends and others had joined the challenge. We had a tracking document. We had a chat group.

+

Financial Pressure : Everyone paid for One Month Rails.

+

Super Clear Goals: The starting date would be April 1st. The ending date would be April 30th.

And guess what… I ACTUALLY FINISHED IT ON APRIL 30th!!!

I had successfully built an app called NevTrest (like Pintrest) that actually worked! You can even upload Pins and Photos and Descriptions.

Even though it was pretty basic, I was immensely proud 🙂

And of course a lot of the people who did The Coding Challenge with me finished the course too. Check out one of the members emails to me after:

Hi Neville,

I got through the Coding Challenge last month. Thanks for putting it together. I’d been meaning to learn RoR for some time, but until the Challenge I kept putting it off. While I’m no expert yet, I feel like last month gave me a good foundation. Thanks again. — John Y.

Anyhow, I sincerely hope you take this advice to try and form your own Coding Challenge with your friends.

I sincerely think with the right mixture of Social Pressure, Financial Pressure, and Super Clear Goals you will set yourself up for success with One Month!

Why a Growth Mindset is Essential for Learning

Have you ever heard anyone say “I can’t draw,” or “I’m not good at sports,” or “I could never do that?”

I used to think I’d never be able to draw. The way I understood the world was that there were artists, and then there were other people.

I was one of those other people. I had my own areas of creativity, but drawing wasn’t one of them. And yet somehow I stumbled into architecture and design school at the age of 21, trying to learn how to draw.

“Genius (or talent) is not enough; we need to get the job done.” — Carol Dweck

Even my graduate school teacher stood behind my desk and shook her head and told me that I wasn’t talented. (In retrospect, that wasn’t a very good example of teaching.) For years, I carried around a belief about my skill meant, in my mind, I’d never be able to do it.

Unfortunately, this is a mindset, and it’s one that we are all taught — but it’s incorrect. We can all learn, and part of this learning is about adopting a new mindset about how we learn at all.

How identifying and adapting your own mindset can help you learn

Interestingly, as children we’ll spend hours and hours learning how to do new things — from learning how to speak, crawl, walk, and go to the bathroom — but as adults, we think that our ability to learn is no longer part of our repertoire.

According to researcher Carol Dweck, the attitude and belief that you can’t learn something is part of a mindset, and it’s something that we can change. When it comes to our mindset, people fall into one of two predictable patterns: they learn to adopt either a growth mindset or a fixed mindset. The good news? These basic beliefs are learned, and we can changed them.

A lot of people seem to carry around fixed beliefs about what they can and cannot do.

Growth mindsets vs fixed mindsets

In a fixed mindset, you come to believe that your skills, traits, and talents are fixed. What you know is unchanging, and therefore, you can’t possibly learn anything new. While this seems extreme at first, you can hear it crop up in conversations when people say things like “I’m a terrible singer,” or “I can’t dance,” or “I’m not a good athlete.” All of these are an example of a fixed mindset.

The misfortune here is that people haven’t taken the time to practice — to work through and puzzle over something until they have acquired a new skill. And thus, they dismiss their ability and say that they simply “can’t” do something.

A growth mindset, however, believes that challenges and learning are opportunities, and that failure is an opportunity for growth. Rather than seeking out evidence that proves we’re not smart, people with a growth mindset focus on process and progress, searching out opportunities to stretch their existing abilities.

This belief that intelligence and personality can be developed has profound consequences on our behavior as adults. “Believing that your qualities are carved in stone (the fixed mindset) creates an urgency to prove yourself over and over.” People will avoid difficult situations, refuse to challenge themselves, and effectively evaluate every situation to see if it will make them look smart or dumb, whether they will success or fail.

In contrast, the growth mindset believes that “the hand you’re dealt is just the starting point for development,” and “that your basic qualities are things you can cultivate through your efforts.” The growth mindset embodies a passion for learning (rather than a hunger for approval).

The growth mindset embodies a passion for learning rather than a hunger for approval.

Why prizing natural ability is bad for learning

When we prize “natural ability” or “talent” over learned ability, describes Dweck, we undermine the process of learning. When we expect ourselves to “just know it” and to be perfect from the first time we start anything, we end up creating a framework that scares us from trying anything new:

‘Mindsets frame the running account that’s taking place in people’s heads. They guide the whole interpretation process. The fixed mindset creates an internal monologue that is focused on judging: ‘This means I’m a loser.’ ‘This means I’m a better person than they are’ ‘This means I’m a bad husband.’ ‘This means my partner is selfish.’”

The reality, however, is that learning is a constant experience of expansion, difficulty, repetition, and mastery. When an toddler first learns to walk, we don’t yell at them for being incompetent with their first 100 or 1,000 tries. They fall down, they get back up. Nothing stops them for very long from eventually wobbling about on two legs.

Yet as we get older, we start to expect ourselves to naturally know how to do something. As a culture, we prize natural endowment over earned ability.

“As much as our culture talks about individual effort and self improvement, deep down, we revere the naturals.”

How many opportunities for learning are we losing if we place our admiration on youth and natural ability?

Growth mindsets prioritize learning:

People with a growth mindset learn that:

  • Trying and failing is part of the process
  • Learning requires stumbling, correcting, and growing
  • You don’t have to know everything in advance
  • Practice and skill-building are more important than embedded talent
  • You’re always a beginner
  • Life is about life-long learning

Three ways a growth mindset shows up in learning:

Once you know the difference between a growth mindset and a fixed mindset, you can start to notice how it shows up in your everyday habits and in your learning. Here are three ways that a growth mindset stands out:

#1: “Those with a growth mindset found success in doing their best, in learning, and improving.”

People with a growth mindset derive just as much happiness from the process as the results. They look for challenges and opportunities to engage with material, rather than deriving all of their satisfaction from mastery. Rather than focus exclusively on the outcome or the goal, they focus equally on the process.

Rather than desiring a finished book, written and perfected, they are motivated by the process of showing up every day to write and edit. Master athletic champions will continue to find ways to improve their personal best rather than sitting on the bench and buffing their nails.

#2: “Those with a growth mindset found setbacks motivating. They’re informative. They’re a wake-up call.”

“In the fixed mindset, setbacks label you,” explains Dweck. “You’re terrified of losing and performing badly, because to you, you are your performance. When you perform badly, you’re devastated, because you, by association, are now no longer valuable or special.”

Whereas a fixed mindset affixes their identity to the outcome, a growth mindset knows that their performance is not the only indicator of who they are. “Wow, that performance wasn’t as good,” the growth mindset might say. “I wonder what I could do differently to get a different outcome? How can I change and grow here to improve my game?”

#3 “People with the growth mindset in sports (as in pre-med chemistry) took charge of the processes that bring success — and that maintain it.

When you believe you are fixed, “you are not a work in process, you’re a finished product,” Dweck says. When you believe that you already have all of the ability you’ll ever have, there’s little reason to invest in processes that will help you grow your skills — that wouldn’t matter. “In the fixed mindset, you don’t take control of your abilities and your motivation.”

In contrast, the growth mindset knows that we are each responsible for our own learning and growth, and are therefore responsible for setting up systems for continuing our own learning. If we want to become a doctor, we’ll set out to learn everything about pre-med chemistry. If there are particular areas that are challenging or cause struggle, we’ll ask for extra help and spend more time on the puzzles until we figure out a way to do it.

Some of the best hip-hop dancers, for example, don’t just naturally begin with their talent. (And talent is a tricky word and often not a helpful word.) While talent might be what you begin with, where you end up depends on your desire to learn, practice, and improve. Many of my favorite performers have spent hundreds of thousands of hours practicing, falling, tripping, and stumbling over routines until they mastered their moves.

How to adopt the growth mindset in your own life:

  • Reward yourself for the process of working and learning, not the outcome…. such as working on challenging problems. Say to yourself “That was great — I really pushed myself and struggled with that for a while,” not “I’m such an idiot for not knowing this.”
  • When you successfully complete something, try out phrases that reward your ability to learn and grow, not your inherent success.
  • Search for and look for things that challenge you, and find ways to enjoy the challenge.
  • Don’t attribute your success or failure to inherent skills; instead, notice the hard work and effort involved in both.
  • Record the entire process (struggle and all) and begin to link the struggle with the adventure of learning.

Learn how to learn by training your own growth mindset:

Luckily, the growth mindset can be learned, says Dweck. People with the growth mindset are constantly trying to improve. “They surround themselves with the most able people they can find, they look squarely at their own mistakes and deficiencies, and they ask frankly what skills they and the company will need in the future.”

As for me, back in graduate school, I was surrounded by people who were drawing every day, and I had to complete drawing assignments every day for several semesters. Over time, the gap between my skill and my taste began to close, and my drawings improved, bit by bit. (For the first year and a half, I thought I wouldn’t actually be able to master the skills to further my design career.)

Then, about a year and a half in, I pinned a drawing up to the wall — a graphite still-life sketch. The teacher paused and said, “This one is not so bad — in fact, it has great linework in here, and we can work on the perspective over here…”

Today, a decade later, I still smile when people watch me draw and they tell me that I’m a natural. I think about the years it took for me to overcome my own beliefs and push my abilities, and how now I believe that anyone can learn anything. When people cough and say “I can’t draw,” I know for certain that yes, they too can learn to draw.

It might not be easy.

But everyone can learn.

9 Great Lessons on Learning From Ancient Philosophers

Give a man a program, frustrate him for a day. Teach a man to program, frustrate him for a lifetime.” — Chris Oliver

“Son of a …!” — Alex Miles Younger

“…Welcome to programming!” — Lee Matos

Have you ever been frustrated by something beyond belief? Wanted to quit, give up, or walk away? You’re not alone. This is the plight of learners everywhere.

Programming, coding, and problem solving are all very similar in nature: get into a frustrating pickle, and figure out how to get out of it. The art of learning involves becoming very familiar with the process of figuring it out when things go wrong.

Our Python course kicked off last week, and we’ve had students in the office working night and day to solve problems and figure out technical issues for the first round of students taking the class. The first month of a course launch is always the hardest, because no matter what you do — no matter how much we prepare as teachers and as educators — there are always hundreds of student questions beyond what we expect.

Yet as teachers and learners both, we see this process happen time and time again. In fact, it’s how this company started in the first place.

Late-night jam sessions with students working on our latest Python course.

One Month Rails was born out of a deep frustration

One Month was born out of a deep frustration in learning how to code — Mattan was frustrated at what was available in coding education, and wanted to be able to build his project himself. So, he sat himself in a room for 30 days and muscled through the code, eventually teaching himself the basics of rails and figuring out how to become a developer on his own. It wasn’t easy by any stretch of the imagination, and there were days when he had no idea if what he was learning would help him actually build something that he wanted to build.

As lifelong learners, it’s our job to strike a balance between staying motivated and sticking through the frustration to solve the puzzle. Ryan Holiday, in his recent book The Obstacle is The Way, reminds us of both Buddhist and Stoic philosophers that embrace obstacles as our greatest teachers. By changing what feels difficult or arduous into a metaphor of our greatest teacher, we can become great learners.

The obstacle is the way: 9 reminders about lifelong learning

Marcus Aurelius, a Stoic Philosopher, reminds us that obstacles are beneficial to our learning and growth across all areas of our lives:

“Our actions may be impeded, but there can be no impeding our intentions or dispositions. Because we can accommodate and adapt. The mind adapts and converts to its own purposes the obstacle to our acting. The impediment to action advances action. What stands in the way becomes the way.” — Marcus Aeralius

From this, there are several key reminders on our own quests for learning — whether we’re learning how to built startups, create projects, or write our first line of code. This philosophy created the foundation for the book The Obstacle is the Way, by Ryan Holiday — a great book to read if you’re ever frustrated or stuck. Here are nine key lessons from Ryan Holiday about how obstacles can actually become instrumental in our quest for learning:

1: Failure can be a benefit.

Failing at first forces us to pursue different paths and consider different alternatives. This increases our diversity and flexibility as builders and coders, making us more resilient in the long term.

2: There is often more than one way to solve a problem.

Problems can be addressed in many different ways, it’s up to us to figure out how to approach problem-solving more broadly, not just know the answers to specific questions. The best way to get better at problem-solving is to continue to tackle problems as part of your everyday life.

“The only guarantee, ever, is that things will go wrong. The only thing we can use to mitigate this is anticipation. Because the only variable we control completely is ourselves.” — Ryan Holiday

3: Obstacles teach us as much about our inner workings as our outer world.

Sometimes the true obstacle isn’t external, but it’s what’s inside of us — our stubbornness, frustration, inflexibility, or fear… The process of embracing challenges teaches us about our own reactions and scripts as much as anything else.

4: Obstacles make you angry… which can be a great thing.

I remember the time someone said I wasn’t good enough to do a particular thing. Boy, did that piss me off … and make me want to prove them wrong. So what did I do? I went out and did it, probably ten times better than I would have done in the first place. That initial obstacle — the person who said I couldn’t do it — actually inspired me to become even greater.

5: Obstacles remind us to stay present.

“Focus on the moment, not the monsters that may or may not be up ahead,” writes Holiday. When we think too much about the problems piling up in the future, we forget to pay attention to the things immediately in front of us. Problem-solving is a zen practice.

6: We apply meaning to a puzzle, not the other way around.

“There is no good or bad without us, there is only perception. There is the event itself and the story we tell ourselves about what it means.” When you’re solving a puzzle or working through a problem set, you are not a good or bad person; you’re just a person.

7: Things are worth doing well: it’s not just about getting the right answer.

Getting the right answer is not the same as working through the process well. “Wherever we are, whatever we’re doing and wherever we are going, we owe it to ourselves, to our art, to the world to do it well.”

8: It is the obstacle that carves out our integrity, not the other way around.

“Blessings and burdens are not mutually exclusive,” writes Holiday. Building One Month was born out of problem that needed solving, not a simple dream that fell into place one day. Your work deserves your attention, and working through the process will open up more doors and opportunities than avoiding obstacles altogether.

9: Finally, on (not) quitting and frustration:

“It’s okay to be discouraged. It’s not okay to quit. To know you want to quit but to plant your feet and keep inching closer until you take the impenetrable fortress you’ve decided to lay siege to in your own life — that’s persistence.”

As teachers and educators, we don’t quit when something doesn’t go right — we keep testing, trying, and building until we find the best way to do something. Whether it’s a piece of code, a way for people to get in touch with us, or a new course launch, we’re always learning and growing. We don’t do this in the absence of obstacles; rather, we use all of the problems that come up as ways to keep learning, growing, and getting better.

As students and as teachers, understanding how to learn is about philosophy. The idea that obstacles prevent us from achieving our views fails to account for how valuable obstacles are in shaping who we are and how we approach our work. As we work through challenges, we develop strength, resilience, and even confidence and calm. Through the pursuit itself, you uncover ideas about yourself and the world that will serve you well in the future.

Perhaps, in fact, the obstacle itself is the way, and not the other way around.

“This is The Hardest Thing I’ve Ever Done”

I’ll start with a quick story.

I work with students at One Month, and we do a lot of one-on-one sessions where I can troubleshoot common problems that people have when building apps.

One day, a student reached out who was having trouble with images not working correctly in their Rails app. I had seen a few errors that could happen at this point in the project, so I was confident that I could get this fixed. I followed up and we scheduled a screen sharing session.

As the session progressed, I started to panic. This was a new problem, one I had never seen before, and none of my usual fixes were working. Over the next 30 minutes I tried several different things, walking through some more obscure troubleshooting techniques. As a last measure, I decided it would be best to have the student continue through the lesson with the code not working and we’d reconvene at a later date.

I felt defeated.

That’s when I saw the problem: we were missing the image rendering code. Once we added this bit of code, the project worked and the student was back on track. Hooray!

As I walked to the train that night, I replayed the session in my head, trying to figure out what happened. In that moment, I realized something about the learning process:

You are either doing something easy because you’ve done it before, or it’s the hardest thing that you’ve ever done, because it’s new.

When faced with a new problem, something you have never seen before, it will always be the hardest problem you’ve ever faced.

During that screenshare, I faced, at that point in my life, the hardest problem that I ever had to face, and it was new. It wasn’t what I had expected and nothing was working.

I had no clue what I needed to do and no idea where to go.

I think that as learners, we often forget this idea. We forget that we are forging new pathways in our personal atlas. It is in these moments that we have to accept that the problem is hard. It’s hard because we don’t have answers, and we don’t know how to figure it out yet. Not only do we not know the solution, we don’t know how to go about figuring it out. This feels really frustrating. But that’s the whole point: to challenge ourselves to find those answers.

The point is learning.

In 2015, Omies decided that we would make personal resolutions. We even went so far as to write them down and share them publicly so you all could hold us accountable. My resolution was to make more music. I share new work and music links every week on my public Trello board. Every week I sit down with the goal of “drawing a musical sketch.”

It has been really hard. It’s hard because it’s so far from where I want to be, and being bad at something for a while isn’t always the most fun place to be. When you’re learning, there’s a lot of frustration. Most people give up when it gets hard, but there’s something that happens when you figure it out. When I get frustrated with my weekly musical sketch or want to quit I think back to my screenshare:

“It’s the hardest thing that I’ve ever done, until it’s easy.”

The Case for Online Education

I have a prediction: Not only will online education eventually be as good as offline education, it will be better.

The honeymoon is over. People are writing about how online education will never replace offline education. I’d like to challenge that view: not only will online education eventually be as good as offline education, it will be better.

Saying that online education will never be as good as offline (because it’s not currently as good) is like taking one look at a Model T, saying that it’s unsafe, and urging everyone to switch back to horses.

The reason online classes will eventually be better than offline classes is simple:

We can measure and respond to students’ behavior much more easily and quickly when education is digital than when it is analog.

On the other hand, what makes for a good teacher in a classroom setting? A good teacher is someone who can:

  • Come up with compelling content that explains complicated topics
  • Take in a lot of information about how students are responding to that content
  • Adjust the style based on that information quickly

A good teacher can see the look in a student’s eyes and tell immediately whether a particular topic is resonating or not. He or she has the ability to reiterate a point and respond to questions in real time. That’s what we mean when we say that an in-person classroom experience is more “personal” — and it’s hard to imagine online education being able to match that anytime soon.

But let’s suspend disbelief for a second. In theory, a computer can take in vastly more information than a human can and respond to it much faster. According to Scientific American, two years ago the fastest computer could store almost ten time as much data as the human brain and process it almost four times as fast.

Imagine what a good teacher could do if he or she knew where exactly a student was getting confused during a lesson, how long it took that student to complete an exercise, or even the student’s physiological responses to the content (say, for example, by tracking heart-rate or eye movements via webcam — forget about the creepy-factor).

There are a handful of education startups already tracking some of this data, but they’ve barely scratched the surface of how to use it to make education more compelling.

This brings me to my second and more pressing point:

The biggest problem with in-person education is that it forces a linear, one-size-fits-all teaching style.

In any classroom, there will be some students that are behind and some that are ahead.

Even the best teacher in the world must deal with this tradeoff, which boils down to the following question: Should I slow down to help more students understand, or speed up to cover more material?

And so they inevitably end up settling on a pace and an educational approach somewhere in the middle.

Online education can solve this problem because it allows for personalized learning. Educational content and style can adapt to a particular student and that student’s response to a particular lesson.

Imagine a world in which no one person experiences the same class in the same way. One that adjusts a lesson on computer programming depending on whether a student already has previous experience with programming, or is a total beginner — why not use concepts a student may already have to allow them to learn something faster?

Or one in which the way the material is delivered is different depending on whether the student is an auditory, a visual, or a kinesthetic learner.

Or one in which the order of the lessons themselves are rearranged. (Or A/B tested!)

Or one that can identify early that a student might get stuck in an upcoming lesson and takes him or her on a learning detour to reinforce important concepts and avoid frustration that might otherwise lead to abandonment.

Actually, you don’t have to imagine this world, because Salman Khan is already doing it with Khan Academy (watch 13:35 if you’re not yet sold on the value of personalized education).

Finally, advancements in online education allow teachers to treat classes in the same way that startups treat products.

There are tons of amazing tools out there for A/B testing, onboarding, gamification, email campaigns, measuring user satisfaction, and so much more that startups use. Why not apply the same tools to education? It’s going to happen, it’s only a matter of time.

That’s why it’s frustrating to hear people brush off online education as a failure that will never amount to anything. Let’s see the current batch of online educational classes and platforms as what they really are: a first attempt.

(This post was originally posted on the One Month Rails blog)