Three Tips for Good Programming
Programming (or coding; the two terms are slightly different but are typically used almost synonymously) is thought of as one of the most difficult skills to master. It takes a lot of time, effort, and the back-breaking process of debugging problems often drives programmers insane.
However, programming is one of the most fulfilling hobbies (or jobs); you’re given the opportunity to create literally anything, just by tapping on a keyboard.
I’ve been coding for several years now, and through that process, I’ve found out a lot of things about coding—things that I really wish I had known from the beginning, and I learned through a lot of trial and error. So, without further ado, here is a list of some recommendations I have for upcoming coders looking to get started:
- The first rule of coding is you don’t talk about coding.
This is probably the most significant and common mistake to make, and you might be wondering what on Earth I’m talking about. Let me explain.
What makes coding difficult, usually, is delving into the deep specifics of a problem, having to come up with a list of instructions for a computer to execute. That’s why, at Keystone, lower school students start working with frameworks that do most of the work, like connecting with a robot serially or communicating on a low level with a robot’s motors. It’s not just to hide the complexity of the real issue, but, most importantly, it teaches students at a young age to structure and explain what exactly they want to do, which is the most important part.
When things get more complex, it becomes less important to be able to spit out code and more important to be able to explain how you want the code to work. When you understand what you really want to do is when you can hone in on specifics and start creating the code for a project.
- Look up stuff. Often.
The crux of most programming jokes online usually involves Stack Overflow, the most popular question and answer website for programmers, and how dependent coders become on it. The truth is, however, that it doesn’t really matter what language you code in or how much of it you retain; remembering built-in functions just comes with time, and forcing yourself to memorize certain properties takes away from understanding what is really going on. Many companies expect (and encourage, up to a certain extent) learning as you go, assigning tasks that perhaps don’t fit the programming languages or fields you’ve worked in.
Also, best practices change quickly and often in the programming world. The best way to do a certain task in 2022 is going to be very different from how it was done ten years ago.
Looking up problems helps you learn how to communicate what is going wrong (in order to even look up what error is showing up, you usually can’t just copy the error verbatim into a search engine), learn from others, and focus on structure.
- Coding languages don’t matter as much as you might think.
Now this is a little bit controversial because most companies list required languages and your expertise with them when hiring, right? So how do languages not matter that much?
Most companies do this because it limits their application pool and helps new programmers get accustomed faster to the tech stack (the set of languages and frameworks) the company uses. However, a programmer’s ability to learn quickly usually comes first.
If you’re developing a project, think first about what language might be the best to use before starting instead of just using what you’re comfortable with. While usually there exist wrappers that allow frameworks to be used outside of their native language, it’s better, if possible, to use languages that correspond with the type of project you’re using. Here is a useful chart to help figure out what language might be best for what you’re interested in:
If you want to get into… | You should use… |
Machine Learning / AI | Python or R |
Desktop Apps | JavaScript or C++ |
Web Programming | HTML/CSS/JS |
Cross Compatible Applications* | NodeJS, Java, or Kotlin |
* Cross compatibility means that an app works the same regardless of whether it’s running on iOS, Linux, or Windows.
Sarah is a current senior at Keystone with a passion for all things concerning Computer Science, Computational Biology, and Artificial Intelligence....