Building a Better Language App (Part 1)

Over the past three years, I’ve taught English in three countries while learning three languages. These experiences have been wonderful opportunities to meditate on and tinker with existing methods.

With each country, I faced a different culture, classroom setting, and set of needs. My teaching style had to morph to match the circumstances. Sticking to one method would only risk alienating students. In Chongqing, I oversaw twenty-two conversational English classes at a junior high school, each of which had 60 students or more. I had complete control over the curriculum, but was required to create Keynote presentations (and have their content vetted by the head teacher). Most of my day was spent trying to get through it. Prague was an experimental period. I tram-hopped to various companies to teach business English to small classes of 20-60 somethings. Since most of my students despised textbooks and had specific goals in mind, I had to create most of my lessons from scratch. In Taipei, I had to follow stricter guidelines. For every intensive, general, and test-prep class I taught to adults and high school students, I was required to use a specific textbook at a certain pace and attend regular workshops.

Where training failed, language study stepped in and made adapting easier. After failing to learn Czech in a classroom setting during my initial months in Prague, I committed to pursuing my interest in another language—Japanese—on my own. Once I refined my approach and techniques, I easily moved on to Mandarin Chinese and Russian, and even returned to Spanish.

By teaching in a classroom while learning on my own, I discovered gaps in traditional methods, possible alternatives, and new materials. And my teaching evolved further.

Leaving education for iOS development isn’t leaving at all. It’s simply a continuation of a three-year experiment, with the added challenge of linking together everything I’ve learned to create awesome language apps.

In a series of posts, I’ll walk you through a project that hopefully meets this challenge. We’ll start with what’s missing from current language apps and move on to possible solutions

Unlike most teachers, I believe mobile can do language education better than teachers in a classroom. It has the potential for greater consistency, personalization, interactivity, and accurate feedback.

Yet most language apps fall short. Instead of offering new approaches to learning, they merely replicate existing ones. Once you look past the medium—the novelty of learning languages through apps—it’s clear that most companies are simply digitizing age-old techniques. Most use translation and matching activities, listen & repeat pronunciation drills, dialogue gap-fill exercises, topic-focused vocabulary, and flashcard review. These techniques are old hat for teachers. The only difference is that they occur in shorter timeframes and include a point or badge system in lieu of tests. Sometimes they appear as clever games, as in the case of Cat Spanish. This has done a lot for access and motivation, but not so much for education. The silent assumption in apps like Duolingo, Babbel, and Memrise is that (a) the main problem in education is access and (b) creating apps that replicate existing methods will replace, or at least diminish the role of, teachers and therefore solve that problem. Hooray.

Unfortunately, the only part of this assumption that’s true is (a). Access is a huge problem. But, so is crap teaching. Replicating ineffective techniques on mobile doesn’t magically make them effective, even if doing so is technically impressive.

The best apps will investigate what mobile can do for language education that teachers can’t, won’t, or haven’t thought of doing, and develop accordingly.  Finding the answer is surprising simple. You just have to figure out which skills teachers struggle to teach, fail to teach, or don’t teach well consistently (due to fluctuations in energy and other human problems).

Since I’ve been a teacher and spent loads of time observing others, I can identify these problem spots quite easily. Without a doubt, the hardest areas to teach are pronunciation, listening, reading, and culture.  The first three are difficult because they require strong attention to detail, anticipation of students’ needs, adaptation to different learning styles in the classroom, and varied feedback. The last is either totally ignored by teachers who assume that culture comes later, or introduced as an aside without any practice. Plus, identifying cultural nuances is difficult; teaching them in a structured way is even harder.

Why does this matter? Mastering these areas is essential to becoming fluent. Good pronunciation creates confidence (and leads to positive reception from locals). It’s also tied to listening, which is essential for conversation skills. Reading is one of the best ways to expand vocabulary and learn about the culture. With some languages, namely Spanish and Russian, literature is a cultural touchstone. And understanding culture is essential to communicating, especially at a high-level.

So, if teachers sometimes fail in these areas, how does mobile do? Not much better, and in most cases, worse.Speech recognition doesn’t give users feedback beyond whether it’s correct. As such, it’s next to useless. If users don’t know why they’re mispronouncing a word, they won’t improve. Mondly has tried to go beyond basics by actually dictating what you say, exactly as you say it. But it doesn’t identify the specific sounds users need to work on, let alone offer drills based on those needs, like a good teacher would. Babbel is great at teaching the details of pronunciation—each individual sound—but falls short when it comes to teaching natural, conversational speech—how those sounds change when smashed together in rapid conversation. Some services, namely Mango Languages, Babbel, and Innovative Language 101, do well with introducing culture, but not in offering an opportunity to apply it. And very few offer a structured approach to reading. (There’s Bliu Bliu, but it’s not user friendly.)

I could go on. But these are just details. Let’s look at some of the larger problems.

The vast majority of language apps lack the following:
  • Question-centered learning
  • Intimacy
  • A user-tailored curriculum
  • Multiple layers of translation
  • Social & nonverbal feedback
  • Surprise
  • Alternative methods for review (read: not flashcards)

Addressing these gaps isn’t as difficult as one might imagine. Let’s look at why they’re important.

Question-Centered Learning

Language apps are typically designed around vocabulary, with grammar as a secondary focus. In this sense, they’re like a grammar-light version of textbooks. The decks you see on Memrise and Anki, and the courses you find on Duolingo and its language-specific imitations are organized around topics (vocabulary), leaving users to learn grammar through pattern recognition.

From a business perspective, this makes sense: students turn to apps because they’re either frustrated with traditional courses and textbook material, or they want extra practice and support. Designing courses that are fun and grammar-light keeps both groups happy: the former gets something different, and the latter avoids the dull grammar drills of the classroom.

In terms of learning, though, it’s not effective, so it’s a short-term business strategy at best. Users will drop as the novelty wears off and the repetition starts to feel just as tiring as old methods.

But the flaws of this approach run deeper. People learn languages to have conversations, which are centered around questions. Most language apps do nothing to get me closer to having a conversation, especially in the first few lessons, which typically focus on identifying people and objects. Imagine walking up to someone on the street or at a party, and saying, “I am a woman”, as Duolingo teaches you to do in its first lesson. That person would either think you’re insane, into stating the obvious (assuming you’re a woman), or trying to undermine gender distinctions (if you’re a man and they’re intellectually sophisticated). If they have a sense of humor and/or an interest in 1970s-style feminism, they might quip, “hear me roar”. Regardless, they would probably not become your friend.

Perhaps I’m being unfair. How can I dismiss an entire language learning method based on the first few lessons, especially when most apps have sections for questions? Why are questions so important anyways?

If user data is any indication, I’m being more than fair. Considering I spend up to a week on a language app before rejecting it, I’m even being generous. Most users, overwhelmed by life and a constant deluge of information, accept or reject apps within seconds. So, being useful from the first lesson is essential.

Since questions are required for conversations, and conversations are the cornerstone of fluency, language apps should be designed around them. Users should be equipped to have conversations from the get-go. The vocabulary and grammar of the language will follow.

You can learn a lot about a culture from its most common questions. Americans’ fixation on career and status is apparent by the fact most people will ask ‘What do you do?’ within the first three questions. A question like this would be considered tasteless in other cultures. When I was in mainland China, the dominant question was ‘Are you married?’, which would be considered offensive or irrelevant to many westerners. In the Czech Republic, I was often asked about my education. My students became warmer when they realized I was teaching English as a choice, not due to lack of education or job opportunities. In Taiwan, the most common question is ‘Have you eaten?’ or ‘What did you eat?’. Food is a source of pride here; it’s an essential part of the culture.

To its credit, LanguagePod101’s Top 25 Questions series is centered around questions. But it’s too formulaic and limited in scope to empower users to adapt to multiple situations. Plus, it offers no cultural context. Users have no idea when they should ask these questions or why, which means they’ll default to the conversation rules and patterns of their own culture, which could be disastrous. Many of the questions, such as “How old are you?”, would be considered odd or inappropriate in the culture, and are consequently useless. The question “How are you?”, for example, might be a common icebreaker in the U.S., but it’s rare in other cultures.

The Case For Curiosity

My fixation on questions goes deeper than my interest in teaching effectively. The questions aren’t the point; it’s about keeping students curious.

Why does curiosity matter?

For one, you learn better when you’re curious. Second, by asking questions, you train your brain to default to investigating rather than judging. When you live abroad or work with other cultures, there’s always the risk of becoming more narrow-minded as a result of one bad experience. Study abroad programs and Tumblr users might like to imagine that travel always widens your worldview, but this is only true given a pre-existing curious disposition (and having your basic needs met). What separates people who overcome culture shock from those who don’t is curiosity. Curious people can use questions to step back from snap judgments and reevaluate the situation.

A Possible Solution

So what would a language app centered around questions look like?

I’ll offer a concrete example.

If I were to redesign Duolingo or any language app out there, I’d turn each level into a question and arrange all grammar and vocabulary accordingly. Users would learn questions and possible responses, and only then would they move on to additional vocabulary and grammar (all of which would be related to the question). Then I’d put the questions in the order they typically occur in a conversation. Each lesson would be no more than five minutes and have options for lexis and grammar extension (for motivated users with more time on their hands).

The questions and the order of them would reflect the quirks and interests of the culture. You would have the option of choosing different scenarios as well—party, travel, work, dating—since questions vary based on situation. Practice and review sections would be conversations. In the first level, users would simply choose the missing word or response; in the second, they would write it; in the third, they would say it; in the fourth, they would put the conversation in order. There would be no flashcard or review feature. Instead, material would build on previous lessons.

With this approach, users would immediately be prepared to have conversations—not at the end of the course, but from the first lesson. And that’s more empowering than points.

Intimacy (And The Problem with Gamification)

This brings us to the larger problem of the gamification model. I’ll admit that Duolingo and Memrise’s point systems and leaderboards make the learning process addicting. That’s why I recommend using them as a warmup for longer study sessions.

But then it starts to feel like school, and I stop using them.

In fact, I’ve never used a language app that resembles the experience of being in a new country. What would it be like to use an app that did? To feel like you’ve just stepped off the plane?

Imagine that you’ve just arrived in a big city. Let’s imagine that it’s Tokyo because, let’s face it, the try! Swift conference in March is gonna be awesome. You have no experience with the language or culture of the country. Thanks to the sleep-deprivation from the flight and being in an unfamiliar location, your hearing is sharper than usual.

What do you hear? An unfamiliar language, but not as you would in an app or audio phrasebook: words surface as mumbles, laughs, whispers, and clipped phrases. These human voices are occasionally punctured by courteous warnings from escalators and crosswalks. You would feel like you’re in a 1980s Sci-Fi movie, if it weren’t for the more familiar sounds: the click-clack of high-heels, the opening of umbrellas, rain, ringtones.  The video Tokyo City Symphony captures this experience perfectly.

Every city has a distinct sound, energy, and color template. (That’s why so many people on SoundCloud, including yours truly, record ambient noises during their travels.) Tapping into that is essential for any developer who is looking to create, not just a learning area, but a cultural headspace. Every time your user opens your language app, their orientation to their environment should change. They are no longer in their home country; they’re in another. Immersion by design and through technology.


Taipei, Taiwan


Chongqing, China


Prague, Czech Republic.


There’s a reason why Monument Valley and Kami don’t need to offer points or badges. I’m sure I’m not alone in finding them more relaxing than meditation. My entire mood evens out when I play them. They’re entry-points into another world.

The difficulty with language apps, of course, is balancing users’ fantasies of a culture—built from popular films, literature, music, and whatnot—with the sometimes ugly reality of it. A little romanticizing is necessary, but not so much that it promotes stereotypes. This gets into knowing the assumptions you’re users are going to have, and subtly working to change them. A challenge, for sure.

Where’s the personalization?

Given all of the talk about personalization in tech, there isn’t a lot of it in language apps. If you’re a 26-year-old Mongolian-American female who speaks Dutch and likes hockey, you should learn how to say that first. Mobile is already equipped to adapt to user input. iOS developers should spend time thinking about how to arrange content with this in mind.

Layers upon layers of translation

Language apps need varied forms of translation. Some have already recognized the need for literal translations, which are helpful for understanding grammar mechanics. But, we could go deeper and remove English entirely. What about using emoji? What icons or graphics could make the meaning and context clear?

 Social & nonverbal feedback

When you’re having a conversation in another language, how do you know when you’ve made a mistake? The other person’s facial expression. A look of confusion or disgust. If you’re blind, you might know based on the length of pause. What do language apps use? The same stuff teachers use: check marks, points, and colors. If apps are going to successfully replicate the experience of having a conversation in another language, and they should, the expressions on the faces of icons needs to change during chat practice. We’ll examine how to do this in the next article.


During the first two weeks of using Babbel, Duolingo, ChineseSkill, and CatSpanish, I was absolutely addicted. But then the repetitive structure of the lessons started to become boring, and I quit. Apps, in short, need more variation and ways of jolting users to sustain interest.


Since I’m a developer, stopping at mere criticism feels like a cop out. In the next article, I’ll outline how I’m addressing these problems.

Breaking Into Chinese, Japanese, & Russian: A Brief Guide to Getting from Newbie to Intermediate-Level in 8 Months or Under 

My Twitter has been blowing up with requests for language learning resources and tips. So, I’m putting together a short guide. I’ve tried to keep it as simple as possible, since a deluge of resources won’t help you. In general, I recommend using no more than three resources at a time, even if you’re going at an accelerated pace. Also remember to vary your materials; using three step-by-step guides, apps, or what-have-you wastes time.  Whenever I start learning a language, I focus on small deliverables. Having a benchmark for each week and month keeps me focused. To get an idea of what a realistic goal looks like, check out this one-page CEFR guide.

Since these three languages have a special reputation for being difficult, some advice: consistency is more important than volume. Don’t fall into the trap of trying to learn All the Things, as many language learners will (wrongly) suggest. If you want to go fast, you need to go slow. 20 minutes of concentrated practice is better than two hours twice a week. You’ll notice that most of these resources can be completed in 1-3 months with 30-minute daily sessions. There’s no need to stop having a life to learn a language.


I’ve addressed how to study Chinese previously on Quora.


Weeks 1-2

Learn Hiragana, the first writing system for the alphabet.

If you don’t know the difference between the three writing systems—Hiragana, Katakana, and Kanji—get a quick introduction from Koichi or Tae Kim. Bookmark their websites, Tofugu and Guide to Japanese, and subscribe to their YouTube channels because they offer the best information and resources out there—and most of it’s free!
  • Learn and practice pronouncing the alphabet. Here’s a video.
  • Review with this obnoxious but fun alphabet song.
  • Learn how to write it. Start with 5 characters a day. Write them by hand with trace sheets (which can be found on Tae Kim’s Guide to Japanese website). Then practice writing, recognizing, and pronouncing them with iKana Touch.
  • Once you’re finished going through the alphabet, continue reviewing it with iKana touch and Tae Kim’s practice exercises.
I recommend spending two weeks on this. If that sounds like a lot of time, it isn’t. You’ll be thanking yourself when you get to reading, listening, and dictation.

Weeks 2-4

Learn Katakana, the second system for the alphabet.

Follow the same procedure and use the same resources as in #1. Here’s a video for pronunciation. Good news: it’s the same as Hiragana.

Week 5

Practice both systems simultaneously with iKana touch, remembering to always speak when you practice.

One-Two Months

Start learning Kanji & basic phrases and having conversations.

Three-Six Months

Get into grammar and continue learning Kanji. Start exposing yourself to as much Japanese culture as possible.

  • Work through one chapter of Tae Kim’s Guide to Japanese Grammar a day. Turn his exercises into flashcards with Anki and add audio.
  • Continue working through JapanesePod101’s courses, listening to one episode a day. Supplement your studies with Pimsleur Japanese I-III, which will improve your pronunciation and reaction time, and reinforce what you’ve learned about grammar.
  • While you’re doing that, continue learning Kanji via JapanesePod101, Skritter, Memrise, or TextFugu. Pick whichever resource fits your learning style. If you’re feeling overwhelmed, here’s a good overview of some different approaches. Personally, I like learning Kanji in context. So, I simply learned the Kanji for each episode of JapanesePod101. Learning through memorization is dull and ineffective.
  • Get into Japanese literature, music, and film. If you’re like me, you’ll start reading as soon as you can. Here’s a great place to start.


Weeks 1-2

Focus on mastering the Cyrillic alphabet and its many forms.

One-Two Months

Get a solid foundation in grammar and the bare minimum of language you need to start having conversations.

  • Listen to one Russian Made Easy podcast episode per day to get a solid foundation in speaking and grammar. Seriously, this is one of the best language learning resources I’ve ever used. All grammar and vocabulary is introduced in context and through pattern recognition. After completing this course, I was able to understand advanced-level conversations and texts.
  • Complete RussianPod101’s Absolute Beginner & Top 25 Questions series. Supplement with Memrise’s Basic Russian and Hacking Russian decks
  • Find a teacher or language partner on italki or HelloTalk. I recommend 15 minutes of speaking practice per day.

Two-Four Months

Deepen your understanding of language mechanics and start getting into more advanced material.


Dancing with the Chaos Monkey: Refining Goals, Building Work Cycles, and Decluttering


This article
came at the right time. After sixteen months of constant change — a job switch and four unexpected moves — and adversity — financial struggles, working overtime, and cancer surgery — I needed to be reminded of Nassim Taleb’s ideas. He’s the only writer, aside from Haruki Murakami, who has given me both perspective and comfort during times of uncertainty. When you read his work, it’s impossible to look at the world in the same way.

Up until now, I’ve been fixated on his philosophies of risk and causation (see: Fooled by Randomness and the Black Swan), but after the events of the past year and a half—and my determination to continue building the career I want despite them—I’ve become more interested in Antifragile. It’s an exploration of how certain things grow stronger through disorder. It’s not a question of resilience—bouncing back from negatives; it’s a matter of thriving on them. 

I’ve been chewing on this question for the past few weeks. During all of this craziness, I’ve maintained a strict workout, language study, and coding routine, which has produced some awesome results (and provided a constant source of joy and refuge from the rest of my life). About a month ago, this discipline started paying off. After months of tedious, uninspired coding sessions, I began building three apps and developing a Russian language course in a burst of creative energy. A few weeks later, I was offered my first professional opportunity as a developer at a Chinese language education startup. Then another offer came. Then another.

While my options were expanding, I started a Meetup group to connect teachers and developers who are interested in using technology to improve language education. Outside of my teaching job, I was networking, talking tech, and learning about new technologies. People were finally listening to what I had to say about mobile design and language education. I was in my element.

But all of the turmoil over the past year—and my refusal to deal with it emotionally— had taken its toll.

Two weeks ago, I found myself hit with a wall of absolute, utter exhaustion. At first, I simply decided to cut back on language learning and focus on getting up to speed with iOS development. I put off my Russian language challenge until December 1st and buckled down on my projects.

But then I started waking up late and binge-watching TV shows at night. I couldn’t focus or process any information. My muscles ached and my appetite was non-existent. I was burned out.

So, I was faced with a difficult choice: maintain the status quo and continue pushing myself into the ground, or give myself a break.

I chose the latter, and I’m glad I did. The workaholic in me needs to die, so I can perform better.

The Plan

Until November 28th, I’m not studying, practicing, or developing anything. Aside from finishing my application to Middlebury College’s Summer Language Program, I’m going to spend some time assessing my career and figuring out sustainable ways to achieve my goals.

This down time will be essential because I’ve decided to quit my teaching job, effective January 10th, so I can focus all of my energy on transitioning to software engineering. 

From Workaholic to Top Performer


I love working. Learning languages, building apps, reading and thinking are more pleasurable to me than a night out. Spending Saturday nights doing these things has never felt like a sacrifice.

The problem isn’t the work. It’s that the work occurs at the expense of everything else. My schedule is sustainable—energizing, actually— in a vacuum. But not in the context of day-to-day bullshit, which, unfortunately, is unavoidable.

There are three toxic habits I’d like to change:
  • When I have a goal, I sacrifice everything to achieve it: my health, sleep, relationships, bank account, and even my sacrosanct workout routine. Although I’ve convinced myself that I’m focusing, I’m actually creating tiny stressors that drain my energy and performance. This is a failure of time management.
  • Related to the first, I’m bad at walking away from work. Instead of doing power sessions, I spend hours on one task. This is a failure of efficiency.
  • Perfectionism. This is the driver behind my lack of efficiency: I won’t push myself to the next level, until I’m “ready”.

I’ve enrolled in Scott Young and Cal Newport’s Top Performer course to get out of these habits. As part of the class, I’ve started reaching out to developers I admire to get some career perspective. And I’m reading Creativity, Inc. and Manage Your Day-to-Day for additional strategies.

I’ve also committed to resuming my workout routine, healthy eating habits, and caffeine limit over the next two weeks.

Creating Work Cycles


To re-train my work brain, I’m developing work cycles—daily plans that can morph to accommodate unexpected crises or energy drops.

My to-do lists have always assumed that I’ll be at my best. This approach is flawed because, in the scheme of life, things are always subject to change. In short, it’s time to stop setting myself up for failure.

I’ll be posting goal-specific work cycles in the next week or so, but in general, I’m looking at creating two task lists: one for a normal day; one for a day when all hell breaks lose. By figuring out the minimal amount of work that will push me closer to my goals, I’ll avoid this trap in the future—and the self-loathing that goes with it.



Then there’s the clutter. Not necessarily in terms of stuff — I’ve been living out of one suitcase for close to three years — but in terms of how it’s organized. I recently read this wonderful post on how an organized environment, filled only with objects that evoke joy, enhances productivity and well-being. I’ve extended this idea to all spaces—including my technology.

And so, I’ve:
  • Deleted my Evernote account, which was riddled with unorganized notes and half-baked ideas, and started a new one.
  • Emptied Pocket, which had thousands of guilt-inducing unread articles.
  • Organized and cleaned out my computer.
  • Started developing a system of where to place things in my room.

Soon, I’ll be organizing my bookshelf, cleaning my bathroom (finally!), and giving away old clothes (before I replenish my wardrobe). It’s amazing how all of these little accomplishments have boosted my mood and cleared my mind.

Embracing Risk

Quitting my teaching job represents the end of an enlightening, but incredibly demeaning, work life. Knowing that I have three months to transition to a new career should be terrifying, but it’s actually quite invigorating. For the first time in my professional life, I have a clear sense of who I am, what I’m good at, and what my life’s work will be. There’s no better feeling.

A Guide to Selecting & Organizing Self-Study Materials


From Stefan Bucher’s 344 Questions

So, you’ve decided to learn how to program or speak a foreign language on your own. Without a clear strategy, one of two things will happen. You’ll spend hours researching and gathering resources, only to become overwhelmed, as it becomes increasingly clear you have no idea where to start. You’ll assume you need several hours a day to learn, which means that your routine will be threatened by every unscheduled event, bad mood, or low-energy day. Or, you’ll hop over to Codecademy or Treehouse, Duolingo or Babbel–or whatever big-name company you’ve read about online–and start picking through their courses. Your sense of mastery will grow with each badge you earn and streak you maintain, until of course you finish. That brief, exhilarating ego boost will be crushed, as you realize that your chosen subject is far more complex and rich than those introductory courses led you to believe.

This is when most people start giving up, which is unfortunate because both approaches have merit. Deep research is essential to mastering a subject, as is recognizing that you should probably stop googling and just get something done. The problem isn’t the approach; it’s the fact that most people only choose one.

The Three Types of Resources 

Regardless of what you’re learning, you need to locate and stick to three types of resources:

1. Full Views 

This book, course, or podcast provides a step-by-step introduction. You should comb through it for at least 30 minutes a day, as it offers both a high-level and deep understanding of the subject. Do not skip or rush. This is your foundation.

Principles for Language Learners
  • If it doesn’t have audio, it’s useless.
  • If it doesn’t teach you how to read and write the language and/or uses romanization, it’s useless.
  • If it doesn’t come with review or practice features, it’s useless.
Principles for Aspiring Developers 
  • Books are always more in-depth than videos. If you find video tutorials, great, but assume they’re supplementary.
  • Don’t buy any book that won’t give you free updates. Languages and tools change all the time, and you need to be up to snuff.

Language Learning Examples
Language-Specific Examples
Programming Examples
Web Development Examples
iOS Development Examples

2. Kickstarters 

This is an app or course that gets you started, but often leaves you frustrated because it seems to be missing something. This nagging irritation is actually a good thing, because it keeps you engaged and asking questions, and pushes you to find answers. The key difference between Full Views and Kickstarters is time: with the latter, each lesson is self-contained and can generally be completed in 5-30 minutes. The sense of instant gratification and accomplishment you get from this type of resource makes it an excellent warmer and motivation sustainer. It’s a way to trick yourself into learning when you’d rather watch TV. And they have the added benefit of not giving you a false sense of mastery (assuming, of course, that you’re not exclusively using this type of resource). As with #1, they’re well-organized—you’ll see levels, tracks, and whatnot—but they don’t offer deep knowledge.

Language Learning Examples

Language-Specific Examples 

Web Development Examples
iOS Development Examples

3. Deep Dives

These are neatly divided by concept, and give you a deeper understanding of the material you’re covering in #1-2. Keep in mind that this part involves the most work. It’s not enough to just go through the material. You need to create drills. Pick something you want to master or improve—grammar or vocabulary, Table Views or Core Data—and work on it everyday for 2-4 weeks. If you’re trying to expand your vocabulary, create flashcards that force you to put new words in the context of familiar grammar structures. If you’re trying to get good at building and designing Table Views, create an app that uses TableView everyday for a month, and force yourself not to repeat the same designs, animations, or extensions.

Language Learning Examples

Language-Specific Examples

iOS Development Examples


So, now you know which types of resources to get, but there’s still the question of how to organize them. The bad news is that you’re going to have to experiment—there is no one-size-fits-all strategy for time management—but I can recommend the following approaches, based on experience:

During the busiest time of the week 
  • 15-30 minutes with a Kickstarter. Finish one section.
  • 1 chapter of a Full View. Assume it’ll take an hour. If it’s a really long chapter, and you’re pressed for time, find a good stopping point.
You don’t need to do these in one block. Do one in the morning, the other in the evening.

When you have blocks (2-4 hours) of uninterrupted time 
  • The same as above
  • + Deep Dives
If you’re a developer, I’d suggest Saturdays for Deep Dives related to a project you’re working on, and Sundays for your own projects.
If you’re a language learner, I’d suggest Deep Dives that prepare you for conversation practice. If you’re having an italki lesson tomorrow, do your Deep Dive to prep today.
If you’re super-busy, too bad. Break up your sessions into small chunks.

Swimming in Swift

Aside from my language learning goals, the next three months are all about gaining a deeper understanding of Swift. (After that, I’ll go full-force into development, with the intention of building a portfolio of 3-4 apps and landing a developer job. But that’s later.) 

Why iOS programming?

I want to build awesome, beautifully-designed apps that help people learn languages better and faster. As someone who teaches languages in a classroom and studies several solo, I’m aware of the upsides (and downsides) of learning through apps and the Internet. Instead of preaching about what I know, however, I’d like to actually apply it.

Since March, I’ve acquired a pretty solid foundation in Objective-C and Swift and even designed a prototype for a language-learning app (which I’m currently developing). But, as with languages, I’m dissatisfied with my existing skills.

Today, I’m starting the Complete iOS9 Developer Course and the Complete Apple Watch Developer Course on Udemy. By the time I finish, I’ll have built 80 apps. As a longtime fan of AppCoda and Ray Wenderlich, I’ll supplement these courses with other tutorials. And to stay immersed in code on MRT rides, there’s always Swifty.

The ride should be interesting. Be on the lookout for updates.

9 months, 3 languages

Over the next nine months, I’m pushing for B2/C1 level fluency in three languages: Russian, Mandarin Chinese, and Spanish. For three months, I’ll dive into each language and (hopefully) fill up gaps in my existing skill set***.

Why this madness?

For one, figuring out ways to learn languages more efficiently will make me a better teacher. It also makes sense to avoid juggling multiple languages while working full-time and intensely exploring iOS programming.

But the motivation goes deeper. I want to explore the cultures associated with each language in greater detail—which is difficult to do when struggling with day-to-day communication.

Over the past two and a half years of living abroad, it’s become clear that becoming multilingual and multicultural are two distinct, though related, processes.

Many people spend years accumulating and drilling vocabulary and grammar rules because they define fluency in the limited way schools do: fluency either means passing the highest level of a standardized language assessment, or more generally, being able to express whatever you can in your native tongue.

The thing is, mastering the mechanics of a language—vocabulary, grammar, and pronunciation—doesn’t mean you can use it fluently in a cultural sense. Reaching C2 level doesn’t translate into operating well in the culture—negotiating, bargaining, arguing, complimenting, etc. in a way that’s deemed appropriate. It also doesn’t mean that you have the requisite empathy to adapt culturally. With most language resources lacking rich cultural information and many locals being oblivious to the reasons behind their behavior and attitudes, you have to gain most of that knowledge through experience. And your range of experiences is only as diverse as your language base.

As much as I want to believe in the idealistic notion that learning languages translates into greater cultural sensitivity, I’ve met plenty of bilinguals and polyglots who are quite narrow. I’ve also met many open-minded monolinguals who unintentionally get stuck in expat bubbles because of the language barrier. I don’t want to be in either category.

I have no expectation of being able to master all of the cultural subtleties of these languages in such a short time—which is to say, I won’t be fluent. But, I will be in a better position to gain that knowledge later.

So, here’s the plan:

  • Commit to 3 private lessons a week on italki
  • Study for at least one hour a day
  • Master vocabulary and conversation questions for different topics each week
  • Reflect on my progress in a blog update every 1-2 weeks
  • Extra credit: build an iOS app related to each language at the end of each mission

And that’s it. Tomorrow I begin with Russian.

***After six months of self-studying Russian, I’ve reached an A2/B1 level. Over the past year of learning Mandarin Chinese, I’ve maintained a solid A2 level. Spanish is a bit more complicated. Although I studied it for two years in college, I took a five-year break from it. Two months ago, I resumed my studies on a whim. As a rough guess, I’d say I’m at a B2 level in reading, writing, and listening; and an A2 level in speaking.