I graduated from college with a major in Communications and a minor in Business. I immediately went into sales and quickly realized that while I enjoyed it, it wasn’t what I ultimately wanted to do. I had always been into computers and always had ideas for websites so I decided to take the dive and learn how to code and have been learning for the past year and a half.
I haven’t been reading books or taking classes. In fact, I wish I had studied CS in college. What I have been doing is building, or attempting to build. I often say, “the best way to learn is by doing.” With the resources on the wonderful Internet I really believe you can almost teach yourself anything, especially how to program and build a website.
By no means am I a good programmer but I think at this point thanks to Google, StackOverflow and my co-founder Will Washburn who is also self taught I could learn to build a lot of things.
So what have I learned since I’ve been learning how to code?
1) Attention to detail is of the utmost importance
I saw a quote somewhere that says “the problem with a computer is that it will do exactly what you tell it to.” Simple mistakes can cause complex problems. Missed comma here, forgotten semicolon there would cause me hours of frustration trying to figure out what was wrong. Trying to do something too quickly is not the way for me to program successfully. Moving slow and methodically is the right way and saves me plenty of time in the long run.
2) Patience is a virtue
Along with number 1, having the patience to painstakingly go through each and every line of terrible code I had written was very necessary if I ever wanted to get it working. Coding can sometimes feel like you’re banging your head against the wall and requires taking a deep breath, getting up for a second, then going right back into the trenches. But a valuable skill I have learned is to be patient with myself. As much as I want to curse myself and call myself stupid for writing something incorrectly I have to remember that it is a learning process and I am getting better.
3) StackOverflow is the best thing ever
Well first, let me say I had to graduate to be able to use StackOverflow. I started with W3 Schools to learn the basics and get my feet wet. There is no better feeling than struggling with a problem, inputting that question into Google, and finding the exact answer you need on StackOverflow. Usually there is some kind of explanation there as well which is absolutely glorious for learning. The great thing about the programming community is that someone has probably had the same problem I had and is willing to share their solution. “Each one teach one” seems to be the mantra and I love it.
4) Don’t be embarrassed
Sharing my code sometimes feels like showing a piece of my soul. However, the only way to get better is to learn from others and get critiqued on what I’m doing. Taking critique isn’t always easy and takes a good deal of swallowing my pride. It is very tempting to try to defend the things I wrote and rationalize it but sometimes the best way to learn is to shutup and listen. I’m lucky that I’ve been on a team so my code has to be shared and so that was a fairly natural process. But sharing code also entails putting it on Github and contributing to StackOverflow. I was reluctant to join Github because I was so embarrassed of what I was doing before but I have gotten a lot better now and I still need to give back to the community and contribute to StackOverflow.
5) Don’t be intimidated
The great thing about coding is that there are plenty of frameworks and tools out there that can aid your development. The tricky part of that is taking the time to learn how to use them and understand it so it can actually make your life easier. Something like Vim Text Editor at first seemed super confusing to me, but once I got into it I definitely saw the benefit. By no means am I flying on Vim but it certainly speeds up things I’m doing. Same goes for understanding of Git. I think having a no fear attitude when coding is a necessary thing and gives me the confidence to try to break things down to understand it. Just because something might seem confusing at first glance doesn’t mean it’s impossible to understand once I actually sit with it and study it.
Looking back, I’m extremely glad I learned how to code and nothing beats that feeling when I get something to work or figure out some problem that has been plaguing me for days. I often note that taking a break from something is the best way to figure it out. I would go to the bathroom, and by the time I was back from the bathroom I had figured out the answer.