Python Forum
Why I feel like quitting Python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why I feel like quitting Python
#1
Here is my story about how and why I came to want to learn Python and the futility and frustration with my lack of progress today and why I feel like quitting (again).

I’ll start at the beginning.

Fifteen years ago I installed Slackware Linux (desktop) for the first time. A few years after that I migrated to Ubunutu. Today I run Manjaro on my desktop and Ubuntu for my tiny VPS in the cloud (which I barely use anymore).

Right from the beginning when I installed Linux, I always wanted to participate in the compiz window manager project. Those graphics effects were always so impressive. So where do I begin to contribute to a project like compiz? In 2009 I tried reading Swaroop’s “A Byte of Python” and Allen B. Downey’s “How to Think LIke a Computer Scientist”. I even attended a 1 week PyCamp intensive course in 2011. But every time, I threw my hands up in the air and gave up after about a week of false starts, confusion and helplessness.

Beginning in 2017, I started watching lots of Python course content on Udemy. Here is a list of the courses I’ve taken, along with the percentage of progress completed (the first one I watched several times, so it is more than 100%):

  1. Brad Traversy’s Python Django Dev to Deployment (Real Estate) 250%
  2. Jose Portilla’s Complete Python 3 Masterclass Journey 55%
  3. John Elder’s Build a Stock Market Web App for Django 100%
  4. John Elder’s How To Push Django Python Apps to Heroku for Web hosting 95%
  5. Fred Baptiste’s Python 3 Deep Dive 16%
  6. Jose Portilla’s Complete Python Bootcamp (with Jupyter Notebooks) 25%
  7. Colt Steele’s The Modern Python 3 Bootcamp 35%
  8. John Elder’s Intro to Django with Python for Web Development 79%
  9. Linux Acedmy’s Introduction to Bash Scripting and Python 101 17%
  10. Ziyad Yehia’s The Python Bible 23%
  11. Al Sweigart’s Automate the Boring Stuff with Python Programming 10%
  12. Jose Portilla’s Python and Django Full Stack Web Developer Bootcamp 11%
  13. Jay Elbourne’s Learn Python, it’s CAKE (Beginners) 68%
  14. Nick Walter’s Django 2.2 and Python Ultimate Web Development with Django 63%
  15. Nick Walter’s Django 1.11 Beginner’s Guide 66%
  16. Eduonix’s “Learn Python Programming from Scratch 35%

That’s great. I’ve watched lots of beginner Python tutorials. My problem was that it was all theory and no practice. I avoided doing the exercises. So in May 2020 I purchased 60 PyBites on sale as part of a Humble Indie Bundle and jumped right in. I completed my first PyBite on May 22, 2020. Since then I’ve completed 19 more. So it’s been 99 days since my first PyBite. That translates to effectively 1 Bite every 5 days. My Python study sessions are spread out in such a way that I do 5-10 hour ‘bursts’ of hyper focus study sessions roughly once every 1-2 weeks on one of my days off on my weekend. I don’t code Python every week, but I would if I could. With such a long gap between study sessions, when I today look back over my past PyBites that I completed say 8 weeks ago, I can’t follow along. I don’t understand my own code. So what’s the point?

I’m getting nowhere fast. This is why I feel like giving up right now.

I love coding Python. I encounter a thrill and exhilaration when seeing my terminal light up with all 6 passed assertions in my pytest functions after hours of research. It’s rewarding! After a long day of coding Python, I feel refreshed and relieved. It’s a wonderful feeling. I wish I could do 1-2 hours of my Pythoning every day of the week after work. But I can’t. After 8 hours of working my dead-end job in customer service, I’m either too tired or too distracted by my news junkie tendencies. I hate myself when I reflect back at the end of my work week with all my wasted hours watching Stephen Colbert on YouTube.

My end goal (right from when I started running Linux in 2005) has always been to contribute to open source projects, in particular compiz (now: compiz-reloaded) and WayFire. These codebases are in C and C++ by the way. Python was only supposed to just be my ‘first step’ into programming until I become proficient enough to learn C and C++. But looking back at my progress, it’s been 15 years since I picked up Linux and Python and I am still struggling with Intro / Beginner PyBites - - even the ones I “completed” weeks ago that I no longer understand.

At this rate It’s going to take another 60 years by the time I am able to contribute to WayFire/compiz. It’s never going to happen.

I’ve taken 4 other courses on self-discipline on Udemy and I still can’t get my shit together to work on a little bit of Python every day.

#FML

Yes, I realize that I am just whining and complaining about my ‘first world problems’. I suppose if my biggest problem is the time I waste on YouTube instead of programming, then I should be grateful because there are many much more serious problems facing humanity that we all take for granted such as pollution in the oceans, the three billion individuals who are illiterate in this world and the economic warfare waged by the global debt collectors on the peasants and indigenous people elsewhere on the planet. From this vantage point, my self-discipline ‘problem’ is not much of a problem. I have an easy life. I should be glad that I am averse to learning how to program Python.

I'm just rambling here. I'm not sure if sharing this would help me or anyone. Thanks for listening.
Reply
#2
perhaps WayFire/compiz is the wrong goal.
Reply
#3
Having said that, if your goal was to contribute to projects in C/C++, why wouldn't you start with those languages and their ecosystems? I'm saying this as someone who started programming in 2001-2002 whose first languages were C++ and Java. Of course, back in those days, we didn't have all the resources available to new programmers today, so I was learning from books!

In any case, perhaps it is worth reassessing your goals. I do think part of the problem you're having is likely to be down to not working on Python particularly often, so if that is a thing you really want to do, then I suppose you'll have to make some time for it. As with most things, I think little and often is better than a lot every once in a while.

On another note, I think I started with Linux around 2002 and was a Slackware user for a long time though I've recently switched to openSUSE.
Reply
#4
Hello Drone4four!

Honestly to me it seems like you are focusing too much on tutorials / bootcamps etc. I think you should start working on your own stuff, and learning new things as you go along -> work on it a little bit every day, or maybe not every day, but taking a 1 - 2 week gaps between programming can be detremental (speaking from my own experience).

Of course easier said than done -> coming up with a project that would be above your current skill level so you can learn new stuff, but not too much so you'll know at least how to start :) I was struggling with this part and to be honest it really helped me when I started doing this professionaly so that even when I was working on things that were not so much fun, I had to do them because I was paid for it. Is this not an option for you? A change in job scenery? :)
Reply
#5
(Sep-17-2020, 11:48 PM)Larz60+ Wrote: perhaps WayFire/compiz is the wrong goal.

(Sep-18-2020, 08:21 AM)ndc85430 Wrote: Having said that, if your goal was to contribute to projects in C/C++, why wouldn't you start with those languages and their ecosystems?

Why Python and not JavaScript or PHP or Java or C++? My intention is to become moderately proficient in the programming language with the easiest to understand syntax with the maximum number of beginner tutorials and refined online courseware. Python is the language I settled on.

In university I majored in Philosophy. The first and only introductory programming course in my final year that I took required students to write a tac-tac-toe program in C#. That was during the 2008 Spring semester. I scored 38%.

Later that fall I enrolled in a community college program in a different city where we were learning VB.Net. As you can imagine, I was distracted in class by reading Slashdot and Phoronix hardware reviews. The mid term for this course required me to write a miles to kilometre conversion GUI app (which I failed - - go figure). And the term assignment was a group project where pairs of two students had to write a calculator - - also a GUI app. I dropped out before the end of the term.

Ever since I have challenged myself to complete those same assignments but using open source software and tools. After I complete 100 PyBite Code Challenges perhaps I will then be able to complete those assignments that I described above from 2008 but using Python and Django. Maybe then I could learn Assembly, C and then C++. After that I will complete as many Algo Expert challenges (specifically “Systems Fundamentals”) as I possibly can. Finally at that point I’ll be prepared to contribute to the WayFire codebase on GitHub. That is my ‘plan’ - - if you can even call it a ‘plan’ because at the rate that I procrastinate with the self-discipline issues that I live with, that end goal is 60 years away form the present day as I explained in my original post. I wish I didn’t have to work my dead-end customer service job or at least that I was more productive with my spare time.

My latest project, where I am writing my first Django app, accepts a web visitor's Chuck E Cheese Neptune credit card and redacts it. The project on GitHub is titled: “CC_Redact_Iter3” (third attempt so far). Here is a live mirror of my dev server (which will probably become a dead link after a day or two so have fun with my demo while you can).

(Sep-18-2020, 08:21 AM)ndc85430 Wrote: In any case, perhaps it is worth reassessing your goals. I do think part of the problem you're having is likely to be down to not working on Python particularly often, so if that is a thing you really want to do, then I suppose you'll have to make some time for it. As with most things, I think little and often is better than a lot every once in a while.

I agree. But as @mileqo points out, that is much easier said than done.

Quote:On another note, I think I started with Linux around 2002 and was a Slackware user for a long time though I've recently switched to openSUSE.

I feel right at home on Linux. I am never lonely as long as I have my Linux Box. Cool

(Sep-18-2020, 08:30 AM)mlieqo Wrote: Honestly to me it seems like you are focusing too much on tutorials / bootcamps etc. I think you should start working on your own stuff, and learning new things as you go along

PyBite Code Challenges (mentioned above) is the task I am working on right now where I am putting all the theory gained from watching Udemy course content into actual practice so that I am now doing instead of watching.

Quote:work on it a little bit every day, or maybe not every day, but taking a 1 - 2 week gaps between programming can be detrimental (speaking from my own experience). Of course easier said than done

I agree with what you are saying, my friend.

Thanks for your attention and for listening to me ramble on and on.
Reply
#6
Quote:Why Python and not JavaScript or PHP or Java or C++? My intention is to become moderately proficient in the programming language with the easiest to understand syntax with the maximum number of beginner tutorials and refined online courseware. Python is the language I settled on.
You sound like someone who doesn't really want to be a programmer.
I started in 1968. I had chosen computer engineering because I listened to others who convinced me, at least for a while that it is what I wanted to do. Well in a way there were correct as part of my job involved writing diagnostic programs to test the equipment we were creating. I fell in love with programming, switched and never looked back (other than for some Ham radio circuitry and a few miscellaneous other endeavours). The point is, that I loved it, and still do. If you don't love what you.re doing, you have chosen the wrong path.
Not too late to change.
Reply
#7
(Sep-19-2020, 01:55 AM)Larz60+ Wrote: You sound like someone who doesn't really want to be a programmer.

...

The point is, that I loved it, and still do. If you don't love what you.re doing, you have chosen the wrong path.
Not too late to change.

Perhaps you didn't read my entire original post. I am passionate about coding Python. To quote myself originally:

(Sep-17-2020, 09:16 PM)Drone4four Wrote: I love coding Python. I encounter a thrill and exhilaration when seeing my terminal light up with all 6 passed assertions in my pytest functions after hours of research. It’s rewarding! After a long day of coding Python, I feel refreshed and relieved. It’s a wonderful feeling. I wish I could do 1-2 hours of my Pythoning every day of the week after work. But I can’t. After 8 hours of working my dead-end job in customer service, I’m either too tired or too distracted by my news junkie tendencies. I hate myself when I reflect back at the end of my work week with all my wasted hours watching Stephen Colbert on YouTube.

I love programming Python more than anything. My problem is that I am tempted by my lesser self to waste my time. I'm conflicted. This is why it is so difficult.
Reply
#8
If by this:

(Sep-19-2020, 01:55 AM)Larz60+ Wrote: You sound like someone who doesn't really want to be a programmer.

...you are referring to my lack of effort or desire in 2008 in university (where I was expected to learn C#) and college (VB.Net) as I explained, then I see why you might think that I don’t really want to be a programmer. I have two things to say in reply.

Firstly that the main purpose for why I chose to dump Windows for Linux in 2005 was purely for “ideological” (political) reasons. Eric S Raymond inspired me when he famously wrote: “Trying to learn to hack on a Microsoft Windows machine or under any other closed-source system is like trying to learn to dance while wearing a body cast” (Source). Python was a weapon to be used against the Microsoft monopoly. Running Linux and learning Python was a revolutionary act. So when I was told to learn C# + VB in 2008, naturally, I rebelled. That is what I was referring to when I said that in class I was more interested in reading Slashdot and Phoronix (a Linux hardware review site). At the time there was no compiler for C# and no native interpreter or toolkit for VB.Net. I was bitter and resentful the whole time. Or maybe I was just making excuses. Ten years later, Microsoft became for all intents and purposes an open source company. The war of ideology is effectively over.

Secondly... (I can’t remember my second point now). It’ll come to me. I’ll be back tomorrow when I remember.
Reply
#9
(Sep-17-2020, 09:16 PM)Drone4four Wrote: ’ve watched lots of beginner Python tutorials. My problem was that it was all theory and no practice. I avoided doing the exercises.
This could be a problem. The exercises are designed to set it in memory in real world practice.
(Sep-17-2020, 09:16 PM)Drone4four Wrote: I completed say 8 weeks ago, I can’t follow along. I don’t understand my own code. So what’s the point?
You may need to do some more than once a week. Split that time you spend in one day to many days evenly across the week. You may feel too tired or busy doing other things, but try to code Python instead and see what happens. Some days you may not want to and that is okay, but if you get more days in between that may help your memory.

(Sep-18-2020, 08:30 AM)mlieqo Wrote: Honestly to me it seems like you are focusing too much on tutorials / bootcamps etc. I think you should start working on your own stuff, and learning new things as you go along -> work on it a little bit every day, or maybe not every day, but taking a 1 - 2 week gaps between programming can be detremental (speaking from my own experience).
This is smart advice
(Sep-19-2020, 12:24 AM)Drone4four Wrote: I wish I didn’t have to work my dead-end customer service job or at least that I was more productive with my spare time.
You may not be able to code during your job, but you can surely change your spare time to intake coding more often it seems.

Some side notes:
-Also it seems like you have a tendency to start things, but not finish them. I would shift your goal to finish things, even if it is one thing at a time.
-I learned more when doing than by reading. I learned more by jumping into a project that i had known nothing about or how to do, than doing random things. It also kept me more entertained and interested as it was a project i was interested in.
-Sometimes after work and i am so tired, i am not as tired as i think. I sometimes push myself a couple more hours to do something i want to do because i am always stuck doing other things for pay. I feel like my off-time is more pleasant and fulfilled. This is during the week. And other times i just go to sleep....and that is okay.
-The way you speak about your job sounds like you are miserable there. Maybe find a job that you like and enjoy? Happiness at work is important for your entire health.
Recommended Tutorials:
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Do you feel the Mojo snippsat 1 735 Jun-04-2023, 07:05 AM
Last Post: Gribouillis
  I feel it's my time to give back - so here's a free book for beinngers BigTheory88 0 1,573 Jan-17-2020, 08:46 PM
Last Post: BigTheory88

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020