10 Things to Expect When You Learn to Code

When I decided to learn web development, it was for business reasons. I was sick of not knowing what I was talking about.

Now, I realize that it’s become much more than that. It goes beyond the new languages, concepts, and opportunities. Coding has changed the way I think - both for building applications and doing any other productive activity.

These 10 points are all things that I’ve experienced multiple times during my self-education, and based on my conversations with other developers, I think they’re fairly universal. Like the ebook I wrote for business students, this mostly speaks to the beginner, but I’d love to hear feedback from people that are more experienced than I am.

1. You will realize how smart you aren’t.

It’s easy to let it go to your head when someone tells you how “you’re such a bright guy.” All that goes out the window when you’re just getting started with a new language. Smooth talking and good grades can sometimes let us hide how lost we are. Coding’s not like that. It will slap you in the face when you’re wrong. It’s like a brutal cense that only excepts perfection.

2. You will run into walls that make you feel like giving up.

Learning how to code has a way of playing out like a video game. Every level seems to have a “mini boss” you have to defeat in order to progress. You can avoid that dragon/robot/giant octopus as long as you want and wander around the same level, but you’ll never improve. Facing a problem head on is painful at first, but when you eventually beat it, and then another, and another, you gradually build the confidence to take on almost anything. So, when you run into a problem that seems insurmountable, when you feel like throwing up your hands and closing the computer until “tomorrow”, take a deep breath and dive in headfirst. The pain of error messages goes away relatively quickly, but the looming knowledge in the back of your head about a battle you’re running away from will eat you up.

3. You will “waste” hours at a time doing something wrong.

I say waste, because that’s what it feels like sometimes. You spend an entire night creating a set of functions that you go to bed happy with, only to realize the next day that they’re totally inconsistent with the system as a whole, and you have to redo them. It feels like a waste, but it’s not. You’re always building the logical muscles, whether your code sees production or not. The key is to record what you did wrong and actually act upon your lesson the next time it comes up (as with anything in life).

4. You will find a deep respect for the masters.

After you’ve worked your way through some of the educational mud, it starts to dawn on you… those awkward looking nerdy programmer guys from high school are freaking geniuses. And what about this language I’m coding in… someone created it. And the teams of smart people that build the fast, effective, user-friendly apps we use every day and whine about when something doesn’t look right? It’s humbling on a whole new level.

5. You will stop BSing.

Coding forces you to get it right. You can’t skip things. People that go into non-technical college majors (particularly business) can usually find a way around the harder parts of an assignment. You can get pretty far with a killer opening paragraph, a sleek logo design, some financial “estimates” and lots of appendices. When you learn to code, everything becomes more black and white. There is a right and wrong (a true and false if you will). If you’re a marketer, I have to warn you, it will likely make you resent a lot of your own habits, especially when it comes to explaining how your idea will work. You’ll definitely be more direct, proof-driven, and effective, but the transition might be tough.

6. You will learn how to learn.

For the same reason that coding will push you away from bad BSing habits, it will teach you how to learn. That goes for everything - not just computer stuff. I never expected it, but coding changed the way I learn new songs on the piano and guitar. It also changed the way I write essays, and it helped me develop patience for instruction manuals and cooking recipes that I never had before.

7. You will learn the importance of creating systems.

Once you know your way around a new language, the best thing to do is build something. Of course, the first thing you build is never very good. Mine was a complete mess (NUFeed.Me: the dining hall menu reminder that sent its users about 120 emails one day because I didn’t close a loop). Messy habits are amplified exponentially in development. You can’t hide from sloppiness, because it comes back to bite you very quickly. So you eliminate it by necessity (which is more than I can say about my kitchen sometimes).

8. You will learn to know what you don’t know.

The biggest challenge of starting to learn to code isn’t syntax or problem sets… it’s the fear of the “blob”. The blob is the huge mass of indecipherable letters, numbers, and characters you see when you open up a new coding tutorial. It’s ugly and freaking scary. Why? Because you have no idea what you’re looking at. You don’t know where to start. It’s the same for almost everything else worth learning in life. There’s that moment when you think “holy crap, how is this possible?” What’s awesome is the moment you realize that breaking down the blob is a two-step process. First, you learn what you need to learn, then you learn it. That key step translates across life.

9. You will think about EVERYTHING differently.

I think people from non-technical backgrounds that go into technical fields share this crazy shift in perspective that comes only from radically transforming your thought process. Only now do I realize how illogically my thought patterns have developed without the pressure to form coherent operations in the form of code. One of my good friends that just made it through the javascript learning curve told me how he’s seeing software applications that don’t exist. That weird collision of perspectives is where I believe lots of great ideas can emerge.

10. You will wonder why you didn’t do this years ago.

I’m glad I learned to code in college, because it has made me realize that I can use software as a platform for creativity. I do question why I imagined coding would be a boring, monotonous activity for so long. Having worked in both marketing and technology now, I realize that your ability to be creative isn’t defined by your job title. It really just comes down to your desire to be creative and how much you care about the thing you’re building.

Did I miss anything?

blog comments powered by Disqus
  1. mceceliabittner reblogged this from drewdagostino
  2. amandajehan reblogged this from drewdagostino
  3. samanthayeh reblogged this from drewdagostino and added:
    I decided to learn coding for myself for my “independent study.” I could’ve coasted with just working.
  4. colorfulphraseology reblogged this from drewdagostino
  5. mexistentialist reblogged this from drewdagostino
  6. dominickbrady reblogged this from drewdagostino
  7. illxica reblogged this from drewdagostino and added:
    oh my G, this is me.
  8. thesuperrare reblogged this from drewdagostino
  9. woody reblogged this from drewdagostino and added:
    GO READ THIS
  10. almabahman reblogged this from onaissues
  11. onaissues reblogged this from techladymafia
  12. geekandabunlet reblogged this from fooyeahcode
  13. universal-magnetic reblogged this from drewdagostino
  14. fooyeahcode reblogged this from holyshititskatelyn
  15. holyshititskatelyn reblogged this from drewdagostino
  16. disleksili reblogged this from lifeandcode
  17. techladymafia reblogged this from lifeandcode
  18. justinherrick reblogged this from lifeandcode
  19. sole-aesthetic reblogged this from nldmut
  20. kikuberri reblogged this from lifeandcode and added:
    yes