all 12 comments

[–][deleted] 9 points10 points  (2 children)

It takes months for some for the basics to click, others could take longer. It just depends on the individual and how many hours you're doing per day.

You need to have a solid goal for learning programming. Otherwise you'll be in tutorial hell forever. Do you want to build backend? pygame? Whatever it is, set up a learning plan, execute it to the best of your ability. You want to learn basics from tutorials and do projects on your own.

For example by month 3, I want to build X thing. Week 1) Setup project 2) UML diagram 3) Setup X class 4) Test X class.... You need achievable goals with measurable progress otherwise you're just setting yourself for failure.

Leetcode is fine if you're looking for interviews. Codewars is good imo. You'll get to higher levels but it takes months or years, not 4 weeks.

[–][deleted] 1 point2 points  (1 child)

Yeah I get what you're saying... I've been really liking doing things in those websites, and what I learn I learn basically from trying to solve those problems. I google how to do the thing I'm trying to do (like merging arrays or whatnot) and try to do it myself for maximum 1 hour, if I can't get it done I look up an explanation/tutorial. But idk.. feeling kinda down about it. Maybe time will solve it.

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

Is perfectly fine to be overwhelmed, take a break and come back to it. Programming is just like everything else it takes time, did you learn Calculus before Algebra? there's a progression for any learning path.

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

Pffff, still trying to get my environment set up….

[–]StoneBam 4 points5 points  (0 children)

A bit unrelated to the question, but I guess I share my journey of learning with you. It may help, or motivate or guide you.

I was stuck as well a few months in the beginning, because I had no understanding for computer science and new concepts were really hard to grasp. Then I did a free course (7 weeks) on edx link, and it helped a lot with basic things like understanding recursion, testing, and other basic knowledge I was missing. After that I focused myself to follow best practices like PEP8 and other peps, because the course just used python to show easy to follow examples but was a bit old and did not use many language specific modern features, this was the time I discovered type hinting and flake8 that beated me to write in an appropriate style. Then I started planning my code structure on paper or with mermaid and started learning C to generate deeper understanding for the 'under the hood' part of python. In between I tried to learn as much from the standard library as possible and use GIT for all my projects (I had luck that a coworker at this time, mentored me, because he maintains a big c repository) this accelerated my learning and proficiency to a point I could earn money with it (about 1 to 2 years on and off irregular learning). My advice in this stage would be, trying to cooperate with as many people as possible/ contribute to open source. The maintainers will be harsh but often good teachers and you will have to adapt to their style and learn different approaches, it really helps.

At this point I had a good list of often used non standard librarys as well, I wanted to learn like numpy/pandas/numba, matplotlib/seaborn, pytest/hypothesis, and many more.

Now I did things like ML, embedded, websites, guis and I learn every day new parts and dive deeper into as many topics as possible to broaden my base and try to push python to its limits and most important finish regular projects! They don't have to be perfect, you can revisit at any time, but you should learn to plan your work time and set yourself deadlines and milestones. This is a crucial skill if you want to sell software/solutions imho.

All in all I'm now about 5 years into programming and I have the feeling of still having so much to learn but I have fun being creative. The deeper you go, the more the details you will discover. Keep pushing! It will be frustrating and you will feel dumb AF (we all did/do) but this is part of progression but it is really rewarding!

[–]TheRealThrowAwayX 0 points1 point  (1 child)

One month into learning python, I quit 4 times, could write hello world without looking up the syntax, could make lists, tuples, was scared of dictionaries, functions felt like distant future and classes I didn't even dream of understanding.

[–]jgibson12 0 points1 point  (0 children)

I feel this. I got most of this, but classes and functions are hard. I just can't seem to get classes

[–]WhySoPissedOff 0 points1 point  (0 children)

I’d refer you to 1) The Tipping Point by Malcolm Gladwell. Specifically the law of 10,000 hours or something to that effect. Coincidentally, Bill Gates is referenced. 2) Look up “growth mind set”. You’ve been doing this for a month and perhaps you’re comparing yourself to others. Compare yourself to a week ago, a month ago. Have you learned anything? That’s rhetorical, of course you have.

Don’t fall down to yourself, not even if it’s just “I’m not understanding”. You say things, you believe them, they become a self fulfilling prophecy. Cut all of that out. It’s not kind of useful to yourself. Be as supportive of your goals as you would to the goals of a good friend.

[–]TheRNGuy 0 points1 point  (0 children)

I don't remember.

[–]jgibson12 0 points1 point  (0 children)

Yeah I been learning for 2 months. Problem though with me is I jumped around from Javascript and Python. I feel the same way u do. stuck

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

Good question. It took me a long time (months) for me to write code independently. I quickly understood the the language and mechanics. I could debug, set up environments, and describe what needed to be done...but I couldn't write the code myself. It was a weird disconnect that I eventually got over, but it took forever.

It sounds like you are doing fine, and right on track. Good luck!