How to Raise Your Kids to be Asian

This article was lighting up Twitter today, so I took a peek. The premise is that Asians in America are routinely discriminated against in the college admissions process, at least among top tier private universities. This trend is nothing new, and, rather than debate the point, the article focuses on why Asians excel in the first place.

Well, as it turns out, I'm an Asian American who went to college, and therefore I have something worthwhile to say about this topic!*

*Remember when Vice President Dick Cheney shot a man in the face, and everyone, overnight, became a comedian/expert on the matter? That's kinda how I felt when this article came out.

Life isn't fair

Some people are blessed with swoopy hair and trust funds. Others are blessed with immigrant parents who work their fingers to the bone so that their children have a better life. I would fall in the latter category. Here are the unfair advantages that I had growing up:

  1. Parents who left their home country because they wanted their kids to get a better deal. I remember visiting Seoul with my mom when I was 5. On the plane ride back, when she thought I was sleeping, she cried to herself, silently. I have never, ever forgotten that -- my beautiful, unreasonably cheerful, strong-as-nails mother suddenly seeming so vulnerable and sad. I imagined how heartbroken I'd be if I had to leave her, my dad, my brother and my sister behind to go to a new country, and realized that was exactly what she did for me. I didn't know it at the time, but what I felt eating into my heart, it was guilt. That guilt stays with you. That guilt gets you into the Ivies. 
  2. A cultural community where education is everything. It's easy to ace the SATs when you start studying for them in junior high. Have you heard of Kumon? It's basically a place where you do math problems in a booklet for gold stars that map to, literally, nothing. My sister and I started that in elementary school. I began piano lessons when I was 6, then switched to flute at 11 because it was "edgier." My dad took us to the library every week, where we'd check out no fewer than 20 books at a time, followed by lunch at Arby's. Reading, writing, arithmetic, and beef 'n' cheddar sandwiches. This was life in the Kim household. 
  3. A cultural community that values grit. The power of hard work and human agency is a common thread in the Korean community. Work hard. Work harder than you can imagine. Work harder than everyone else. Don't complain. This is the norm for most Korean youth, particularly those who are fortunate enough to have immigrant parents. My parents had very high expectations for me, but these expectations were backed by unconditional love. Who was I to complain? 
  4. A really good Korean church. Korean churches are LEGIT. Organized religion kept me on the straight and narrow, and made me a better person. I did a lot of volunteer work through church, and met all kinds of people who were way worse off that I was. As a practical matter, it's hard to get into trouble when your weekends are occupied practicing flute with the praise band. My faith became especially important for me in high school after I finally grew boobs. Those boobs were for Jesus. Besides keeping me out of trouble, religion gave me a safe space to be myself -- a total weirdo -- and be OK with it because I knew there was a higher power out there who had a plan for me. And, as it turns out, hardworking weirdos at peace with themselves totally win at life. 

The majority of these advantages can be replicated by anybody. Raise your kids to work hard, teach them that they can do anything, provide a strong moral compass, and love them unconditionally. The one thing that you can't replicate is immigrant guilt. That is super powerful and amazing. I think its power comes from the complete lack of entitlement, and prevailing sense of gratitude it imparts. Growing up, we never felt anyone "owed" us anything. We were just super fucking happy that our parents moved to America! If you can find a way to instill those values somehow, you'll be good.

Inconclusive Factors

There are a few other factors of my upbringing that contributed to how I turned out, but I'm not sure were essential to success. In any case, most Asian students at top universities probably didn't have all these advantages, and they turned out fine.

  • Getting teased for being different. When I was little, kids routinely teased me for being weird. Rocking an Asian Mom Perm as a kindergartener probably didn't help. In middle school, a mean girl called me a "chink." (To which I responded, "That's not even the right racial slur!" and then cried.) I got rejected from the drill team, which is possibly the dorkiest after-school activity to get rejected from. Kids teased my brother all the time. All these things made me stronger, more empathetic, and more driven to get the hell out of Sacramento.
  • Having an autistic brother. The New York Times did an excellent series on autism in America back in 2004. One article focused on the impact that an autistic child has on his or her siblings. It can be stressful, but for me it was a healthy kind of stress. Children are far more resilient than many of us assume. More than anything, it helped me bridge cultures -- between Korean and American, and between autistic and everyone else. I dealt with a lot of complexity, and had a lot of opportunities to solve real-life problems from a very young age. 
  • Going to public schools. I'm a big fan of public schools. School taught me how to be scrappy and exposed me to a ton of diversity. Sheltered I was not. I know a lot of students get in to top tier universities from elite private schools, but that's not how I did it. I did it by going to decent public schools, and making the most of every resource I could find. I spent lunch in my high school guidance counselor's office poring over the scholarship binder. I was in every academic club. I hustled and got things done. College was a pristine bubble compared to high school. 
  • Being raised in Seoul by a loving extended family. I was born in America, but my parents sent me to my grandparents when I was baby because, with two little ones already, they needed help. I spent the first 3 years of my life being loved and doted upon by my grandparents, aunt and uncle. All of this adult attention turned me into a little monster, and is the best explanation I have for my unjustifiably high level of self-esteem today. I didn't realize this until after I read Tina Fey's Bossypants, where she recounts the boundless encouragement she received as a child after being slashed across the face by a stranger in an alley, and how that attention made her think she was special. I got all the benefits of that, without the violence.
Growing up in Korea, dressed like my grandpa

Growing up in Korea, dressed like my grandpa

How to run/build JavaScript code in Sublime

Confession: I setup a Node build system in Sublime before I even know what Node was. As soon as I installed Sublime, I wondered, "Why can't I run anything in JavaScript in here?" 

So I googled and figured it out. Of course, I promptly forgot how I did it (people at Hack Reactor have asked, and I just stare at them blankly). 

Luckily, Eliot Winder has documented this process for us! Check it out.

CMD-B, y'all. It's a game changer. 

Finding the Perfect Color Scheme

I love colourz!!

I've spent entirely too much time perusing color schemes while designing my apps, and you can too! 

Recommended Resources

Color Hunt

  • Updates daily with a new theme of 4 colors.
  • Dead simple to use. Color values are super easy to copy/paste into your CSS.
  • No login required to pin and save your favorite themes.
A few of my favorite swatches

A few of my favorite swatches

I'm partial to "Mustang"

I'm partial to "Mustang"

  • 5 colors per theme. 
  • Requires login to save favorite themes, and/or to create your own custom themes.
  • More advanced functionality than Color Hunt, but the interface can be confusing.
  • Pro Tip: Click "edit copy" to get the RGB and HEX values all in one view.
  • Super Pro Tip: Definitely read the comments under your favorite swatches. Listening to people talk about colors is... weirdly uplifting.

Favorite Schemes

Quiet Cry

Screen Shot 2015-08-20 at 10.16.06 AM.png

I think what I love best about this theme is the name. I can imagine the colorist weeping softly while adjusting RGB values to achieve the precise mixture of coolness and melancholy that captures a quiet cry in the bath. 

Also, the user comments for this theme are touchingly intimate.

I've been using this theme on my personal resume site. It has a nice combination of weight and cheerfulness to it. Color Hunt doesn't give names to their themes, so I made one up!


Career change is scary

Lindsey (badass full-stack engineer/Hack Reactor alum whose career path I'm basically copying) and I had a genuinely fun time talking to students about how to kickstart their career search on the Udacity channel today. In other news, I still cannot adequately describe how to use Twitter. #Imightnotbeyoung

Here's a sample personal inventory/career research spreadsheet (I reference this in the presentation) that maps pretty closely to what I did 2 years ago when I decided to quit my pretty-damn-good government job on the chance that I could achieve something greater.  

Doing this session today made me sit back and reflect on how scary it was back then (and still is now) to stretch yourself for something that you really don't know you'll achieve. I'm so glad I took the risk, as disheartening and sucky as it was at times (as an aside, moving back in with your parents and waking up on your 30th birthday in your childhood trundle bed is not something I recommend to anyone, ever). Because, with the exception of the Rapid Ramen Cooker, the greatest rewards in life don't come by just doing what's easy.  

Unsolicited Advice: Write your test suite FIRST

This one trick has saved me countless hours of time and mental anguish: Before writing your program (even if it's just a single function), always write your test suite first. "Test suite" is just a fancy way to say "the code you'll run to show that your program works as expected." 

Por ejemplo: 

// Build a function that takes in an integer and returns its value multiplied by 3. 
var tripler;
// Before you write out your function, think about what you'd expect to see in a variety of cases.
// Test suite for positive, zero and negative inputs:
    // 9
    // 0

Now proceed to write your function:

var tripler = function(int){
    return int*3;

When you're ready to run it, you don't need to waste mental energy coming up with tests because a fresher, earlier version of you already did it for you! Thanks, self!

This might sound silly (especially for the simple example I used), but I can't overstate what a relief it is to offload this burden to the very beginning, when your mind is clear and untrammelled by the many lines of code that Future You is about to write. It also serves as a good organizational strategy to keep you focused on what the actual point of your program is, so you don't wander directionless through Stack Overflow and other such alleyways. 

Unsolicited Advice: All advice is just someone else's opinion

Learning is incredibly personal, and not all people learn the same way. For example, I'm drawn to clear and absolute instructions, without a lot of room for ideology. I take comfort in manuals. I value tables and diagrams. I learn best by studying clear examples, and pattern matching. Only after I can explain the material to myself and others do I feel comfortable enough to be creative and explore. 

I enjoy making strong decisions and completing observable milestones, so listening to engineers debate the merits of recursion is not how I'm going to learn recursion. You may be completely different. You might find my methods stifling and conventional. That's fine. 

The point is, there is no one "best" way to learn programming. Just find what you like and stick to it until you're ready to move on. For example, if you find w3schools helpful, use it until it doesn't help you anymore. Don't worry about offending "real" programmers with "newbie" techniques. Everyone has to start somewhere, and if you get caught up caring about whether or not yours is the "best" way, you're going to be spinning in circles. 

This is an excellent blog post that chronicles exactly what I mean, applied to a real life example. 

And remember, all this is just my opinion.