Learning To Code

6 Things This Alum Wishes She Knew Before Learning How to Code

Flatiron School / 19 September 2016

This post, written by Sarah Alder, a Flatiron School alumna and Front-End Engineer at YouNow, originally appeared on Quora

What are some things you wish you knew when you started programming?

1) Language choice isn’t that critical if your goal is to learn for the sake of learning.

Learning ANY language gives you a point of reference to learn another. When I started coding in 2015, I got accustomed to the object-oriented programming via Ruby, but now I use Javascript on a daily basis, which, though still object-oriented, has functional elements to learn. I’m sure I’ve learned JavaScript much quicker post-Ruby than I would have pre-Ruby. You can think of it like learning a natural, human language. Learning Dutch is much simpler if you already know German.

That said, I recommend starting with, a higher-level language like Ruby as opposed to a lower level language, like C, which is far less semantically rich. If C is like speaking in grunts and hand gestures, Ruby is like speaking in song and idiom. Those grunts matter! But, if you’re just starting out, a higher level language will give you more momentum. Coding is difficult enough to start. You should definitely not spend months self-flagellating in a cold dark windowless room learning machine code.

2) Language choice is more critical if you’re seeking employment for your code skills.

If you want to be a web developer in 9-12, there’s no point in learning C. Plain and simple. Much respect to the old school guys and gals who started from the bottom now they’re here. They have an understanding that I’m still developing. But if you want to ship something with a client interface and a backend, find the right tool for your task. For web, Javascript, and Ruby or Python will do, and iOS positions still really need devs who can work with Objective-C codebases. Focus on the relevant language for your goal. Even still, as a programmer you’re going to have to accept that…

3) Languages and frameworks are always changing.

An engineer isn’t just a person who knows some languages. That’s what a compiler is. An engineer solves problems. Your tools (languages and frameworks) will change, due to the task at hand, an employment change, or the natural evolution of programming paradigms and best practices. I know a guy who used to write embedded software in C/C++ at Motorola, and these days he’s a Android dev.

4) Errors are awesome.

Some languages and frameworks have more descriptive errors than others. When you first begin coding, you aren’t accustomed to constant failure, and so those gigantic error messages feel defeating or overwhelming. After a few months, you accept that the stream of errors is just part of the process. The more detailed the error, the better.

5) There are times to bang your head against the wall, and then there are times to ask for help.

As with most things, you learn coding by doing it. If every time you get stuck, you immediately ask your brilliant, cool, and helpful friend Lisa for help, you are doing yourself a disservice. Depending on the complexity of the problem, you should give yourself a time limit for actively trying to solve it. If you’re struggling with something like, simple string manipulation, give it 30 minutes before posting to Stack Overflow or asking your friend. If the problem is more complex, your limit may be a few hours.

When you’re first learning, you will benefit from asking questions when you max out your time limit. Once you’ve grinded on something simple for an hour, it’s obvious that critical coding thought habits are still too far out of your wheelhouse for you to be “productively stuck.” Oh, and ask good questions. Like “If you got stuck on this problem, and you tried X, Y, and Z, what would your next step be?” If you want to learn to fish for yourself, pay attention to the habits of good fishermen.

6) Take a damn walk.

If you’re really stuck and you just want to explode into a million tiny zeroes and ones, sometimes you just need to give your mind a break. Take a walk, talk with a friend, play a game, work out. Eat something. So many times I’ve taken a break and then come back to see the problem at hand in a totally different light.

Feeling ready to learn to code? Take a look at our brand new Coding Bootcamp Prep course.

An Alum Helps People Get Hamilton Tickets With His App Previous Post 3 (Wrong) Assumptions Keeping You Out of Tech Next Post