Photo creds: techrepublic.com

Why We Learn How to Code

Rafiq Omair & Shreya Garg

Cannon Writers

You may recall taking APS106 (or for some, APS105), a first year engineering coding course. Given that coding doesn’t directly relate to many of the fields within engineering, students often question the purpose of taking these courses in the first place. This might sound like a valid concern, however programming can be used to teach students a lot more than just coding. Many skills that are taught during these courses can be transferable to a student’s career and their life in general. Let’s go over some reasons why learning how to code is advantageous, and hence why we take these courses.

1. The tech industry is flexible and pays well.

The Tech industry is one of the highest paying industries to work in. One of these reasons may just be the flexibility with tech-based jobs such as coding. This doesn’t mean that this is the case with all jobs in this industry, but many coding jobs can be done remotely with little effect on the quality of work produced. Why does this matter? Think of the let’s-not-mention event that has caused many people to lose their jobs over the course of the past two years, and hence impacted the livelihoods of many individuals. Don’t think that no coders have lost their jobs as well, but many tech companies have continued to thrive despite the changes, and thus have continued to expand their workforce.

2. It’s a ‘short-cut’ for many tasks (or a time-saver).

You’ve probably heard of the phrase ’time is money’. Well that’s because it’s true. Think of it this way: you spend hours going through a list of test results for a class, determining which students passed and which didn’t, based on a detailed criteria. Wouldn’t this task be so much easier if you could just input the names and test scores and find out who passed and who didn’t within minutes, if not seconds? With a little bit of code, you can,and it minimizes the chances of human error. As with the example mentioned above, programming doesn’t have to be complicated; a simple program that an engineer can code might help them save time by automating tedious tasks. Whether you’re creating a silly guessing game or complex neural networking, knowledge of programming enables levels of efficiency that cannot be achieved otherwise. As engineers, our job is to apply. Apply math. Apply science. Programming languages, whichever one may choose to enlighten themselves with, demonstrate the results of applying such subjects to solve realistic problems. It is vital, as engineers and professionals, to conserve time and energy. So a program, regardless of how simple or complicated it may be, can enable just that, freeing you up to do the creative thinking, and leaving the computer to deal with those otherwise tedious or repetitive tasks.

3. It’s advantageous to know the basics.

If you end up working with a team in which some members are software engineers, you need to be able to understand the work that’s being done in order to help them and give good feedback. APS111 and APS112 have taught us a great lesson: effective communication within a team can lead to success just as quickly as a lack of it can crumble it. As engineers, simply knowing how to create or implement something is useless if we are unable to communicate its usage and importance to the rest of the team. For example, a mechanical engineer might benefit from creating graphical simulations to demonstrate designs to team members who may not come from an engineering background.

4. Don’t like a coding language? Move on to the next.

There are many intricate and marvelous languages to choose from when writing code. Each programming language has different uses and applications; for example Python is used for machine learning and artificial intelligence, Javascript for interactive web development, C/C++ for operating systems and system tools, and R for data analysis. Having the option to choose from a list of various coding languages gives a coder flexibility, and I’m sure no one ever minded a little flexibility.

5. It optimizes processes with little human input.

One of the most important parts of learning how to code is understanding the logic behind it; this boils down to problem solving, which is employed in every field. Code is not representative of hard work, rather it is an intricate design made to enable smarter work. An effective program completes tasks with little ‘work’ necessary–few lines, little effort. However, to create a program like that, an engineer must develop their logical skills to manipulate a program into doing exactly what they want. This is similar to what engineers of other disciplines aim to accomplish with their designs. For example, a civil engineer might be tasked with designing a truss so that no resources go unused, within the time constraint they are given by their client. The ability to apply logic to a problem to optimize resources is a vital skill one must take advantage of and carefully develop as an engineer.

6. It tests your patience, and helps build resilience.

More often than not, you won’t get your code perfect right away and this can lead to frustration. Because of this, coding can help build your patience and being patient also helps with learning how to cope with failure. For overachievers, the process of learning how to code often comes as a grave shock. How can one aim for perfection when developing a program if the process is anything but that? When learning something as intricate and complicated as coding for the first time, one is bound to feel uneasy. However, it is important to realize that feeling uncomfortable is not necessarily a bad thing. It is part of the important process of building professional resilience. A good program is not developed without initial errors–whether it be syntax errors, logic errors, etc. It is an uncomfortable, tedious, and frustrating process. Yet, it teaches us patience, resilience, and also demonstrates how it all wonderfully pays off in the end. These skills develop habits that translate well into the classroom and the workplace.

7. It’s a resume booster.

The workforce nowadays is hard to break into, and having a skill such as programming on your resume can be the deciding factor in whether an employer chooses you over another applicant. Nowadays companies look for well-rounded employees who have skills that are applicable in different fields and programming is a skill that is in high demand, regardless of the field.

8. We get a guided introduction.

Many students would not have had the opportunity to learn about programming before starting their first year in engineering, so courses like APS105 and APS106 serve as an introduction for them. Learning the basics of programming by yourself can be overwhelming, so these courses offer students the chance to have a guided introduction into the world of programming by professors who are experts on the subject.

 

As you can see, there are many reasons for why learning how to code is advantageous; this article only went over some of these reasons. Every engineers’ career trajectory is different, so these courses may or may not be more beneficial to you than others. However, being taught programming for the first time can ignite a passion in an individual who may have not even known they had. Therefore, learning how to code enables engineering students to avail opportunities to pursue this passion. Who knows–it might just be your cup of tea!