Takeaways from my first coding class

Takeaways from my first coding class

Our world is being run by technology more and more every day. As we continue to grow the global economy, computer literacy only becomes increasingly important for education, job opportunities, and career success. 

With this in mind, I decided to dip my toes in the world of coding. I didn’t start this to become a data scientist or someone extremely fluent in a particular language; instead, I wanted to use this as my way to better understand some of the aspects that make my business, and mostly all businesses, run. 

Below are some takeaways from my first coding class, my first real experience with coding. If anyone is interested in taking the course, you can find it here

Python is a good beginner language to learn

I decided to choose a beginner Python course because a) I learned online that it is a great program for data analysis and b) it is what my data scientist at work suggested. An additional benefit, which I learned as I began to code more, is that Python is a really good starting language. It’s intuitive, utilizes white space and indentation for readability, and the syntax isn’t terribly confusing. Python prides itself on being simple and functional, and there are even (relatively) famous guiding principles called the ‘Zen of Python’ (shown below) that help you understand what the language is all about.

input: >>>import this

output:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Sometimes, it can be really frustrating, especially if you are new

I know I just mentioned Python can be easy, but that is, of course, relative to other languages. If this is your first time, you are learning a completely new language, with new words and functions you’ve never seen before. Somethings you simply won’t fully understand until down the road (if someone could explain __init__ to me that would be great…). That said, you can’t give up just because you’re getting stuck on a few things here and there. I almost quit when we were going through what classes were in Python, but if I did, I wouldn’t have gotten to learn about web scraping, in which I actually understood quite well. So, if you do get frustrated, don’t be afraid to move on and come back to something later! Coding is all about troubleshooting, which brings me to my next takeaway…

I got way better at problem solving

One of my data science friends once told me, “If my code runs perfectly the first time without getting an error, I’m skeptical.” I ran into error….after error….after error with my code. Some errors were a quick fix, whereas others brought me down online rabbit holes that eventually had me ending up back at the first link I clicked on. All that said, the more I coded, the more I began to understand what questions to ask and where to look. I also started relying on open (easily accessible) resources more. Github, Youtube, and of course Stack Overflow (my new Bible) were all instrumental in my learning, and I’ve used these problem solving skills in my day job as well. I have newfound confidence in being able to tackle any issue presented to me. For anyone who loves problem solving, who enjoys the feeling of success (and I mean that bang-your-head-against-a-wall-for-ten-hours-to-eventually-solve-the-puzzle feeling of accomplishment) then I would highly recommend coding for you. There’s nothing better than solving a puzzle. 

I now understand how things 'are created'

Previously, I never fully understood how someone could simply type away at a computer and ~voila~ now you have Minecraft. Now I (kind of) do. It takes you awhile to get there, and Python hasn’t taught me the intricacies of something like game development, but I now understand how you get from point A of type type typing away to point B of a game, visualization, or anything in between. Kinda cool.

Code no longer scares me

For the longest time, when I saw code, I instantly reverted back into my shell. I didn’t even give myself a chance to try and understand what was going on. Now, even if it’s in a language I don’t know yet, I don’t shy away from trying to understand what is happening in the code. As so much of this world is built from programming, I figured this is a good improvement from before.

Communication has improved between the engineering team and myself

And not only because I simply understand a bit more of what they are working on, but because I believe they respect me more for at least trying to learn more about what they do. The best way I can describe this is if you are in a foreign country, knowing the language helps (obviously), but you also communicate more with native speakers because they appreciate your effort in learning their language, compared to not trying it all. Same in business – I understand more, which makes me communicate more often, and that cycle repeats itself, ultimately lending itself to an improved business workflow with communication silos being broken down.

I really enjoyed myself

I’m not saying this is for everyone, but I really enjoyed it for two reasons – One, I really do enjoy the process of problem solving, and you are essentially solving little puzzles every single day. There is no better feeling than solving a hard problem, especially if you’ve been stuck on it for quite some time. Two, I enjoy ‘creating’ things. My course walked me through a few projects where we actually created games like black jack and tic tac toe, and I really enjoyed seeing that come to life. 

For anyone who likes problem solving, building things, or even learning something new and applicable, I would highly suggest dipping your toes in the world of coding. It’s helped me immensely in my professional career, and who knows, maybe you’ll get as much of a sense of enjoyment out of it as I do. 🙂 

Leave a Reply