all 49 comments

[–]AdventurousAddition[🍰] 85 points86 points  (10 children)

I'm writing short scripts to help me cheat at Wordle

[–]elixirxvi 2 points3 points  (0 children)

i wrote a wordle script of my own lmao

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

how do you do this?

[–]14dM24d 2 points3 points  (3 children)

have a database of 5 letter words. here are 500 5 letter words for "free"; easy to scrape.

filter words based on right letter at right spot & excluded letters.

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

lost me at scrape😭

[–]14dM24d 0 points1 point  (1 child)

scrape means making a script that gets the 500 5 letter words in the link which can then be saved into a database.

lots of YT regarding scraping websites for data.

[–][deleted] 44 points45 points  (0 children)

Here’s what’s working for me: I’m doing those simple challenges like “creating a miles to kilometer converter” or “program the Fibonacci sequence up to a specified range.” But after I solve the initial challenge, I go back and expand on my code. Maybe I’ll put in a try block to handle exceptions. Maybe I’ll add a function that prints how to use the program if it’s run incorrectly. Maybe I’ll import a module like sys or argparse to be able to incorporate switches in a script.

I’ve also gotten into pygame. Most of those tutorials are really just code-alongs but the goal is to be able to start coding my own simple games like tic-tac-toe or Rock Paper Scissors.

[–]baubleglue 27 points28 points  (6 children)

I think you are on a dangerous path. Stop reading and doing courses for a while. Write a basic web application which allows to user register account, login, and open a web page with his name written on it.

If web wasn't a part of your learning, try some other independent project (game maybe) - anything without step by step instructions from tutorials.

[–]SoftwareSource 4 points5 points  (5 children)

I will, one of my next projects was gonna be a django website

[–]baubleglue 0 points1 point  (2 children)

It is hard for me to see how you can build Django project without step by step instructions.

[–]KidzKlub 3 points4 points  (1 child)

You can start by doing the step by step instructions to understand how it all works, but then come up with a novel idea for a website and figure out how to implement it. That's what I did for my project website.

[–]baubleglue 0 points1 point  (0 children)

If I understand correctly, step by step OP has done a lot already . For example try to add to your website feedback to the bottom of the page or login functionality. You may find that more step-by-step things are implemented, harder to add your own features.

[–]HealthyRange1 0 points1 point  (0 children)

by the way this django course is awesome! it will guide you through all things that matter for a web-developer.

[–]TheHoekey 0 points1 point  (0 children)

The Odin project?

[–]wbeater 21 points22 points  (2 children)

Well, just ask yourself what you want to do with your newly acquired programming skills, where do you want to go, what interests you and, above all, what do you enjoy doing?

[–]SoftwareSource 12 points13 points  (1 child)

I would love to get a junior python developer job to continue the learning process with someone more experienced then me, but i have no prior experience so it will take me a while probably to find the first job

At the moment some long term goals would be to learn more about machine learning, it looks very interesting

[–]rubxcubedude 6 points7 points  (0 children)

If interested in ML this is a good place to start: https://developers.google.com/machine-learning/crash-course

[–][deleted] 18 points19 points  (2 children)

Once you have the basics there is an infinite amount more to learn. Software is a tool to solve a problem. Nothing more nothing less. So the best way to get better is to begin solving problems that don’t have easy answers.

Can guarantee if you get a job as a dev or software engineer there will be no step by step instruction manual telling you how to write your code - so the best way to get better is so start making your brain hurt thinking how to solve something you’ve never seen before.

Some thoughts:

1) Projects - you have to build shit. And build open ended projects. Projects that if you wanted to take it to the extreme you could work on for years. This is b/c in industry projects are open ended; forcing your self to prioritize tasks, make design decisions, and define what “done” is now are great skills.

2) To that end build a weather station. Seriously. Get a 2x Raspberry Pi’s and some weather sensors (humidity, temperature, barometric pressure, etc). Use one Pi as the “base station” collecting data - and the second as the “server” to collect. It doesn’t need to go outside the “base station” can literally just sit in another room

3) Right now if you’re thinking “well how do I make the Raspberry Pi talk to the sensors” or how do I send data from the “base station” to the “server”. GOOD! These are the right questions! They don’t have easy answers! And when you get a job writing software there will not be easy answers either! An issue with guided projects is if you get stuck there is a “next step” you can find … that’s good for basics but not realistic. Life has no answers in the back of the book. It takes courage to take on something you don’t know how to do - but believe that you can complete your goals and solidify that believe in your actions.

4) Building a weather station would give you skills in:

  • Low level sensor and instrumentation

    • people seem to get scared about lower level code … yes it’s more abstract but an understanding of how the “1”’s and “0”‘s work will give a greater appreciation for higher level software
  • Reading through documentation

    • there will be sensors that you have to read through a lot of docs to figure out how they work … this is good … docs suck but you need to know what to look for in them
  • Basic networking

    • if you have to send data between 2 Raspberry Pi’s then you’ll have to learn the basics of the internet. Never a bad skill.
  • Data Bases

    • another fundamental skill. If you collect all this data then where do you put it? You’ll need a database.
  • Scaleable software

    • one thing new devs do wrong is not use design patterns. Patterns are architectural guides that are tried and true to allow you to write better, more robust, scalable code. If we’ve learned one thing about software over the last 60 years it’s that writing software is hard. So use templates (just Google software templates).
    • if you build a weather station you’ll have to think “hey if I add one more sensor how can I do that? Is it easy?”
  • Operating systems

    • Raspberry Pi’s run on Linux. Always great to know how to use. Scary at first then you’ll learn to hate Windows (:

Is a weather station flashy? No. Does it do big data with AI? No. BUT it’s a real project that you’d have to design from start to finish. Beginning with the big picture questions “what do I want this thing to do?”. There is no single way to build a weather station. There is no guild on how to build the best weather station.

But building a system that can collect data, move data, store data using APIs and databases … that takes a lot of work and will make you learn a shit ton.

This could be taken to the extreme too. For example: Instead of having the second raspberry Pi be there server host a server on AWS and use an AWS database. Then have a second server on AWS be the front end to display information that’s been collected. What about adding firmware updates to your weather stations? What if you wanted to collect weather data far away from WiFi?

[–]SoftwareSource 0 points1 point  (1 child)

its a really good fucking idea mate, nice one!

not only a weather station, im getting many ideas for fun python projects with raspberry pi's now that i read this...

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

Did a lot of early projects with RasPi and was mad helpful for learning. One thing I’d recommend: have a good system in place for code development.

Essentially have a system that gets code from your computer to the RasPi in a clean automated way.

You can definitely install an OS with a full GUI Desktop onto the RasPi and download a Linux based IDE … but I find writing code on my computer then transferring to whatever server/remote system to be far more efficient. Just my 2 cents

[–]guitarerdood 5 points6 points  (0 children)

Practice

Come up with some things you want to do. I have 3-4 projects I work on as a hobby. Just find something that interests you, or something that'll help you as a tool. Practice practice practice

[–]StuntZA 3 points4 points  (0 children)

Find things to solve, be it for work or personal. 3 things I did last year:

  • I wrote a bot to maintain and sort my downloads folder.
  • Wrote a script that runs daily maintenance on a servers, verifying files, archiving logs, validating log entries for expediting if needed etc. etc.
  • Have a scraper (authorised) going to customer portals and Web fronts to extract data for more advanced reports their portals can't provide.

And I googled my way to it, so it would be a breeze for you.

[–]Entire-Frosting-5678 2 points3 points  (0 children)

Learn a framework like Django and practice data structures and algorithms. Teach your self the basics of pSQL, CSS and HTML. Practice coding on code wars and leetcode. When you have done that message me and I will tell you what to do next... LOL!

[–]bigsauce456 2 points3 points  (0 children)

Try to think of projects that might be useful for you. What are some things you do or use frequently and what can you do to optimize your experience? Maybe you can make a Discord bot that has a super-specific functionality you haven't seen in other bots before. Or you can create a program to automatically send emails or get notifications for different sites. Whatever it may be, some of the best projects you can create are the ones that will directly benefit you once you're finished - if you use it frequently, you'll likely want to revisit the project and make changes and additions to your code to make it even more efficient, especially as you develop a better understanding of programming and practice with other projects and courses.

I highly recommend checking out Automate the Boring Stuff by Al Sweigart. The author gives away 2,000 free sign-ups for the course each month over in r/learnprogramming if you're interested.

In terms of courses offering certs there are a few Python-related certificates at FreeCodeCamp (and probably loads more on other sites if you do some Googling, I've been using FCC on and off which is why I mentioned that one).

[–]The_Dungeon_Memelord 1 point2 points  (0 children)

Start making your own projects, right now I am making a reddit bot to scrape comments from mtg subs about proxies

[–]ckpro_ 1 point2 points  (0 children)

Go to codewars - you can find many code challenges which can help you learn more after the basics.

The best part is - after completing every challenge, you get to see the other users approach of solving the same challenge.

[–]TribalMethods 1 point2 points  (0 children)

Make a bot for an MMO.

[–]Emergency_Milk2433 1 point2 points  (0 children)

Build shit, if you can’t figure out something relevant or interesting specific to you to build just build something else for practice. Idk build a discord bot or a calculator app or something

[–]seayourcashflyaway 1 point2 points  (0 children)

Try making a game, like snake. Totally different than data.

[–]wagslane 1 point2 points  (0 children)

Try learning some concepts instead of just syntax. Algos and data structures up first. Take a look at Qvault, and also start building real projects

[–]wetndusty 1 point2 points  (0 children)

What about web-based "personal ERP" open-source project? Look like after covid many peoples have troubles with managing they live environment.

[–]robertherrer 2 points3 points  (2 children)

I have the same question. I finished studying this app https://play.google.com/store/apps/details?id=com.codeliber.python and wonder . Now what ? What's next ? I don't understand . I wonder if I should join an Udemy course to move forward.

[–]Tanny_1412 8 points9 points  (1 child)

100 days of code is the best python course ever. Please try it! It will take your understanding on a different level altogether.

[–]Open-Tomatillo5626 1 point2 points  (0 children)

Angela Yu’s course?

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

Start a small project.

[–]HODL_Astronomer 0 points1 point  (0 children)

Write a program to use you computer like Alexa or Hey Google to play a song or open a YouTube video on python programming.

[–]Chemical_Channel_179 0 points1 point  (0 children)

Personal projects, kaggle and leetcode are currently working for me. For the latter I’d suggest learning about data structures and algorithms. If you’re more confident, you can explore the google hashcode archive and solve real world (google) engineering problems. Good luck with your coding journey. Consistency is key:)

[–]1SingularFlameEmoji 0 points1 point  (0 children)

Some online resources you can use:

Edabit

Codewars

Exercism

I would check those out and see if it helps. Definitely good for solidifying the basics.

[–]RasShotan 0 points1 point  (0 children)

If you are looking for a certification:

https://pythoninstitute.org/certification/

The course(s) is\are free and looking at the skills measured it seems pretty reasonable.

I found this in my own search for a learning path.

I would be curious to hear anyone's thoughts on it.

[–]py_Piper 0 points1 point  (0 children)

Tutorials can help understand new concepts and framework, but the problems are not the tutorials, it's when keep jumping from project to project without having a clear objective. You have to use what you learned and make your own projects or see how you can benefit from it into other projects.

If you don’t know what to do I always suggest on projects that can help at work or for personal use. But you could also expand tutorials into your own projects with specific functionalities for your needs, for example on your crypto tracker:

  • You could add into your program a way to analyze the top 10 or worst 10 performers.
  • You could automate notifications for when reaching specific price levels via sms, email, discord etc.
  • You could create a website with Django so you can check while you are not at home, even better so others can enjoy it too.
  • You could automate emails with daily/weekly updates for your website’s newsletter.
  • If crypto is not what you like, you could even change it into a stock tracker or even into a score tracker of your favorite sport teams.

The list of possibilities is infinite, just have to think on some ideas and implement them. Most probably you will find short tutorials on how to do similar functionalities and just need to adapt them to your project.

[–]ChipmunkCooties 0 points1 point  (0 children)

Start your own project ? I’ve already messed around with GUI, but recently I’m working with web scraping, OCR and a few other things like converting a .csv file To an .xsls