Coding… What is it Good For?

Standard

This past week, I stumbled upon an article on TechCrunch entitled, “Please Don’t Learn to Code“. As you might know, I’ve been learning Web Development and Design for almost a year now. Most days I love it, some days I’m frustrated and wonder if I’m crazy. This article caught me on one of those missing confidence days. I read it, hoping that the title was misleading. I thought maybe the takeaway would be something like, “Don’t think learning to code is a process with an end date: it’s something you will continue to learn for as long as you try.” Or something along those lines. I was wrong.

I will be honest: this article didn’t deflate me as much as I would have expected. There were some legitimate and good points. For instance, the tech industry is kind of getting this “idealism bubble” placed around it. Many people seem to think that shows like Silicon Valley and rags-to-riches stories like Steve Wozniak and Mark Zuckerberg (if you can call Harvard “rags”) are the norm in tech. If you learn to code, you will make a billion dollars and maybe get fame and fortune. Coming up with the next big thing isn’t that hard. You might go through some tough times, but it will definitely be worth it in the end. Like anything else though, learning to code isn’t a one way ticket to wealth.

This article also made the point that there are people who learn to code without realizing how difficult it will be. Tech is an ever-changing field, and working as a programmer is a life of never-ending learning and growth. The languages I am currently using to build websites are not going to be the languages people will be using in 10 years. They might not even be the languages we use in 5 years. And, that’s part of what appeals to me. I love the idea of continuously learning and improving while still making a living. I can see where that would be frustrating to some. It almost sounds like it’s frustrating to the author, who spent time learning a coding language that is not only not really used today, but that new coders didn’t have to learn before moving on to the newer languages. I don’t really see that as a negative, however. People who have known how to code for a while, and know languages that new coders don’t know have an advantage in that they knowledge base that others don’t. Those new coders will one day also know what it’s like to see the language they have been using cast aside for something else. It’s just a part of the life of a programmer.

One of the more ridiculous arguments that was made in the article was that learning how to code is like learning how to be a plumber. This really isn’t the case. When you learn to be a plumber, you fix pipes. Of course, there are different kinds of pipes and different kinds of problems, but they are generally all related. When you learn to code, there are tons of different things you can do. There are people who work on the back end with servers and databases. There are people who work on the front end, making things look nice and handling the things that people see. There are people who work in big groups on big websites, there are freelancers who work on their own. Some people learn to code and never use it for anything more than enjoyment. Some people learn it to cause problems for others by finding critical mistakes in code. I think the argument is a little over simplified. I also don’t think it makes much sense because it’s kind of true for all trades and fields. I worked as a barista in coffee shops for a few years. I learned how to make coffee and other drinks. I learned quite a bit about sourcing coffee and what different kinds of beans and roasts meant in terms of flavor. That knowledge, however, isn’t really transferrable to other jobs (besides the fact that I make a mean cup of coffee and I am good at customer service).

The trick is to find skills that are easily transferrable, and I would argue that coding is one of the better fields for that. Not only is tech really broad in terms of the necessary knowledge and how someone’s skills are applied, but the problem solving and knowledge of technological language are things that can be brought to countless other positions. Besides the fact that it takes a while to learn, I personally don’t think there is any harm in learning to code. It doesn’t back you into a corner in terms of how you can use those skills and what kinds of jobs you qualify for. It opens up doors for freelancing, and being useful around an office.

So, after reading that article, it really got me thinking about why I was learning to code. Obviously, a lucrative career is something that appeals to me. And the ability to continue to learn and grow is something I’ve been searching for. Also, the balance of logic and problem solving with creativity is something I have found that I enjoy. It was good to be able to think about these things and remind myself of why I am putting time and effort into this.

The day after reading that article, another article was posted on Facebook that caught my eye: “Please Do Learn to Code“, written by Quincy Larson, the creator and teacher at Free Code Camp, one of the sources I use to learn. Quincy is a great source of encouragement and knowledge about the process of learning these skills. He is the first one to say that basically anyone can learn these skills, as long as they are willing to put in the time and effort. I have friended him on Facebook and follow him on Twitter, because having people who are a source of encouragement has been really helpful for me.

The basic idea of Quincy’s article is that learning to code is beneficial, even if a person doesn’t work in the field. Programming is how humans talk to computers. Since computers are becoming increasingly intertwined in our day-to-day lives, it follows that being able to communicate with them would be useful. I completely agree. We use computers to automate work for us. The example he gives is Google searches. Without Google, it would be really tough to find the information we needed, and it would not happen as fast as it does with Google. Before being able to search the Web, some people would spend hours or days looking for the answer they needed. Some people never found the answers they were looking for. Now, we can type something into Google and have more answers than we need in only a matter of milliseconds. That wouldn’t be possible without people who know how to code, though, because computers need a clear set of instructions to be able to do tasks. Programmers are the people who give computers those instructions.

Something I found interesting about Quincy’s article is that he called coding “the new literacy”. I suppose this makes sense. Programming languages are similar to spoken languages. The words and symbols have meaning, and there are people who understand it, and people who don’t. Technology definitely isn’t going anywhere, so being able to communicate with it isn’t going to harm anything. There are people who ignore the changing trends in technology, or fail to realize that they are being left behind, and they will not be able to flourish the way that people who keep up with the changes will.

I am going to continue to learn this skill, and encourage others to do the same. Even learning a little bit and having an understanding of how technology works is a skill that is beneficial. I will not let articles dissuade me and break my confidence. I think it’s important to think about why you’re doing the things you’re doing. It’s good to challenge yourself and your reasons for doing things. It’s also important to find people who support you and help you remain confident. It’s important to find mentors and friends who are proud of you and will help you when you’re having those missing confidence days. It’s also important to be realistic and know that nothing comes easy, and those things that are truly worth it may require a lot of work.

This couldn’t have happened at a better time for me: I have an entrance interview this week for a coding school. I am scared and not sure that I have what it takes. I am not sure that I’m qualified. But, it’s something I’m passionate about, and so I have to at least try! If I get in and am able to go to the school, it will definitely help me reach my goals and I will learn so much from the experience. Humans are made to learn new things, so why stop learning?

What do you do when you need a boost in confidence? Let me know in the comments!

Advertisements

Always Learning: How and Why I’m Learning to Code

Standard

With 2015 almost over, I have been working on figuring out what things I want to work on next year. Even though I don’t really like making new year resolutions (it’s a surefire way for me to NOT succeed), I think that making goals and reflecting on them is something I need to do more often. When I started this year, I wanted to start a blog, and I wanted to write a cookbook (with the help of my blog). Well, I can say that I was able to successfully start a blog (even though I definitely need to write more often!), and I basically didn’t really start a cookbook at all, though it’s still something I am planning on working on, though I think it’s probably going to take longer than a year.

One thing that I started working on this year that came as a huge surprise to me is learning how to build websites. It is something that I have been interested in for a while, and I became more interested in it as I have started blogging. I have a really good friend who builds websites for a living, and it’s been so interesting hearing about what she does. In talking to her, I realized that it is something I would like to learn how to do. So, one day last summer, I decided to do it. I have been slowly but surely learning how to build websites since then, and it’s something I am really excited to share with you today!

The interesting thing about learning how to build websites (or coding, as it’s also called), is that there are not a lot of women in the industry. There is currently a huge push to get women involved in coding, starting with girls who are still in school. This is a really important issue, because girls often stay away from STEM fields, and they shouldn’t. So, I am excited to be a part of this push.

When I decided to learn how to code, I did a lot of research, and got help from my friend. I have already spent eight years in college (earning my Bachelors and Masters degrees), so I was hoping to be able to avoid going back to school for it. College isn’t the only way to learn to code, there are independent and online schools that provide certifications as well, but since I have still paying off my student loans, I didn’t really want to do a program that required tuition, unless I had to. After doing some research, there are many good resources for learning how to code independently and for free.

The first resource that I found that has been really helpful in learning to code is Codecademy. This site is a free (unless you sign up for their new Pro option) resource to learn the various languages and aspect to making websites. Codecademy is awesome because the classes are pretty easy to understand, and there are resources to help. It starts off being very hands-on, which is awesome when learning something that is so technical. When working on lessons and assignments, you get to see the product of what you type in as you type it. If I were to type something in wrong, it is obvious pretty fast, because you can see that the result of what was typed in is not what the lesson asked for. There are encouraging emails sent as lessons are mastered. The only thing I don’t really like about Codecademy is that the entire course used to be free. That included all the lessons, and bigger projects that ask that you build dummy websites that look like examples provided. These bigger projects were extremely helpful when I was trying to learn how the basic coding languages worked. Now, those bigger lessons are only available if you pay. I know that education can’t always be free, but it is still unfortunate to me. Regardless, Codecademy has been a valuable resource for me.

Another resource I use are apps on my phone from SoloLearn. They also offer these courses on their site, but I have really liked using the apps they offer. They offer different apps for the various languages, so that there is less confusion about what you’re actually learning about. The way the apps from SoloLearn work is that there are lessons, which you can either read or watch videos about, with review questions. At the end of modules, there are quizzes covering what you have learned so far. Just like Codecademy, there is quite a bit of encouragement, which is really helpful, especially because learning how to code can be extremely frustrating. It is different because it is a little less guided than Codecademy, and there is no way to see the results of the code typed in during the quizzes. It is nice as a complement to Codecademy (or some other learning tool). I use it as a way to solidify and further explore the things that I have just learned from a different resource.

The third resource that I have started using is Free Code Camp. The thing that drew me to this site is the fact that people learn how to code while working on projects used by nonprofits, who get websites built for free. As  I have started using it, however, I have found so many other things that I love about it. One cool thing about Free Code Camp that is different is that it’s more interactive in that you are encouraged to communicate with your fellow “campers” and work with them on projects. There are Facebook groups set up for campers from different locations (so people are able to meet up with people who live near them), Just like Codecademy, while learning concepts, it is possible to see how things would look on a website after code is typed in. It is also a great complement to Codecademy. There are lessons in Free Code Camp, and while some of them are covering the same concepts I learned with Codecademy, some of them are different, so using both allows for a more well-rounded education. Currently, I am stuck on a quiz question in Free Code Camp, and was encouraged by a fellow camper to go back to Codecademy to learn concepts to help me with the quiz question. Another cool thing about Free Code Camp is that they are recognized as a school by the social network LinkedIn, which allows for campers to network on LinkedIn as well. One final thing about Free Code Camp that I really like is that they are currently getting ready to launch more classes and make the path through the camp much better. Instead of getting two certifications within a few months, it will now be possible to get 4 certifications within a year. At the end of the course, they also offer help on getting a job, including how to interview for positions in the tech industry, which I really appreciate. They claim that many people don’t finish their full course, because they get a job before then, but I am kind of excited to finish the whole course, because it will be a huge accomplishment, and I hope to not have too many gaps in my knowledge when I enter the workforce.

Finally, a resource I have not really used yet, but appreciate and hope to use in the future is Skillcrush. It seems that Skillcrush is geared more towards women who want to learn to code. One cool feature is that they offer a free 10 day bootcamp, which gets people who are interested in learning to code to start thinking about the concepts involved. They offer three-month courses to learn how to code, depending on what career path you are interested in pursuing, but they are not free. They do offer payment plans and ideas on how to earn money coding while learning how to code (which seems crazy, but it possible!). I really appreciate their approach, and their customer service is awesome, because you get to interact with a real person, which is sort of rare.

I am really excited to continue to learn how to make websites, and even though it can be frustrating at times, it’s always like a puzzle that I desperately want to solve. It’s fun having something to challenge me, where I can continue to learn. I will keep you all updated on how this new journey goes for me!