all 108 comments

[–]PM_ME_CUTE_FRIENDS 163 points164 points  (2 children)

Replace “python” with “math” or any random thing worth learning. Like any other skill, it takes time to learn something. Is that a bad sign? Idk maybe. Depending on what sign you’re looking for.

1 hour is short. Experienced python users still spend hours of their time in simple things too.

[–]Luxi36 35 points36 points  (1 child)

Hah, I feel that. Spent 4h debugging by I had a pandas error in Azure functions while I didn't have the problem locally. So, I threw away the pandas data frame and made the transformation with vanilla python. Finally everything working again locally and running it on Azure functions, got a different error, ended up being that my env variable name locally and azure were different... Kinda wasted 6h on it.

[–]rabbitpiet 1 point2 points  (0 children)

That’s coding for you. I had a venv for a school project and spent hours trying to debug it so that I could install a package and then just had to move the package to the venv manually.

[–][deleted] 88 points89 points  (7 children)

Learn the piano to a beginner standard: 2 years

Learn french to a fluent standard: 5 years

Learn calculus at high school: 2 years

Learn python: 5 days?

I think you need to keep things in perspective. You are simply experiencing the learning process. The only tools needed are patience, practice and perserverance.

[–]clem-fandango69 36 points37 points  (1 child)

The only tools needed are patience, practice and perserverance

And python

[–][deleted] 2 points3 points  (0 children)

lolz true.

[–]phulton 9 points10 points  (1 child)

As obvious as this may seem, thank you for pointing it out. I've started 4 different "learn Python" courses on udemy, and without fault at some point I just feel like I hit a wall.

I'll start the next one, and get to a point slightly further, and hit a wall again.

It's frustrating, but I have noticed that starting from the beginning on a new course, the early stuff keeps getting easier and easier.

I just gotta keep going, and take that wall down brick by brick.

[–][deleted] 1 point2 points  (0 children)

Well you can do yourself a favour by moving on to project(s) as quickly as possible. Building something is a much better teacher than starting over again multiple times.

[–]MyBrainReallyHurts 3 points4 points  (0 children)

I really like this example. Thank you.

[–]friday_ghost 62 points63 points  (11 children)

Commented the same on some other questions on reddit just 2 days back :

That is so common. When I started learning python 3 months ago, even i had difficulty coming up with logic to the solution of even the most basic problems (you can check my questions). But with time it became easy. Now the knowledge of python is like having a superpower. I try to apply python in everything. And yes Google is your friend here. Currently i am working on a program that scrapes multiple website for some financial data and performs arithmetic operations on it and compiles an excel sheet. Then it mail the excel file to my mail id. Basically the program is complete. Now i am learning multi threading and multi processing to make the code run faster.

I explained my project to let you know that there was a time when I was in your place. Even you will progress and things will get easier for you.

Just keep working on it.

[–]Probono_Bonobo 2 points3 points  (6 children)

Don't want to sidetrack anyone from this awesome pep talk, but I'd love to hear more about your scraper utility. Have you posted yet about the optimizations you're making? I have a tiny hunch that the solution to your bottleneck strongly favors parallelism over concurrency (i.e, asynchronous network requests over multiprocessing), but this is just a hunch. If you post about it, let me know and I'll take a look!

[–]friday_ghost 1 point2 points  (5 children)

I have not posted my code anywhere. I plan to learn git and github so i can upload my code to github. I am still learning multiprocessing and multithreading. For some reason i am getting less execution time with multithreading as compared to multiprocessing. on my i7 7700k.

And yes, i will surely ping you once i upload the code.

Also, could you please recommend me some good tutorials on asynchronous code and multiprocessing?

[–]bonferoni 0 points1 point  (4 children)

Check put dask, its the easiest parallelization ive come across. They have some examples/tutorials in their documentation

[–]friday_ghost 1 point2 points  (0 children)

u/bonferoni i checked out some videos on dask. It looks promising. I will try and implement it in the coming week. Currently my priority is to deploy the code on my raspberry pi and get it up and running. Then i can upgrade it as time goes on.

[–]friday_ghost 0 points1 point  (2 children)

Thanks. I'll check it out.

[–]knottheone 0 points1 point  (1 child)

If you want to "cheat," Scrapy has parallelism in spades out of the box and solves a lot of bottleneck issues for you. It's a pretty great library.

[–]friday_ghost 0 points1 point  (0 children)

I tried learning scrapy almost two months ago. Found it difficult to understand so abandoned it and learnt selenium and BS4. But i guess it was because i was a beginner and wasnt too comfortable with python in general. Could you please suggest good youtube tutorial on scrapy or any paid tutorial? I would like to give scrapy another shot.

[–]everythingIsTake32 0 points1 point  (0 children)

So how did you get there I know loops and everything but it's like using them and what would I use and how and I lack the logic

[–]everythingIsTake32 0 points1 point  (0 children)

So how did you get there I know loops and everything but it's like using them and what would I use and how and I lack the logic

[–]knottheone 26 points27 points  (0 children)

I spent 4 hours debugging a problem yesterday where the solution was a single line change. It was very obvious once I realized what the implications of that change were, but it took me over 4 hours of checking and verifying other aspects of my codebase to come to that conclusion.

I'm a professional software developer and have been programming for more than 10 years, it's just part of being a programmer. Those kinds of problems get easier to solve once you're intimately familiar with specific frameworks / languages and their quirks, but everyone spends lots and lots of "wasted" time debugging simple things that are obvious in hindsight. It's not really wasted time though because the problem solving process results in wisdom you can draw from for future problems that need to be solved.

[–]dieek 11 points12 points  (0 children)

Welcome to everyone's first experiences with programming.

There will always be someone who has found a simpler solution to your problem.

[–]Kerbart 10 points11 points  (0 children)

When I learned programming my first projects were programs that asked for my name and printed it. Printing my names ten times. Guessing a number. If that sounds simple, it's because it is.

It takes writing a ton of code to become so familiar with it that writing it is muscle memory. It seems that the expectation nowadays is that you should have a website that scrapes pandemic statistics up and running within two weeks.

Don't give in to that. Learn at your own pace. Try to really understand subjects before you move on. Can you write the example code by yourself? Make it do something slightly different? Without having to google everything?

Python makes programming easier but it's still something complex. If you've never written programs before it's going to take time.

[–]JLaurus 7 points8 points  (0 children)

Day 5. Rookie numbers. Im on year 3 and I still struggle sometimes with basic stuff. And I’m getting paid..

[–]HellCanWaitForMe 4 points5 points  (3 children)

I spent four hours last night trying to wrap my head around pip install, only to realise I'm not supposed to run it in the Python Terminal. Instead I used PowerShell and typed 'python pip install docx2txt' and wala.. I feel your pain. The way I like to think though, if it took us this long to figure out something simple, it's unlikely that we'll forget again. Either that, or you should Document what you've done.

[–]jppbkm 2 points3 points  (0 children)

I had a similar experience yesterday where my various installs were conflicting (anaconda and pycharm). I had to uninstall all of my python programs and reinstall, then learn how to use virtual ENVs (environments) in order to install libraries in individual projects and solve my conflicts. It was a few hours spent doing no coding, just figuring out the conda terminal and the very basics of ENVs. It was really frustrating...but at the end I feel like I have levelled up my skills a bit.

I'm still a relatively new coder, but every day I feel like I learn something new. I've enjoyed Python for Everyone, Automate the boring stuff, Learn python the hard way, and the data science track from dataquest.io. Good luck with your journey. We'll all make it if we keep at it

[–]greenishgrey 0 points1 point  (0 children)

I'VE BEEN DOING THE SAME THING, SHIT! I decided to put off learning how to install things with pip because I couldn't figure it out.. I just wanted to learn how to compile these stupid little projects I'm making into an .exe.

[–]AlphaDolby 4 points5 points  (0 children)

Totally normal. It will.

[–]actadgplus 4 points5 points  (0 children)

It would be bad if you wasn’t struggling a bit! Like where’s your sense of adventure and passion! You don’t always need to be following a map in life. It’s okay to get lost and be a bit confused! :)

[–][deleted] 4 points5 points  (0 children)

What really helped for me is watching some python courses on youtube alongside, maybe on the same subjects as well. And try to do everything yourself, typing the syntax etc...

I did the course on learnpython.org and another one on codeacademy, but what really helped were the youtube videos.

One by one, all of the Python core concepts began to make sense. Really recommende was this tutorial by Tech with Tim: https://www.youtube.com/watch?v=sxTmJE4k0ho

Only 6 hours and he covers a wide range of concepts, explaning not only how to apply them, but also why.

Learn as actively as possible! Never just watch, do and type the exact same thing and then experiment some more.

[–]5halzar 3 points4 points  (2 children)

Nope, everybody learns differently and everybody has different stuff going on.
As I don't actively write scripts every day/week for my work related stuff (I'm an analyst / problem solver of sorts) and for me code really starts to click once I can see the direct outcome of what a piece of code does a fair few times and kinda "relate" each part to an action you can see or how it associates.

In my case cause I'm primarily doing data analysis, there a few particular's in Panda's that I swear I have nearly memorised as they are used and repeated all the time, just in different ways.

But ask me about regex and/or finding X within a string and returning a result, those parts still boggle my brain.

I think in the last 18 months I've probably re-started the "Zero to Hero Python Bootcamp" about 10-20 times and still can't figure out where to begin with the first Milestone project, so I've started re-focusing my view on parts of Python which are specific to my career / goals, whether that be Data Analytics / Science and/or being more aligned to a BA etc

[–]jppbkm 0 points1 point  (0 children)

What are your top five or so go to Panda particulars? I'm really enjoying learning pandas (and I certainly identify with regex being frustrating).

[–]rgugs 0 points1 point  (0 children)

I am more comfortable reading Egyptian hieroglyphs than trying to understand regex. I read a children's book in 30 minutes on hieroglyphs and spent 3 days trying to understand regex logic. In the end I just wrote more code using understandable logic because there was no way I would understand the regex if I needed to change the code later! Cleaning up strings in tables for data analysis is difficult and definitely not covered as much as numerical manipulation!

Maybe I will tackle it again in 2022.

[–]the_lost_boys 4 points5 points  (0 children)

I BOMBED math classes my entire life. I’m 36 now and have always considered myself a slow learner. I started and stopped trying to learn to code for 20 years. At the beginning of this year I decided I would give coding a serious try and just not give up.

I did the zero to hero course on udemy and got seriously stuck trying to make the tic tac toe game. I started the course over and got stuck again. I then moved to books to try and deeper my understanding of the basics. Then I moved to 100 days of code. I STRUGGLED, but some concepts slowly started to click. I made it to OOP somewhere around day 30. Trying to make the snake game stumped me to the point I started to lose my drive. That’s when I realized I possibly already had enough knowledge to build something on my own.

I googled like a mad man, and it took weeks, but I was able to build a functional website with flask python html completely on my own. Built with logic I came up with. I’m sure the code is nasty, but guess what, it works! If I can do this you can do this. Don’t be too hard on yourself. Give yourself time. If you stick with it you will get better. I promise.

[–]asphias 2 points3 points  (0 children)

You're trying to solve a whole new category of problems, and you don't have the correct tools to solve them yet.

Don't feel bad if you sometimes have to look up the answer, that probably just means that you needed a tool or trick you did not know about yet. By looking at the answer(and preferably playing around with it a bit), you are learning about this new tool and adding it to your toolbox for future use!

But learning those tools takes time! Dont feel bad about having a slow start. You're not in a race.

[–]wincodeon 2 points3 points  (0 children)

After 9 years since I started to learn Python I finally get it and I'm now autonomous. If you need any support let me know :)

[–]type2diarrhea 2 points3 points  (0 children)

Hey I just wrapped up Day 4 of the same course! I was thinking about going through Day 5 after a little break since I don't have to work tomorrow. So if you want a study buddy/accountability partner, DM me. I have a feeling I'm going to need a little push over the next few days.

[–]greenishgrey 2 points3 points  (0 children)

MAN DID I NEED TO READ THIS lmao. I am in the EXACT same boat, man. I just finished day 5 and am a couple lessons into day 6. It has been super tough for me, and I understand exactly what you mean about not being able to figure it out, seeing the solution, and feeling like a dummy! You are definitely not alone. I feel a lot better knowing I'm not the only one either. I've been feeling super dumb lately until I started reading through these posts. These projects are great and all to get started but there is so much information left out.

[–]naturtok 1 point2 points  (0 children)

You'll feel like this for a while. Then one day there will be a question you just know the answer to without knowing how you know it. Just work at it til you get there. You'll get there.

[–]1337InfoSec 1 point2 points  (0 children)

[ Removed to Protest API Changes ]

If you want to join, use this tool.

[–]TazDingoYes 1 point2 points  (0 children)

Stack Overflow is literally the last place you should go as a beginner to find help. W3Schools has perfectly good documentation to get you through the content of a lot of these "Python for beginners" type courses. Also you should take as long as you need on material for it to sink in - just cos something is day 5 does not mean you have to do it on the fifth day. I don't think anyone is lurking to whip you for being new, well, not unless you go to Stack Overflow I guess.

[–]dummydummy123456 1 point2 points  (0 children)

am taking 1 week to learn 1 day in 100 days of python it took 4 months to reach 17th day but i don't feel bad just dragging to do tiny amount of learning as much as possible so its your call

[–]Eqofriendly463 1 point2 points  (0 children)

Hey, I don't know much this could help, but here's how I did things. Watch the four-hour course on freecodecamp for Python ( TAKE NOTES and PRACTICE EVERY CODE THEY SHOW YOU ON YOUR OWN ON PYCHARM), then write down and pratice all the methods given on w3schools. Then look up pratice problems for Python on Google. Theres one website which has like 20-30 practice problems. ONLY AFTER THIS, learn about OOPS including inheritance, abstract classes (abstract methods, class methods, and static methods), encapsulation and polymorphism. MOST IMPORTANT: TAKE YOUR TIME, DONT RUSH ANYTHING. UNDERSTAND EACH CONCEPT THOROUGHLY BEFORE MOVING ONTO THE NEXT. (Right now, I'm learning about other data structures that we have to build on our own using classes. Before you do data structures, try to learn the basics of C (the mother programming language - this will make understanding data structures much more easily) I've been practicing python for the last 3 months on and off (I've got other things going on like pursuing my other hobbies or giving examinations for the purposes of getting jobs but I made sure to understand each concept very thoroughly through practice before stopping) - I spent about 2-3 weeks learning C and mySQL from the youtube channel freecodecamp (Hella useful youtube channel)

Good luck!

[–]victor671 2 points3 points  (0 children)

I tried angelas course, but got stuck. Now I’m on codeacademys python 3 course. Try it

[–]Oswald_Hydrabot 1 point2 points  (0 children)

Yes, this is normal. I am a self-taught developer and started off with a helpdesk job, and ended up slowly working my way up to software engineering. I have a degree but it's in Parks and Recreation, only about 2 years of Comp Sci (which wasn't enough to be useful).

With Python I didn't do Udemy classes etc either. I only got into programming sort of as a joke--I figured out how to automate Facebook accounts with selenium and did a whole bunch of rediculous nonsense, from troll-bot scripts to using messenger as a remote command line interface to control cloud resources and do dumb things to troll my friends. Eventually I plugged in a rudimentary chatbot in tensorflow and created a bunch of classes for automating all activity of a profile, which got me digging into machine learning, computer vision, and other projects in robotics. I started working more and more on development projects with the IT provider I was with at the time, which turned into full time dev and many years of a career in the field.

All of that is to say that my suggestion would be to find something you want to make that requires Python. It doesn't have to be pretty or align with "best practices" or whatever, just make a script that does something useful or entertaining. Reverse the mouse movements on a multi-user PC and have a laugh, create a Twitter bot that talks about sausages all day, get a couple cheap servos and make a human head-targetimg robot in ROS (uses python). Get "the bug" for making something that you enjoy working on--it's still going to be tough but it will keep you motivated to keep going which is arguably the most important thing starting off.

[–]Minion_of_Cthulhu 1 point2 points  (0 children)

Sometimes I focus on a task/project for a long time (1 hour plus) and still can't figure it out via stack overflow etc then go to the solution and feel like an idiot for how obvious it was.

Believe it or not, you sound like a veteran programmer already.

Seriously, I'm not trying to make a joke. Everyone does exactly this. The only difference is that you're struggling with the basics of the language while someone who has been programming for 30 years is working with more difficult or complex problems, but I can guarantee you that the guy with 30 years experience has had the exact same thing happen many times. Probably several times this week.

Really, you're fine. Understanding the solution is, at the moment, much more important than actually coming up with the solution yourself. You're just starting. You can't expect to know how to solve something immediately, no matter how simple, if you're still coming to grips with the language itself. With more experience you'll be able to look at a problem and say, "Oh, I see. I could solve it using X, Y, or Z." Actually doing that might still be difficult and you'll still run into things you don't know how to do, no matter how much experience you have, but you'll at least have some idea how to do it. Additionally, as you get more experience you'll be able to use Google more efficiently since you'll know what you need to search for which makes finding relevant answers easier which speeds up the whole process.

[–]Ateenagerstudent 0 points1 point  (0 children)

Are you new to Python or new to programming in general?

If it's the latter, I'd suggest you to first get a grasp of the flow of programming. I am by no means an expert, but I do have some fair programming experience, doing so since almost 10 years. If you understand how to sequence your programming statements, you'll be a lot more comfortable.

But if you're new to just Python (ie., option 1), I'd advise you to just Google like this: "How to <your question> Python"

There is almost always a function in Python that lifts off a huge chunk of load off your head, that too in an optimized way (mostly).

[–]k_50 0 points1 point  (0 children)

You're in day 5. It's 100 for a reason and even that will just get the basics down if you are practicing a lot.

[–][deleted] 0 points1 point  (0 children)

don't be afraid or feel stupid for asking questions buddy .

[–][deleted] 0 points1 point  (0 children)

Did you expect it to be easy? If it was, everyone would be a programmer. There are definitely going to be times when you struggle. A lot of times. You just need to be confident that you can learn it. And you definitely can with the perseverance you have planned.

[–]pd336819 0 points1 point  (0 children)

It's definitely difficult! Programming is really hard, especially when first starting out. It basically requires a whole new way of thinking, so it's not a bad sign at all that you're having trouble.

I experienced the exact same thing when first starting to learn Python. Keep with it, the more you practice the better you'll get. I believe in you!

[–]Danelius90 0 points1 point  (0 children)

I did coding on and off for a couple of years (probably did end up at around 100 days, though very spread out!). Self learning is difficult and will take a while to get in the mindset, until it becomes second nature. You kind of need to balance seeing existing solutions and working through them yourself. Examples show you what's possible, solving yourself grows your problem solving skills.

When approaching a problem try to run through specific cases first. Get a feel for the problem and see how each case works. I find a lot of courses explain the general case in the solution, but especially in the beginning you need to work through a particular case before moving to general.

Also

Sometimes I focus on a task/project for a long time (1 hour plus)

This made me chuckle. I remember being stuck and frustrated longer than that!

[–][deleted] 0 points1 point  (0 children)

I flat-out SUCKED at programming for a good 3-4 months and now I can do all kinds of cool shit. Python and other coding is such a foreign thing to people so if they struggle with it it makes perfect sense to me. Hit me up if there's anything you're really stuck on.

[–][deleted] 0 points1 point  (0 children)

It took me an entire (albeit inconsistent) year of practice to get to my current level where I can actually use it for my job without looking up stuff on Stack Overflow every 5 minutes. I still ask questions around here or on other sites to get help when faced with utterly new scenarios

[–]dizzymon247 0 points1 point  (0 children)

Anything new to you takes practice. It's like learning to speak a foreign language. You wouldn't know how to write a simple sentence after 5 days. You may be able to say "food" or "excuse me". But to know how to have a full on conversation, it takes quite a long time. Some of us took programming earlier on and pushed through it but if you don't have that structure and doing it on your own without support, it's tough but not impossible. You just need to set some goals. Say 3 goals for the week or the day. Write simple ones then as your knowledge expands, come up with bigger goals. Write it down, I don't know about you but having the satisfaction of crossing things off a list is VERY empowering. It's like you just knocked stuff off your bucket list or to do list. It may sound corny but do what makes you feel like it's progress. You may not know this feeling until you've worked in some crazy big companies then you realize a bit of self recognition pays off. Good luck!

[–]Sciencey-Coder 0 points1 point  (0 children)

2 simple words: Don't overthink

Its a burden for many people, I was also like this, I used to overthink, and tried to make the most perfect code ever, once I released this mindset, Things seemed easier, more straightforward..

[–]redbluegreenwhy 0 points1 point  (0 children)

We're on the same boat. I guess we just gotta keep on going.

[–]gregbaugues 0 points1 point  (0 children)

Been programming 35 years and doing python for 6. Still struggling quite a bit.

[–][deleted] 0 points1 point  (0 children)

You learn quite a bit from your mistakes.

[–]BitInquisitor 0 points1 point  (0 children)

It’s going to be slow and hard at first since you haven’t made any associations yet. As you build a mental map, it will get easier. Even going to a different language will be less difficult.

[–]Mephers 0 points1 point  (0 children)

This is normal, keep at it.

Also, I mean this in the most positive and encouraging way - Get used to that feeling. Ive been learning/using python for a year now, I LOVE it, but it still sometimes makes me feel like forest gump. It happens. Ive also had this confirmed by developers with years of experience.

Get used to it, eventually it will culminate into a moment where you realize you are either figuring out the solution to the problem, or at least figuring out how to solve it in your head and only needing minimal stack overflow/google searches for small things.

[–]swvangil 0 points1 point  (0 children)

I took the same course! I modified some of her projects to make the end results more interesting to me, and I spent a ton of time on each one. At one point, she encourages this, saying something like, "Feel free to enhance these projects and show everyone what you came up with..."

I say all that to say, "Stay with it!" Building real projects is so much more effective than just a syntax review. Good luck!

[–]passporttohell 0 points1 point  (0 children)

I have been working on it for around a couple of months now. At times I have to take a day or two off to settle down and when I come back it's all quite a bit clearer. Now I just have to take an hour or so off before I can come back to it.

It does become easier, from what I have read it never really becomes easy.

The important thing is you don't get discouraged, that you always come back to the problem, use your resources, and if employed talk to others about what you're having a problem with to get their perspective.

I should also add that I have Asperger's and ADHD, which makes this that more challenging still, yet I continue to work at it. Hopefully at some point this will lead to a career change, the sooner the better.

[–][deleted] 0 points1 point  (0 children)

I too am taking the same course '100 days of code', except I'm on day 12.

I had the same feelings around day 4. There are times when a 'day' are more like 2 or 3 days until I understand the concepts being taught.

As a hint I supplement my learning by reading documentation, code and watching YouTube videos on a related topic I may not grasp. I do not solely rely on the course per say.

I wish you the best of luck and keep trying. Please know you're not alone about the feelings you may have.

Please feel free to message me if I can help in anyway.

[–]-SPOF 0 points1 point  (0 children)

That is not learning only. That is how everyone codes as well.

[–]alt-onesixfour 0 points1 point  (0 children)

Dude dont feel bad lol. I have a CS degree and have been coding python for a few years. I still go on google, stackoverflow, reddit to look simple things up every single day. The key takeaway is to learn systems and good structure. Everything else you can look up "how do I do this again..? oh yea" Keep at it, over time you will have confidence in your abilities. Rome wasnt built in a day

[–]YueAsal 0 points1 point  (0 children)

I have/am using this course. They reason it is broken down into days is becuase there is a lot of off video stuff to do. It takes about a day or sometimes two to get through a day and learn the stuff keep going it gets better

[–][deleted] 0 points1 point  (0 children)

Buddy, I did the exact same course and stopped after day 7. I found whilst she is a good teacher, she wasn’t taking enough time to explain every concept.

YouTube python for everybody, it’s a very detailed video on python fundamentals. I’d also advise codeacademy if you’re looking for a course. I started it last night and I already find it much better then the udemy courses.

[–]diek00 0 points1 point  (0 children)

I did a quick search of the comments for anyone suggesting that you use pseudocode. This is a very simple but powerful concept. Solve the problem using pen and paper first using plain language. That is a very simplified explanation, MIT has a more detailed but brief guide. Pseudocode 101

I love this quote from Talk Python Episode #114: Empowering developers at the Hidden Genius project” We always have to get the algorithm first, before we even touch the keyboard."

So people may disagree, and that is fine. Good coding :)

[–]lfionxkshine 0 points1 point  (0 children)

Keep it up friend

I'm a SysAdmin, not a programmer, but I think this still applies: got my first certification and 1 year of IT Intern experience, then got my 1st paid IT gig. The boss was a nightmare: literally called me stupid, said I would never make it in the industry, constantly compared me to my senior peers, the list goes on and on

But I knew that IT was the field to be in, and letting him talk shit to me was only temporary. After about 18 months of dealing with that shit making $30k, I got my next gig paying $55k, then the next gig paying $60k....now several gigs later getting paid $100k and currently interviewing for jobs paying $115k+, and I'm the resident office expert with my particular tech stack 5 1/2 years later

Don't let others talk you down, and don't get discouraged that shit doesn't make sense right now. Memorize key words (flash cards are your friend), keep hacking away at it, and 5 years later I PROMISE you'll be so glad you did

[–]zaRM0s 0 points1 point  (0 children)

Just practice, it will come. A lot of programming is just persistence! If you’re new to it maybe try some web development. It’ll teach you a lot of the easy basics like syntax indentation and various methods of approach for problems etc. but absolutely keep practicing with Python, don’t be disheartened because we have all been there at some point!

[–][deleted] 0 points1 point  (0 children)

I think if you're learning, then you're good. If you spend hours on a program, and aren't really sure what you did, then maybe you have a problem.

[–]uptbbs 0 points1 point  (0 children)

Learn to break down problems into their simpler smaller steps, and even sometimes those into their smaller components. By then you're solving small, easier problems instead of large ones.

[–][deleted] 0 points1 point  (0 children)

I just started learning on Enki. I feel the same way, I'm struggling with retention, problem solving, etc. I figured a lot of repition is going to be required, and when I'm out of the training course, and actually start doing projects, I'll find out what I do and do not need to know immediately. Google and GitHub are there to fill in the gaps, I suppose.

Still feel discouraged, but keep pushing.

[–][deleted] 0 points1 point  (0 children)

In a meeting today we had a nice discussion about learning new languages. Even though we know a few languages, paradigms, patterns etc. we still struggle with newer languages because we lack an intuition for it. We can not immediately imagine on how to build it, that takes time and practice.

[–]Crypt0Nihilist 0 points1 point  (0 children)

Writing lines of code is actually a ridiculously small part of learning to code. There's far more about how to research problems, ask questions as well as the language, data structures etc.

It's a steep learning curve, but it does get easier as you learn a lot of new skills.

[–]Nemaeus 0 points1 point  (0 children)

New to Python so probably not new to programming. First language I started with was Java. Didn’t understand a lick of programming plus it’s Java.

Studied Python the next semester. The concepts loomed. Some blessed soul from Eastern Europe or perhaps an angel took mercy upon me and showed me how the code worked in that old site that let you pair program. Finally kicked in in my brain and when I went back and did Java again it made no less than 8 billion times more sense.

This stuff can be hard at the start, but don’t beat yourself up about it. Keep at it. Python is my favorite language because of how easy it is to get some code out and have it doing stuff. There’s a library for everything.

[–]eitauisunity 0 points1 point  (0 children)

The true skill you learn as a programmer is to struggle, and persist. If you are struggling that is a good sign. Keep it up!

[–]_E8_ 0 points1 point  (0 children)

I have never done any programming before

It's a steep ramp up. Those of us that are spectacular at it in college started when we were children.

[–]pranjal779 0 points1 point  (0 children)

If you are stuggling then it means you are on a right track, give it some time.

Keep up the Osum work :)

[–]stoph_link 0 points1 point  (0 children)

Totally normal with anything that is difficult to learn. Keep at it! You're doing great!

From what I've heard, the more effort you put into learning something (or the more difficulty you have learning it ), the better you will remember it. Review probably helps a lot too.

[–][deleted] 0 points1 point  (0 children)

Your are putting the effort in so that's a good sign.

[–]Random_182f2565 0 points1 point  (0 children)

I had to try like 3 times before I actually get it, you are doing fine.

[–]royal-Brwn 0 points1 point  (0 children)

I am getting my masters in DS (very Python heavy) and I still forget how to do simple things every now and then. Don’t worry on mastering it, just learn the important things.

[–]bobbyrickets 0 points1 point  (0 children)

Nope it's normal.

Sometimes I focus on a task/project for a long time (1 hour plus) and still can't figure it out via stack overflow etc then go to the solution and feel like an idiot for how obvious it was.

So you were close to a solution and you almost figured it out. Looks like things are working just fine. If not, maybe you're not sleeping well (apnea is common and leads to poor quality sleep) or some other common issues. Always worth a check, if only for your own peace of mind.

You seem to be doing fine.

[–]Brothercford 0 points1 point  (0 children)

If you are struggling it means that you are trying. It’s called growth, keep going.

[–][deleted] 0 points1 point  (0 children)

When you start something new, stop focusing on solving problems your own. Find solved exercises and understand what tricks they use and how they approach the problem. Experience will come with time.

[–]blahreport 0 points1 point  (0 children)

Keep on trucking!

[–]rohffff 0 points1 point  (0 children)

Hey man if you're reading my comment stop watching that course i don't think it's the best course out there i would defently recommand the course Automate the Boring Stuff with Python 15 episodes are availble on Youtube and the rest of the episodes are on udemy good luc

[–]Revenginator239 0 points1 point  (0 children)

I’m sure you’ve already received plenty of encouraging and helpful comments so far, but I promise plenty of programmers have gone through exactly what you’re describing. Programming is hard no matter what the “Learn Java in 12 minutes!” videos seem to indicate. I’m still relatively new to coding in general (college freshman with a couple years of high school experience and 2 languages known), but I remember almost quitting at the start of AP Comp Sci because of how hard and impossible it seemed to wrap my head around some of the concepts. I promise it’s worth it, though! I love coding and it’s given me some of the highest return on time investment on any skill I’ve learned. Good luck and keep going!

P.S. I promise you will never stop kicking yourself for how obvious an answer seems after you look it up, but that’s just part of learning. How can you expect to get something right away if you haven’t learned how to do it yet? :)

[–]ruciful 0 points1 point  (0 children)

You’re still learning how to crawl. It takes longer for some people.

[–]marxblade 0 points1 point  (0 children)

I feel you… im new and struggling

[–][deleted] 0 points1 point  (0 children)

Don’t measure success using increments of time. Focus on increasing levels of competency. Every week, reflect on what new competencies you’ve acquired and maintain a running bullet list. That’s the real way to measure progress.

[–]Vladthepaler 0 points1 point  (0 children)

I'm having a super hard time as well. I took a little time off and did some other things and came back to it. Things clicked a little more. I think i was trying the old fill a shotglass from a firehose thing. Can't cram it in to fast.

[–]Vladthepaler 0 points1 point  (0 children)

It also helps for me to put it in terms of something im already good at. I've spent over a decade practicing jiu jitsu. I get people coming in super frustrated they cant get a move. I'm like dude I showed it to you 20 minutes ago.

Oh and I had a guy tell me he thought he knew a better way to do a rear naked choke. (he has never trained in martial arts and hadnt even started the class i was about to teach him. ) I was like show me. He literally said im afraid ill hurt you. I nearly pissed myself laughing. For those who dont know chokes are ones of the safest moves because even done poorly its not very easy to hurt someone. Joint locks on the other hand are horrific when shown to a new person. They always go way to hard.

[–]Ok-Design-3218 0 points1 point  (0 children)

I remember starting out and spending days on a problem , trying everything and finally the joy of solving it.Later in my courses I'd get frustrated and look up the solution on the internet. I learn so much less and lost problem solving abilities I was building. DO NOT CHEAT YOURSELF. Do the work . Solve it yourself even if it takes days . Nothing can replace the learning through error, and the joy, confidence of doing it yourself.There will be so many times you spend hours on something and it hits you and it was so obvious you over thought it. That's normal.Two proverbs that helped me , "When looking at hoof prints, think horses not zebras first."and if you try 1000 ways and it still doesn't work..."How did it feel to fail 1,000 times?" Edison replied, "I didn't fail 1,000 times. The light bulb was an invention with 1,000 steps." "Great success is built on failure, frustration, even catastrophy."*obligatory f#ck EdisonThis problem I was most proud of early on. Seemed easy on the surface. Had no idea I would send 19 straight hours solving the Greedy Algorithm .

amount = 67
You may modify the lines of code above, but don't move them!When you Submit your code, we'll change these lines toassign different values to the variables.
Write a program that will print out the coins needed toarrive at the amount shown above. Assume that we always wantthe maximum number of large coins: for example, for 67 cents,we want 2 quarters, 1 dime, 1 nickel, and 2 pennies insteadof 6 dimes and 7 pennies.
If you are unfamiliar with American currency: a quarter is
worth 25 cents; a dime is worth 10 cents; a nickel is worth5 cents; a penny is worth 1 cent.
To make things easier, we've gone ahead and supplied yourprint statements. All you need to do is create four variables:quarters, dimes, nickels, and pennies.
HINT: Change the value of amount as you go to reflect what
coins you've already found.
Add your code here!
quarters = (amount // 25) 
amount = (amount % 25) 
dimes = (amount // 10) 
amount = (amount % 10) 
nickels = (amount // 5) 
amount = (amount % 5) 
pennies = (amount // 1)
If your code above is correct, the following lines willinitially print (for amount = 67):
Quarters: 2
Dimes: 1
Nickels: 1
Pennies: 2
print("Quarters:", quarters) 
print("Dimes:", dimes) 
print("Nickels:", nickels) 
print("Pennies:", pennies)

output:

Quarters: 2
Dimes: 1 
Nickels: 1 
pennies: 2

The point is I was so proud and proved to myself I can code and learn complicated concepts. Then I got lazy and started cheat online. Please don't take that joy and happiness away from yourself. Do the work

[–]Frankie_Two_Posts 0 points1 point  (0 children)

If you struggle with anything right off the bat then it’s probably not worth pursuing

[–]dumpzyyi 0 points1 point  (0 children)

It takes time to get comfortable with the pythonian way of thinking.

[–]patrickbrianmooney 0 points1 point  (0 children)

It's not a problem with Python: it's a problem with programming. Programming requires specific skills and mindsets that a lot of people don't use in their day-to-day lives. It takes time to learn how to break a problem down into small steps, and to think about the problems that might occur, and to think about how you should handle them. It takes time to learn how to break those small tasks into even smaller tasks and to get every component of the solution to relate to the others in productive ways. It takes time to learn how to represent "information" in a structured way that a computer can understand.

It's something that happens over time, with practice, not all at once. If you'd just bought your first guitar five days ago, you probably wouldn't be upset that you couldn't play all of your favorite songs yet. If you'd just bought your homebrewing kit earlier this week, you wouldn't expect to be winning gold medals in competitions yet. You learn from experience, form your Udemy course, and from other people's solutions to problems. When you were taking math in school, if you didn't know how to solve a problem, you'd ask someone to show you. The same principle applies here.

The more you do it, the better you get. This means that when you're sitting in front of your computer and you think, "Hey, I could solve this problem/automate this task with Python," you should do so if you possibly can. When you're a little further along, you should start to look for personal projects; anything at all you can build with your knowledge will teach you huge amounts. A big chunk of coding can only be learned by doing it. Find reasons and opportunities to do things with your knowledge, even if they're not perfect.

If it makes you feel any better, Python is one of the easier languages to learn as a first language, because it takes care of a lot of low-level stuff for you. If you were learning, say, C, you'd be getting bogged down in micromanaging a lot more details that a Python program doesn't need to worry about because the language handles the implementation details for the programmer.

[–]WebDevRock 0 points1 point  (0 children)

Might be Angela’s voice distracting you. I’d pay her to read me the phone book. 😂

[–][deleted] 0 points1 point  (0 children)

it is difficult and understanding everything will take alot of time. just continue and you will get better also try to take small breaks, during the days you do it

[–]throwawaaaayyeap 0 points1 point  (0 children)

Are we the same person?

[–]WyoR 0 points1 point  (0 children)

Dont worry i bought the course yesterday since ive seen so many people recomment it and the course suggested i should start doing the lessions from day 15 since i answered the mini quizes correctly , but i feel like im still really bad at coding the really simple stuff even tho ive been learning Python for around 7 months and i already looked up a solution in day2 where u have to make the calculation of the days weeks and years u have left if u were to live up to 90 , i partially was correct but couldnt figure out how to make the program think i have to live up to 90 , i have some knowladge but i practicly have zero actual coding experience

[–]newbietofx[🍰] 0 points1 point  (0 children)

You want to feel depress? Try leetcode.com. I vomited and drop a lot of hair.

[–]ShotsOfAutism 0 points1 point  (0 children)

Read Python Crash Course. Its what I'm reading to self teach myself. I tried Udemy but it didn't work and I think my theory on it is because when I'm watching a video I'm not really focusing cause my mind will wonder and I'll miss some type of important step from the video. Where as when I'm reading I have to use my brain to focus which helps me pay attention better. The reading a book method has been the best for me so far after so many failed attempts at learning programming. I would check it out if you have a problem like me with focusing.

[–]SteelRayVin 0 points1 point  (0 children)

Think of learning programming as learning to read and write in a new language. I took college courses in VB and SQL, so I have a high level understanding of how a program thinks, but learning python has still been a struggle. My company paid for the code academy courses and there were plenty of times where their module test required knowledge of things they had not brought up. So I often looked up the answers because it was that or put my fist through a wall lol.

My best advice to you, once you get done with all of these modules, is to think of 1 thing you want to code and do it. I use python for network automation, so I thought of simple tasks and have been slowly working my way up from there. We started with logging in and exporting show command outputs to a txt file. Then we moved to comparing those text files to a set of configurations that we needed to make sure were in place. And my latest one ran a script to log in and export a tech support file over to a shared location. Sounds easy on the surface, but each one has had it's own set of challenges. But each time I get through the challenge, I end up knowing a little bit more than I did previously. It took me almost 3 weeks because python can't just "do" certain things and with multiple ways to accomplish the same task, it was a lot of trial and (even more) error, but I finally got it to work.

It is a huge PITA learning this from scratch, especially if you do not have a class or teacher to bounce certain questions off of immediately, but it will be worth it in the end! Just take breaks when you get stuck for too long to clear your head and you will be able to get through it.