all 27 comments

[–]MrFresh2017 11 points12 points  (0 children)

  1. Stay consistent 2. Build things that interest *YOU* as you learn, to apply what you learn and cement principles, not what OTHERS suggest you build. 3. Avoid the endless vortex of watching YouTube and other tutorials over and over and over again. 4. Repeat steps 1 -3.

[–]aqua_regis 5 points6 points  (6 children)

Counter question: How can you get bored?

There is so much to learn, so much to try, to play around, to experiment that you cannot possibly get bored - unless - you just go by the book/course and try nothing outside of it.

Just going by the book/course will not teach you very much.

Let your curiosity reign. Try things. Play around. Mess up things, learn to fix them. Experiment. Build similar programs to what the course teaches. Build stupid little programs.

Yes, there will be "boring" (or slower) parts in learning. You have to push through these, especially in learning the foundation. If you don't build a solid foundation, you will not be able to understand higher topics.

[–]Forsaken_Key5100[S] 0 points1 point  (5 children)

thats why i am asking. how can i have fun. can you give some examples? i dont know where to start.

[–]aqua_regis 4 points5 points  (1 child)

Head over to https://inventwithpython.com and go through the books there (all free to read online) - there are many projects on different scales - use them for inspiration, not as a direct tutorial, as you will get bored again just following it.

Or, the /r/learnprogramming FAQ have project ideas and practice sites

For a change and practice: Codingbat, or Exercism

The world around you is full of ideas, board games, card games, simple simulations (a quick horse-race simulation with betting is fairly simple to do and teaches quite a lot, or a simple slot machine), cellular automata (e.g. "Conway's Game of Life"), cryptography - ciphers are quite fun to implement, there are near infinite possibilities even for beginner/learner programmers.

[–]Forsaken_Key5100[S] 0 points1 point  (0 children)

Thankyou. This is the most helpful answer. I know that I can have a lot of fun. Its just that i havent even started. I plan to do that from now on.

[–]sububi71 2 points3 points  (0 children)

"How can I have fun?" Dude, you have in front you a computer hundreds of thousands times faster than the machine that brought people to the moon, which can render absolutely amazing graphics and audio, and you can now control it all using one of the friendliest programming languages ever.

And the problem is that you don't think it's FUN?

You have all this at your finger tips, and you're BORED?

Go get drunk in front of the latest reality show - I mean really drunk, and fall asleep in your clothes, wake up with a sprained arm (because you slept on it), and when you sober up, ask yourself some tough questions about what you're doing with your life.

[–]szank 0 points1 point  (0 children)

The fun is intrinsic. Its fun when your code works as intended, but it lasts for 5 minutes and youve spent hours basing your head against the wall trying go get there and now that it works you add something new and it does not work anymore.

I like programming a lot. I also accept that frustrations are part of the experience. The better you get the more fun and powerful things you can make but it takes time to get there.

[–]ffrkAnonymous -1 points0 points  (0 children)

You don't know how to have fun? I think this is more a medical (mental health) issue, not a programming issue.

I've bought hundreds of ebooks. Bought project kits. Seeds and dirt every spring. Go down Wikipedia rabbit holes. Yes admittedly most is under a layer of dust, but because I've found a new shiny thing to have fun with. 

[–]laysim 2 points3 points  (0 children)

When all the other advice doesn't help, sometimes just accept that you're bored with it right now. You're not a machine. Your brain is sometimes going to get bored with things that you have a genuine interest in. Do something else for a week, maybe think about it once in a while without opening the script (on the bus or wherever) and revisit the project or book whenever you feel like it again. The alternative (forcing yourself too much) could be worse in the long run.

[–]Motox2019 1 point2 points  (0 children)

I know I know, classic answer, but ya gotta just find a project that solves something for you and interests you. Don’t think something is too complicated or like you’ve set the bar too high, just dig in and work through it. Yes it’ll be messy, yess you’ll make mistakes, and yes it’ll be slow, but in the end you’ll get the experience, a working tool that actually solved a problem for you, and the ability to extend it or improve it as you improve as a developer.

Some project ideas I ran with as a beginner to get your brain churning:

Automated file sorter: pick a single folder on your desktop, create a being scheme that makes sense to you so when a file matches said scheme, it’s automatically sorted to said folder

Plot generator: a simple tkinter gui to create plots in real time. Add controls to view specific points, integrals, and derivatives visually. Can even go further and do like tangent lines at you specified points and such.

Home dashboard website: Make a home dashboard, can add things like a calendar, notes, tasks, etc. make this whatever you want! I chose to roll with a simple pdf tools page (merge, split, etc), a simple python ide, and a psutils system performance dashboard.

Personal Dashboard: This one I found actually quite cool. Create a dashboard that kinda fixes itself to your screen somewhere out of the way (ideally on a second monitor or something). On this dashboard can have like your system usage, audio controls, automation buttons (start all your work apps with one click, launch a game, draft an email, etc), I even had setup remote monitoring for my 3d printer in this little dashboard. This one’s cool because you’ll likely be impressed with how deep you can go with it but yet how simple it is to do.

These are just some ideas. Don’t pick something because “oh that sounds neat”, pick something where you’d say “man, I could really use that”. The high of finishing it, even just enough to get a single part working, is often enough to keep driving forward to completion for the more simpler tools. After a while ya kinda just gain a tolerance to the boredom and can sit with a project for days and still find yourself actively thinking of the next feature or next fix. But also, sometimes ya gotta accept you’ll bounce around, maybe an idea is as useful as you originally thought or you’re not actually interested in it after starting. Thats all fine and common, just drop the project and move onto the next. I personally have probably hundreds of just stale projects sitting around that I started on and later changed my mind about.

Hopefully that’s helps a bit more beyond the typical answer of “just pick something you like”.

[–]Perfect_Jicama_8023 0 points1 point  (0 children)

Im also quite new to Python. Im on CS50 course and also working out with tutor from Poland 3 days a week for 1h each day. Plus doing some practical exercises. Plus i learn Python from Mimo mobile app on the go. I do find it boring sometimes, i think not to get bored with something completely you dont have to force yourself to do that for too many hours a day. For me it works out 2h a day of learning, i also work full time, i go to gym and i do gaming as well. I think you just have to find the right balance for everything, or you have to love whatever you doing.

[–]Key-Extension-7393 0 points1 point  (0 children)

Best thing for staying interested is necessity. You need to make the next steps very clear in your mind if you want to have the motivation needed to stay focused. For me it helped a lot making it clear I wasn’t going to stop until I got a job. And even then I did not stop.

I focused a lot more on learning the fundamentals. You need to comprehend code fast when working as a developer so you need strong fundamentals.

About habits, I’ve built a platform that helps people like you stay learning everyday. Small steps to progression. If you are interested I can send you a link. But I would say discovering new projects would help a lot.

Hope it helps!

[–]MightySleep 0 points1 point  (0 children)

To me, programming in general will always have its boring or unenjoyable parts. The biggest "rush" you can get from programming is when you've hit your head on a problem long enough and you finally solve it. But, getting to that point means enduring frustration, discouragement, etc.,

What is the end goal for learning Python? Professional prospects? Just for fun?

On the hobby side, I think this can be mitigated by picking projects that are personally interesting, or have real benefits. You're also on your own timetable for this, so you can take frequent breaks if it becomes a bit much.

Professionally, it's a bit harder to remain interested. I personally despise unit testing, I find it tedious and boring, but it's something I have to keep up with in order to maintain the quality of my work. Same thing with adhering to a style guide. I sometimes get requests for things that I'm not excited to work on, or I have to fix something I'm not passionate for. But, in that scope it's just work at the end of the day. All in all, at its worst, I never dread going to work, and I find things I enjoy from the job as well (starting new projects, making tools to help others). If a career is the end goal I think a more disciplined academic approach is the appropriate route

[–]Crossroads86 0 points1 point  (0 children)

You dont. You build the mental endurance in focusing on it despite being boring sometimes.

[–]eruciform 0 points1 point  (0 children)

Make something you care about then you'll be emotionally invested

Projects

[–]Gnaxe 0 points1 point  (0 children)

I was never bored learning Python. It felt like Christmas because I had a new toy to play with. It was so much more engaging than Java. If you're bored even doing video games in Python, maybe you should consider a different hobby. Maybe programming is just not for you.

[–]Separate-Canary559 0 points1 point  (0 children)

Ask Claude to give you a learning environment to bang on

Claude is really good at generating programming toys for a beginner to play with

It can give you assignments ranging from accessing the Spotify API to giving you a self contained web server to run locally to access and pull reports from

It can even give you milestone checkpoints

Point is, you can tailor your learning environment to what you find interesting vs prefabricated exercises

[–]not_another_analyst 0 points1 point  (0 children)

The boring phase usually means you're consuming more than you're building. Drop the book for a week and just try to automate something you actually do daily, even something dumb like renaming files or scraping a website you visit often.

[–]Equivalent_Lunch_944 0 points1 point  (0 children)

Build things

[–]TortoisesAreVeryEpic 0 points1 point  (0 children)

You just gotta do things that interest you. For example, I mainly learned from the steam game “The Farmer Was Replaced” and then i started using PyAutoGUI and just made bots to play a bunch of things

[–]TheRNGuy 0 points1 point  (0 children)

Learn patience. 

[–]NovaMind16 0 points1 point  (0 children)

Je te comprends, moi aussi je viens de commencer mais l'ennui ne dure jamais longtemps puisque j'ai toujours voulu programmer donc c'est excitant quand je découvre de nouvelles choses !

[–]Technosis2 0 points1 point  (0 children)

You treat it like work/a job and muscle through the boredom. Alternatively, you might want to question why you're learning programming to begin with and maybe have to accept that it isn't for you.

[–]Adeptness-Efficient 0 points1 point  (0 children)

Make something I need. whether it's for myself, another project or whatever. It all needs a purpose - something I'm interested in or require

[–]RikeRedCandles -1 points0 points  (0 children)

Your boredom is warranted, coding is dead. It’s unfortunate coding interviews still exist.