My frustration with learning programming

Welcome back! I’ve been making a ton of articles on tutorials as well as my thoughts on things ☺️, well it’s time for a rant. First off, I wouldn’t consider myself an “expert” at programming, but I have been coding for several years now and work full time as an engineer. Recently, i’ve been learning a few new programming languages / packages and have found some places that I just can’t shake my frustration from.

First off

As always, if you have any suggestions, thoughts or just want to connect, feel free to contact / follow me on Twitter! Also, below is a link to some of my favorite resources for learning programming, Python, R, Data Science, etc.

Let’s begin!

Poor Documentation

This by far is the most fascinating thing I found when learning these new languages / frameworks: you have so many tutorials that are completely outdated / poorly documented. Recently, i’ve been learning Django, and there is so much documentation on it that is so precise that the learning process has been awesome for that framework, however, there is another package (i’m not naming it) that is pretty popular / mentioned a lot, but the documentation / tutorials are so hard to follow and outdated. For me, it’s somewhat of an annoyance, but to someone just starting off in their programming journey, this could be a reason they stop coding. Since I started spending a lot more time coding out some new projects, i’ve really started to expand on my tutorials and add way more clarity in case beginner programmers are reading them. This definitely wasn’t something that scared me away from using that framework, but to a beginner programmer, it could have been the case.

Information Overload

When I started learning another programming language recently, I realized how many beginner tutorials throw so much terminology that a beginner will not know. Basically, on a beginner tutorial, I think everything should be explained for the most part, but for a lot of the tutorials I’ve been going through recently, I find myself Googling like 50% of the time during the tutorial, these searches are things that could have been explained in the tutorial. Again, is it a big deal to me? Probably not, but to a beginner programmer, if they're constantly seeing a bunch of terminology that they’ve never seen before / don’t see a description of, they will probably move on to either another language or quit their programming journey.

Lack Of Source Code

This is another crazy thing i’ll never understand, for most of the tutorials i’ve been through with some of these programming languages / frameworks, there has been no source code at all. In fact, there was one tutorial that just explained the process in which someone could learn that specific framework, even though the title explicitly stated that it was a tutorial on learning that framework (well, I guess they weren’t really lying 😂). It would be one thing if there were a ton of different resources available for that framework, but i’ve found that the more difficult the languages / packages are, the less resources there are to learn about them. So, if someone were to know about those specific programing languages / packages, I feel like any extra information is a massive value added. The fact there are articles out for them is awesome, but the problem is that there is very little source code available after the project is completed, it essentially keeps you from verifying any of the code that you’ve written out.

Complainers (Like Myself)

Finally, the last little problem I have when learning a new language, is people complaining about the learning experience 🙃. On one hand, it is pretty annoying to hear about peoples problems, but on the other hand, there needs to be constructive criticism in order to develop better tutorials, documents, articles, etc. within the programming space. As I mentioned before, i’m pretty much on both sides of this. I’ve been writing a bunch of “beginner” friendly tutorials on this platform and even I see myself doing these same things i’m complaining about, so it’s very important to hear or notice these things in order to develop better information for the end reader. I can see why most of the tutorials / documentation(s) are written this way, mostly because they probably are so used to certain functions or phrases that a newcomer may not know about, I do this often in a lot of my tutorials (not on purpose), so it’s interesting to see the dynamic on both sides.

Ultimately

At the end of the day, these are very basic issues to experience, anytime you do any research in really anything you’ll always find great documentation and bad documentation. In this case, since I live in both sides, it’s important to understand the readers perspective in order to build out better documentation, but the fact that a lot of this information is free, makes it a little more understanding in my opinion. If you’re a beginner programmer and find the experience very overwhelming, just know that those feelings will definitely go away the longer you program 👍.

Data Scientist / Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store