Screen Shot 2015-09-22 at 5.15.26 PM
Learning To Code

What Nobody Tells Beginner Programmers

Flatiron School / 22 September 2015
SHARE:

This blog is part of a continuous series that highlights experiences, insights, and tutorials from learning developers at Flatiron School in Web and iOS.

 

“Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take a while. It’s normal to take a while. You’ve just gotta fight your way through.” 

 

Everyone warns you that your first year out of college will be difficult. For me, that was an enormous understatement. After studying politics in school and hoping to begin a career in international affairs, I somehow wound up in an online marketing position, promoting drugstore makeup brands and car manufacturers. I was unfulfilled, uninspired, and unhappier than I had ever been in my entire life. Something had to change.

Everyone has a different reason for ending up at Flatiron. We were searching for fulfillment, we wanted to build something beautiful, or we didn’t want to get left behind by the technological revolution rapidly altering every aspect of our modern lives. Many of us said goodbye to a comfortable life that would’ve been sufficient – more than enough, even, for many people. But for us, it wasn’t.

Two weeks into Flatiron, and about five months since my initial introduction to the world of programming, I currently have a love/hate relationship with coding. I’m trying to embrace the love side of the relationship, but I’m still working my way over there. Right now, coding is a new friend that I enjoy getting to know and couldn’t imagine living without now that we’ve been introduced – but every now and then, she backstabs me when I least expect it.

When you’re struggling, and stumbling, and feeling terribly small and alone, that’s when you’re learning. That’s when you’re growing.

Let me explain: When you’re programming, and you get something right, it feels amazing – it’s an intoxicating, incredible feeling. You feel inspired, you feel validated, like hey, you are smart enough to do this, you are capable and worthy of being a part of that elite group of people who have the ability to build incredible things, things that millions of people couldn’t imagine going about their daily lives without. But when you get something wrong – when you keep getting something wrong, despite spending hours and days and nights and weekends working through the same problem, it can be soul-crushing. It can make you feel like there’s no one in the world less intelligent than you are in that moment.

As a recent NYC transplant, I find learning to code a little similar to adjusting to life in New York. When the city is on your side, it elevates you; it makes you feel on top of the world and you pity everyone who doesn’t live here. And when it’s not, it feels like the loneliest place on Earth, and you cannot fathom why anyone would choose to make this place their home. The secret to getting past this, (as I’m very slowly learning), is to continuously remind yourself that when you’re struggling, and stumbling, and feeling terribly small and alone, that’s when you’re learning. That’s when you’re growing.

“The turn-of-last-century British artist William Morris once said you can’t have art without resistance in the materials. The computer and its multifarious peripherals are the materials. The code is the art.”

 

There’s this interview with Ira Glass that I absolutely love. He talks about a gap he experienced during the first few years he began working in radio. A gap between what he wanted his work to be and what it was. It had potential to be great, but it wasn’t. He says a lot of people go through this same experience. And a lot of people quit at this point. They think that because their work is not great, they weren’t cut out for the job or the industry they’re trying to break into. But Ira says the fact that you know that your work is not great, that you know it could be so much better than it is – that means you have taste. You know the difference between Edith Wharton and Stephanie Meyers; between Bob Dylan and Adam Levine; between the first snippet of code below and the second.

1
2
3
4
basket = ["apple 1","apple 2","apple 3","apple 4","apple 5","apple 6","apple 7","apple 8","apple 9","apple 10"]
basket.each do |apple|
    puts "Taking out #{apple}"
end
1
2
3
4
5
6
7
8
9
10
11
12
13
basket = ["apple 1","apple 2","apple 3","apple 4","apple 5","apple 6","apple 7","apple 8","apple 9","apple 10"]

apples_in_basket = basket.size
apples_taken_out = 0

loop do
    if apples_taken_out < apples_in_basket
        puts "Taking out #{basket[apples_taken_out]}"
        apples_taken_out += 1
    else
        break
    end
end

The fact that you recognize these differences means that you are in the right industry. You just haven’t worked enough yet. And the only way to elevate your work from so-so to great is to work like crazy. Work every day. Work through the evenings. Work on the weekends. Produce volumes and volumes of work, and eventually you’ll close that gap.

Ira is likely directing his message toward the more traditional creative-types – writers, artists, and musicians – but I think his advice applies to computer programmers just as much, if not more. We’re not producing symphonies or novels, but what we’re doing requires just as much good taste and creativity, as well as a keen artistic eye.

Programmer Paul Ford recently wrote an article for Bloomberg called “What is Code?” I couldn’t have read it at a more opportune time, at the beginning of my immersion into programming. In the 38,000 word article, Paul takes an incredibly nuanced and complex subject and breaks it down so a non-expert audience (like myself) can better understand what code is and why it is so important. Paul stresses the idea that software is in everything. It’s not just in the games you play on your iPhone or the website you use to book your vacation. It’s in your laundry machine, the elevator in your apartment building, the train you take to work. Code is alive and well in nearly every aspect of your life.

In one of the opening paragraphs in his article, Paul writes the following:

“What I’m saying is, I’m one of 18 million. So that’s what I’m writing: my view of software development, as an individual among millions. Code has been my life, and it has been your life, too. It is time to understand how it all works.”

 

Everyone has a different reason for coming to Flatiron School. I came because code has been my life for the better part of my 22 years on Earth and it’s time to understand how it all works. This is my view, as an individual among millions, as a beginner programmer.

This post originally appeared on Elaina Polson’s blog. Read more here.

Pre-College Students Attend Zac Posen Code Fashion Show Previous Post 6 Questions with Kode with Karlie Scholar Ayushi Sangoi Next Post