Uniting Code and People

06 Sep 2019

Software Engineering: What is it?

According to WhatIs.com, Software Engineering is…

Software engineering is the application of principles used in the field of engineering, which usually deals with physical systems, to the design, development, testing, deployment and management of software systems.
- WhatIs.com

In other words, designing software using a systematic and logical approach in order to create effective products. Sounds simple, but in practice, it can be difficult to not only learn the technical skills of coding and debugging, but also getting in the right mindset for coding. Figuring out the best way to structure your code can be the hardest thing about a project. As I’ve gotten more and more experienced with programming, I realize just how much there’s still left to learn about thinking like a programmer.

Experts Know Their Tools

Have you ever met an electrician or plumber who didn’t know how their tools worked? The answer is probably no, and if you did you’ll probably not call them back to fix your next problem. Experts should know how their tools work, how they behave, what they can or can’t do. This is why as a software engineer; I have a goal to be able to fully understand how a computer works. This means from the hardware, all the way to how a user types on a keyboard and letters appear on the display. It’s a task that will take a lifetime I’m sure, but with every passing day I learn more and more. Software engineering can bring me closer to my goal by teaching me how code is interpreted by the machine. Imagine you’re trying to find an element in a list, how would you do it? You could iterate through entire list, or you could use a hashing algorithm to find the result much faster. Not only will these kinds of understandings help me better my coding skills; but help me understand how a computer thinks and solves problems.

Agent of Change

My other goal is to create a piece of software that leaves a positive impact on the world. Think of how different the world would be without E-Mail, YouTube, or Facebook. These all have one very important trait: they bring people together. Whether for business, friends, or entertainment, these pieces of software have brought humanity closer than ever before in history. With new technologies coming out like VR and IOT devices growing exponentially, now’s a perfect time to create new solutions with the possibility of changing how to world behaves.

One Line at a Time

Whether for personal enrichment or creating the next Amazon, coding is versatile and powerful: if you know it well, you will change the world. Being able to have something in my hands, then all of a sudden in the hands of millions of people around the world is truly an awesome feeling. I strongly believe that coding is strongly based in humanity, as all code is designed to solve a human problem, regardless of language or platform. With that in mind, given the time, technology, and drive, any problem can be solved by code, one line at a time.