The Rockwell station.

You Have To Know What Scares You More

I graduated Dev Bootcamp in September, and got asked to come back on contract as a junior instructor, and that job became full-time official last month, and that meant I finally got to reunite my family in Chicago, so we’re together again and my career trajectory has changed in a huge way and 2014 was the most amazing year of my adult life.

But that’s not what’s important for today.

What’s important is that my family moved to Lincoln Square, right off the Rockwell Brown Line stop. That matters because the train is at street level at Rockwell, which means I get to see a drama play out every morning that reminds me of my work.

The Rockwell station is just west of its namesake street. A street level station means there’s no bridge over Rockwell, just a track embedded in the asphalt and four big lighted wooden arms that come down when a train’s about to cross; it’s a railroad crossing, and sometimes people get hit at crossings, so there are bells and flashing red every few minutes before Kimball-bound trains slow down into the station. Or before Loop-bound trains arrive at the station, load up, and then cross Rockwell heading east.

The timing matters for this analogy. Kimball trains come through the crossing faster, since they’re decelerating from speed. By contrast, you’ll see and hear the warnings for a Loop train before the train has arrived at the station, before it has slowed down to a stop before the closed crossing, before passengers have boarded.

And I say all this so maybe you’ll think differently about the kind of person who would ignore bells and flashing lights and duck under a descending wooden arm to make their train. Maybe they’re not ignoring a clear danger. Maybe they have enough context to know when there’s no danger at all.

For many DBC students, the beginning of Phase 1 is all loud warnings and descending arms. Day One hits and it’s FULL – intros given, overviews covered, rules communicated, and on top of that there are several code challenges to get through in what amounts to only a few hours of core coding time. It’s hard to get through everything on the first day, and if you don’t, the fullness of the day gives your ego an easy out: “surely tomorrow, when there’s more time to code, I’ll get through the challenges easier.”

And then comes Day Two and the pace actually increases and it’s really easy to feel like you’re already in danger of total challenge/day/program/career/life failure, depending on how loud your inner authoritarian can yell at you from inside your head.

Before Dev Bootcamp, you were really good at something, art or negotiation or electrical engineering or parenting or sales or being a full-time student, and a lot of your identity is wrapped up in that first expertise. Society messages to us that everyone’s supposed to get good at something and then make some money doing it, and we get nervous enough about the money part that we forget to challenge whether that “something” really needs to be singular for anyone. It’s not that you can’t take on a brand new skill as an adult (I’ve personally watched hundreds do it since last May), it’s that no one’s ever explicitly told you that it’s totally normal, it might even be the default path to happiness, so all you’re left with is the sense that you’re struggling and that you’re doing it alone, because who’s ever done anything this crazy before?

Well, your cohort’s doing it, so that makes you feel safer. And you’ve got instructors who did it, and that helps a lot. But inertia is powerful, and when your brain can’t get its daily expected dose of expertise dopamine, two days in a row, it can make you panic all the same.

I’ve seen a few people have to leave DBC. Sometimes the program just doesn’t fit a student’s learning pace, and it hurts to say goodbye, because you still know they’re going to go off and become great coders one day, but you won’t be there to see it. But sometimes a student just hits an emotional wall and shuts down, and it has nothing to do with their technical prowess, it’s all about their courage.

It goes something like this: “I know I’ve already repeated this phase, and I really need to buckle down these next three weeks if I want to pull through. But what if I summon a Herculean effort and I’m still not good enough in time? Maybe it would hurt a little less if I just tapped out now and failed on my own terms. At least then I could retain some sense of control.”

This morning, on my way in, I saw the gate start to come down, and three people took off running to beat it. Two ducked under, and the third decided at the last moment not to chance it.

If the train represents a perceived danger, and the wooden arms are the ego’s defenses against that danger, maybe the difference between those who go for it and those who hedge is in the context. Maybe Runner 3 didn’t know it was a Loop train and that there was plenty of time to duck even after the arm had dropped completely. And maybe the knowledge that DBC is a safe place to learn and make mistakes, the knowledge that you’re surrounded by students and mentors and teachers who have your back and will help you succeed, the knowledge that so many before you have found success here by trusting the process and bringing their whole selves into the struggle…maybe that knowledge will empower you to pick your moment, stare down the train and get yourself where you were trying to go.

However… what if the train represents a path to somewhere awesome, a path you can miss out on traveling if you hesitate for too long? If that’s the case, maybe the arms and bells and lights are the ego’s defenses against personal change, and maybe Runners 1 and 2 weren’t afraid to duck under them because they knew the ego is a vicious liar when it doesn’t want change, and in that context the warnings weren’t warnings at all, they were just excuses.

But that’s not right either. Coding (and, I’m slowly learning, life itself) isn’t about finding the right solutions, it’s about the best solutions available considering the specific situation and the tradeoffs involved. There’s no black and white, just pros and cons and a choice to be made.

And if that’s true, the train is both danger and opportunity. It’s not your death or your salvation, it’s a risk. It might crush you, or it might open its doors and let you change your scenery. But the tricky part is that when the bells start to go off and the lights start to flash, you will need to decide for yourself what the warning means, and you’ll need to act on that decision quickly.

It’s convenient that I ride toward the Loop way more often than I ride toward Kimball, because it gives the analogy another layer. When I hear the bells and see a train barreling westbound toward the tracks, I know ducking the arm would be a stupid risk, not because I’m more likely to get crushed by a westbound train, but because west is not even where I need to go. Hopefully, long before you started DBC, you got at least a kick out of writing code that works; if not, this might not be the right risk for you in the first place.

But that’s hindsight at this point. You’re here now, and you’re uncomfortably new at this, and the work is really hard, and your defensive brain is warning you that you might be in danger. And yet the train that’s endangering you, these challenges, this process, the uncertainty of what comes after, the uncertainty about yourself, is the very reason you left the house in the first place. At this point, you can hold yourself back or push yourself toward the risk.

I don’t know your tradeoffs, so I can’t speak for you. And it’s a scary choice no matter what side you land on. Scary like running through a railroad crossing is scary, because in both cases you’ve grown up being told to never ever chance it: “A career change? At YOUR age? But you’ve got such a good thing going…”

Still, I’ll bet money that while running through a railroad crossing is scary no matter what, one of those runners was more afraid of getting crushed, and two of those runners were more afraid of missing the train.

I graduated Dev Bootcamp in September, and got asked to come back on contract as a junior instructor, and that job became full-time official last month, and that meant I finally got to reunite my family in Chicago, so we’re together again and my career trajectory has changed in a huge way and 2014 was the most amazing year of my adult life.

For me, putting my head down and going for it was the right move.


Poem: Unready

The worrying is back and bold and vicious, all talons and heavy wet fur and dark scales that reflect back the way I looked when I first said yes to this.

It’s happening again and I am part of it because I built it, dreamed it up from need or something like it, and it is just like the last time and the time before that.

Before I got here I wrapped the cord around my neck and turned my back on birth. They say they had to drag me stubborn into the work of breathing, had to twist and pull and wrench my head towards the world in front of me. I was not ready to live.

At five my brain was full of letters, wet and heavy with information, and still they held me back. I was not ready to socialize with second graders. I began to repeat myself, throwing out answers and jokes and punches, all of them perfect in their placement and terrible in their timing. I stared down the principal and dared him to punish me harder. I was unbreakable.

Eleven and counting and I cannot advance, the choir director says it’s immaturity but I’m positive it’s because he’s a butt head, so I must sit and watch the best singers travel to the best places and work through the best vocal warmups, and wonder whether I would ever be ready for anything I really wanted when the time came to take it.

I was not ready for college. I was not ready for the workplace. I was not ready for children. So when this begins to happen again and I can feel it breathing hot and loud and impatient like subway wind, I brace for impact and plan my retreat.

But time is an arrow, and none of my steps are backwards, and when I walked past seeing my path I claimed my life and I found my friends and I sang my song, all in time, and all of time will fade and leave me standing

At the edge of the next thing to happen, I turn back to find the reasons not to turn back around. And Love pulls and twists and wrenches my head back again, toward the world in front of me, and I hold my breath and take one more step.

Playing Catchup and Pushing Forward – How I Almost (Maybe) Washed Out of DBC

Wow. What a whirlwind couple of weeks it’s been. I have more to share than one blog post could comfortably hold, so I’ll do my best to hit the highlights and then get right back to my DBC work, which has taken up about 20-25 hours per week so far.

Well, kind of. My actual weekly average is somewhat lower than that number, because I made a huge mistake last week.

Let’s get one thing out of the way real quick: I’m still stuck deep inside a fixed mindset. Which is why I was terrified about learning JavaScript last week.

“I don’t know this! It’s outside my comfort zone! I might not be awesome at it right away! Maybe I should just put it off and start later.”

And I did start later. Ten days later.

Yeah, that’s not a good first impression to leave on your accountability group. They had bunched us into four-person groups at the beginning of Week 2 to help us pair program easier and leave solid feedback on each other’s work. Then they handed us a group assignment at the beginning of Week 3. I went from being a super-perfect proactive emailer (“Hey guys, heads up on this upcoming assignment! Let’s try to finish early.”)  to a total deadbeat in a matter of hours. That means my group was left twisting in the wind as I dodged emails and sat in silent panic for over a week.

What a terrible week it was. By Tuesday, I was nervous. By Wednesday, I was certain that I would get kicked out of the program. On Saturday evening I had visions of going back to retail work with my tail tucked between my legs, a total failure at everything ever.

Then a light shone in the darkness. My Phase 0 “student shepherd” reached out and asked how I was doing. I told the sad truth and committed (for the second time since the start of the program!) to making a change for the better. The response I received was empathetic and reassuring; apparently, my shepherd had gone through almost the exact same experience when she was a boot.

She encouraged me to stay in touch and not give up, and reminded me that I had plenty of resources to call on. Her positive attitude reminded me of myself on my best days, the days when I’m not afraid to be wrong in the pursuit of getting it right, the days when late is better than never, even when late is really late and never looks like an oasis of familiar mediocrity.

So I got back to it. And the strangest thing happened, which would be stranger if it wasn’t always what happens when I drag myself back on track: the work was easier than anticipated, and the world didn’t end just because I screwed up.

In the last two days, I’ve put in a dozen hours of work and completed all but two of my Week 3 challenges. I now understand the basics of JavaScript, enough to be comfortable with the prospect of creating a basic “fetch quest” game for one of those challenges, which I plan to finish in the next 24 hours.

The other challenge is a guided pairing session scheduled for early next week. During Phase 0 guided pairing sessions, an instructor works with a pair as they work together to complete a challenge. During my last GPS, my pair and I built a website mostly on our own, with a few gentle interruptions from our guide reminding us to stay on task and move forward. Guides are watching for technical mastery as well as soft skills – willingness to learn, communication effectiveness, bravery in the face of getting stuck – and the sessions are good opportunities to check your overall progress against someone else’s work.

So, to recap, here’s my Phase 0 experience in a haiku:

Markup, CSS,
Javascript, abject horror,
Ruby starts this week.

Looking ahead, I’m excited about digging into TDD (test-driven development) and learning how to use something called RSpec to write hurdles that only successful programs can jump over. The tests seem to get written first, which is an interesting reversal of every creative process I’ve been a part of in my life. I’m excited to see what’s ahead. And I’m really excited to see if I can get myself back on schedule in the next few days and free up more blogging time. Writing this has been the best 45 minutes of my day.

Now I have to go and figure out how to make the medic get the salve off the table and give it to the patient. Go fetch, medic! JavaScript is fun.

Addicted to Perfection – How I’m Quitting My Fixed Mindset

My name is Duke, and I’m a recovering perfectionist.

I started my habit in grade school. I was a smart kid. The material was easy for me. I didn’t have to work at it.

I aced my first spelling test in first grade and I never looked back. The rush was incredible. I had done everything that was expected of me. I was recognized for my results.

My results. Not my effort. No one cared if I was making an effort.

I quickly developed a tolerance. So did my parents. When I brought home a report card with six As and one A-, we had a stern talk about the A-. I realized that the outcomes were more important than the process. I needed those outcomes. I was a fiend.

My best friend was a perfectionist too. His mom and mine would compare us, analyze our work, clamor for the upper hand. He was better at Math. I was better at English. He was better at baseball. I was better at soccer. We fought a lot. We played video games a lot. We tried not to think about our failures a lot.

Being perfect turned into being capable turned into being adequate. At least that’s how it felt from my end. I upped my dose, chasing the high of recognition. I started reading ravenously, two books a day, three books a day, grabbing all the loose factoids I could. Someday I’d need them. Someday.

My stash of knowledge started to pile up. I needed stronger hits.

In third grade I started getting parental help on school projects, desperate for the top grade, terrified of being the kid who didn’t build the perfect diorama.

In fourth grade, we were building cars out of wood for a group project. My friends’ car idea wasn’t good enough. Mine was better. I ditched my friends. I built my design. I won the race. I lost my friends.

In ninth grade, I discovered extra credit. It was a powerful stimulant. Finally, I could be better than perfect. This was real power. Even when I screwed up, I had a cushion. My GPA crept above the four point. My anxiety crept above the surface. I was addicted to the numbers. I was dependent on my extracurriculars. I was mainlining achievements. I was building a resume. I was building an empire. I was building a habit.

I lost it in my junior year. My parents split up and I slipped up and missed a few homework assignments. I bombed some midterms. My brain spasmed through perfection withdrawals. I was hurting. I wasn’t perfect anymore.

But perfection has two sides. I had been good at succeeding perfectly. I got even better at failing perfectly. I stopped caring, stopped pushing, stopped trying. I was still smart. My zero-effort semesters got me some As and some B minuses and a couple student awards and a false sense of security. I slid out of high school with a top-30 GPA and an academic full ride to MSU.

And then I failed better than I’d ever failed before.

I didn’t go to class. Didn’t study. Didn’t take tests. I was sad a lot. I played video games a lot. I stayed in my room a lot. I didn’t make friends a lot. Aside from my regular attendance at a few music courses, I was a waste of a scholarship.

I came home after three semesters with a 1.something GPA and an album in my brain. I recorded the album, perfectly on schedule. I started working on a second album. I missed a few recording dates. My release schedule stopped being perfect. I abandoned the second album.

My life has gone on like this, an alternating sequence of effortlessness and despair. I’ve gotten better at picking only the battles I know I’ll win without a scratch. I’ve gotten better at avoiding the things that scare me. I’ve mentally mapped a thousand successes and then walked away before breaking ground on the first steps. I’ve played video games a lot.

I’ve been the perfect (ha!) example of Carol Dweck’s fixed mindset model for most of my life. Resistant to criticism, afraid of challenges, envious of success, obsessed with appearances, allergic to failure. My mental habits have cost me relationships and opportunities. My self esteem has suffered. I’ve wasted a lot of time.

Here’s the good news – with a growth mindset, my experience can make me stronger, as long as I learn a lesson from my failures and move forward from them. I don’t need to look at my past trajectory as a liability; rather, it’s a valuable insight into my character, one I can use to change my choices and become a better human being.

My journey to Dev Bootcamp is helping me break my old thinking habits. Every line of code I write in preparation for Phase 0 holds a thousand ways I can screw something up. Usually, I screw something up. But here’s the funny thing: when I recover from a screw-up, the lesson I learn sticks with me way harder than anything I “learned” in school as a glorified test robot.

To accompany my prep, I’m reading Chade-Meng Tan’s Search Inside Yourself, a no-nonsense guide to mindfulness meditation and emotional intelligence. (For auditory/visual learners, there’s also a free video series that covers the core material.) In the book, there’s an interesting definition of meditation that I’d never heard before.

The author says that the “still mind, no thoughts, just breath” part of meditation isn’t the point of the exercise. It’s actually the step right before that state, where you catch yourself thinking of something else and turn your attention back to the present, that makes the practice meaningful. That moment of resistance is like lifting a weight – the more you do it, the better you get at it. Eventually you can bring the practice into your everyday life, turning your attention at will and holding it on what’s really important.

What’s really important to me now is code. And distractions are everywhere. Twitter notifications, emails, funny videos, and real-life distractions constantly pull me away from my text editor. So I’ve been working on mindfulness in my spare time, and I’ve started noticing small changes. I can pay attention to my work longer. I’m better at catching myself doing something random and useless and getting back on task. I’m more present in general.

Here’s the kicker – I need to keep a growth mindset for all of this to work. I need to see my failures to pay attention not as signs of weakness, but as opportunities to build up my attention muscles as I pull myself back to the work I need to get done.

If I give into perfectionism, I’m lost. I end up postponing learning for days at a time, wallowing in frustration and self-pity. I get stuck on failing perfectly all over again. It’s why I stopped posting here for several days; that’s how long it took for me to recognize that my time away was not evidence of a lack of desire to write. While I was away, I wasn’t getting much of anything done, because starting up again meant acknowledging that I had failed to meet my perfectionist standards.

This might be the hardest work I’ve ever done. I’m trying to re-wire my brain here, trying to look at everything I do with new eyes. At every turn, I have a choice to make. Either I can run from a challenge or I can build from it. Either I can kick myself for failure or  congratulate myself for getting to the point where I can start building new strengths. Either I can run away from criticism or I can use it to get better at what I’m doing.

And you can too. I can’t be the only person endlessly teetering between breaking out and breaking down. There’s a third way, and it involves tolerating small, incremental changes and loving the moments when you don’t know if you can move on. In those moments, even a tiny step forward is proof that you can. And it’s a crack in the armor your brain has built to shield itself from real growth.

Ultimately, growth is death. It’s a leaving behind of a past self. But tomorrow’s past self is today’s present self, and the present self doesn’t want to die. A growth mindset means a willingness to suffer tiny deaths each day. I’m working on my willingness, letting my muscles tear so stronger tissue can grow to fill the spaces.

In high school, when I was nursing my impossible standards and clinging to a grade point that had nothing to do with my effort to grow, I used to roll my eyes at the motto on every student athlete’s sweatshirt: PAIN IS WEAKNESS LEAVING THE BODY. But now I’m starting to understand how true it is. Pain is weakness leaving the body. Challenge is complacency leaving the mind. Failure is perfectionism getting beaten into submission.

I can’t wait to screw something up today. Until I do, the video games can wait.