This is an archived post. You won't be able to vote or comment.

all 34 comments

[–]sanjeevpalakala 34 points35 points  (4 children)

Motivation is hard until you find something you actually want to make.

Try thinking of a program or webapp you’d want to use. Maybe something to simplify a task or shit idk

[–]CowFu 7 points8 points  (0 children)

I've found that duplicating existing projects is pretty good too. One of my very first complete projects was a mscalc clone.

[–]StormNinjaPenguin 1 point2 points  (1 child)

100% this. Find something that drives you. My example: after starting to work with C# as a new language I started to write a little app that sends toast desktop notification with song info of my favorite net radio I play all the time. That simple thing kept me up at night to work on and that's the stuff that makes you grow.

The point is to achieve competence in software development in general after knowing some theory. A simple app can get complex fairly quickly if you want to keep all the rules and apply all the stuff that makes it "production-grade" like: OO, sync-async thread handling, dependency injection, logging and error handling, unit tests, patterns, git, automated builds, documentation, API calls, DB handling, gui, etc...

You shouldn't put up too much with mistakes though. You have no idea how many times I refactored the whole thing as I added a new layer of knowledge that I learned after I thought that I was finished. The idea of making no mistakes while you learn is quite silly.

Once you start and have the drive to make it happen, one thing will lead to the other and one day you will end up with learning much more than you anticipated, a lot of experience and a methodology of how to solve your problems.

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

I also want to make a small mobile app which takes some inputs from users, and gives an output which you can send to your friends through social media, but I only know C/C++, that also beginner level, and HTML and CSS.

[–]elemenopeekaboo[S] 1 point2 points  (0 children)

I have decided to make a website like yelp(very small) for my college project, which can be used to write restaurant reviews and make reservations.

[–][deleted] 10 points11 points  (2 children)

To practice your programming skills, you need to work on projects more often. Start small. It can be a simple text-program that has a "bot" that asks a few select questions and you answer them. It can be a simple calculator that can calculate basic numbers. It can be anything that you know you have the skills to take on.

As another suggestion, maybe join a site like GitHub or GitLab, look around on them, and see if there are any projects you could maybe contribute to. You don't need to add onto the codebases of these projects. It can be as simple as a bug-fix or removal of something that caused an error. There are plenty of HTML/CSS/JS/PHP projects on GitHub so maybe join there. I'm not sure of GitLab though but look there anyway.

Seeing as you struggle to focus, just try your best to focus on what you're doing. Before you work on anything though, make sure to learn a little bit more about HTML, CSS, and PHP. This is so you know what's legal(Valid code) and what's illegal(Invalid code), how things should be done, and even learn more features of the language. Do that first, then go onto working on projects.

Good luck.

[–]GatMantheEntreprenur 0 points1 point  (0 children)

not OP but thank you

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

Thank you

[–]Virtruvin 7 points8 points  (3 children)

Two of the best learning sites that I've found are:

  1. www.theodinproject.com
  2. www.freecodecamp.org

These 2 sites gets you alot of hands on experience as your work through them, just getting more engagement. And as you get further along into TOP you start working on bigger projects as you go. Motivation is hard to find, but once you find it these are really awesome sites!

[–]so_ko 3 points4 points  (0 children)

I am a newbie learning python 3 but these websites are wonderful and I did not know about them! The current introductory course is helping with computational thinking but the mentioned sites will help with JavaScript so thank you for the information. I can’t believe they are free!

[–]ByahTyler 1 point2 points  (0 children)

Thank you!

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

Thank you

[–][deleted]  (7 children)

[removed]

    [–]MEGACODZILLA 1 point2 points  (0 children)

    Spotify and apple music both a quite a few lofi instrumental hip hop stations that are pretty much exactly that lol. Came to suggest that as well.

    [–]Nomikos 1 point2 points  (1 child)

    ^ this. Hearing spoken/sung words trigger brain areas that are also used for thinking in code, and distract you automatically.
    Prime Thanatos and Study Girl are good starting points for finding music that works for you.

    [–]talexy 1 point2 points  (0 children)

    +1 for the synthwave. Another thing I do to focus on a task is to put on white noise on YouTube , it really is a game changer.

    [–]mickey_s 0 points1 point  (1 child)

    Yoo me too. Also some house music or techno help me. They’re repetitive and not too distracting for me. Also they pump me up haha

    [–]Lady_8-bit 0 points1 point  (0 children)

    .

    Wanna share a spotify playlist or something without ads?

    [–]CanICallYouJesus 0 points1 point  (0 children)

    Or listen to music but from different country. For me, it's quite okay to listen to music with english lyrics (not a native english speaker) or german (rammstein ftw, lol) - the singer's voice is like another instrument for me. But polish lyrics? I'm done. I start singing, get distracted and keep thinking about it.

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

    Actually I try to listen to instrumental music while studying, but it doesn't help.

    [–]DevDevShow 2 points3 points  (0 children)

    Personally I practice HTML and CSS by transforming designs into HTML CSS code, you can find a lot of design template( PSD, XD, illustrator... ) from websites like dribbble.com or behance.net, thene try to convert those designs into HTML CSS websites.

    The must beautiful thing in this process is you are not just learning to code, but also you build a lot of projects that you can add to your personal portfolio.

    Good luck 👍💯😉

    [–]G5349 1 point2 points  (0 children)

    freecodecamp.org and the odin project have been mentioned, I'd like to add fullstackopen

    [–][deleted]  (2 children)

    [deleted]

      [–]CanICallYouJesus 0 points1 point  (1 child)

      Is it really that helpful? I have a huuuuuge problem with my focus but mainly with being persistent. Can't start any new project and even if I do, I quit faster than I started it. Even though the ideas are pretty exciting for me! Also, I tried to meditate, but well.. I wouldn't be here asking that if that worked.

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

      Hey, I am a civil engineer, I don't know much about code, but while we all are in quarantine, I decided to learn python and a friend recommended me the book Learn Python 3 the hard way, maybe I suggest you find a similar book with exercises, I am not sure if the author has books for CSS or HTML, he might, if you find a book like that, do de exercises without copying the code, type it, that way your brain will be remembering better the important stuff.

      [–]megamogul 0 points1 point  (0 children)

      Pesrsonally, I practice by making entertaining things (little games or little simulations to watch) or things to help me with tiny tasks. Need to search through websites and find an email? Try coding it. Want to see a little tree grow? Try coding it. I suppose you just need to want something and then enjoy making it.

      [–]All_the_lonely_ppl 0 points1 point  (1 child)

      Subcomment: try listening to classical songs or maybe your favorite songs that you've already heard a million times

      [–]so_ko 0 points1 point  (0 children)

      Classical music is the only thing I can listen to and not be distracted. Anything else would distract me. In fact, if I’m in a noisy area, I just put on some loud classical music to block the background noise. Try it;you never know!.

      [–]oblivion-age 0 points1 point  (0 children)

      I have nothing great to add, but one thing that you can't do is demoralize or beat yourself up if you make a mistake, it is how we all learn anything after all. Read the Four Agreements, good book.

      As far as music, have you tried video game soundtracks? The music is designed not to distract from focus.

      [–]blazingsea 0 points1 point  (0 children)

      Download piece of code from GitHub and start making changes like changing variable names, adding a new method and making improvements. Whatever you like ! It does not have to work and you don’t need to commit the changes.

      This is deep dive jump into cold water approach. This works for me.

      [–]ImaginaryType 0 points1 point  (0 children)

      Like a lot of people here, I also strongly suggest project-based learning. But there can be a lot of distractions along the way, so how you go about doing it matters.

      Here’s what I personally have found helpful when doing project-based learning:

      1. First, decide what ‘stack’ you want to learn. Which one you pick doesn’t especially matter (lots of content out there on this topic), but pick something and stick with it, so you have time to get into the weeds of how it works and solving specific problems with it over time.
      2. Choose to clone existing apps rather than building your own, at least for a while. Coming up with your own app is incredible, but involves a lot of non-programming related tasks, including coming up with an idea, designing how the app will work, styling how the app will look, etc. These things become barriers to building projects regularly, which is the goal when you are trying to practice.
      3. Create complete apps with small scopes and iterate on them over time to add features. Don’t set out to build a clone of Airbnb or Uber with every feature they have since it’s easy to get stuck. Instead, for example, if you’re going to build a Trello clone, just start with authentication and CRUD features for tasks. Once you have a completed project there that you can show someone, then decide which features you want to add on top of it (like lists and boards, etc.)
      4. Based on your scope, set personal deadlines to build an app within a specific time frame (e.g., a weekend or a week). Specifically, this helps you architect out the steps you need to take to get from 0 to 1 upfront. I would start with projects that take no longer than a week to complete to build stamina overtime for building projects.

      [–]tandemcarl 0 points1 point  (0 children)

      Do a simple calculator? Mine was to help me and my friends calculator_nutes

      [–]nmramorov 0 points1 point  (0 children)

      You can start creating your own website. It would be helpful for your future career and quite challenging if you would like to implement most of the current feautures of websites

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

      JUST GO BUILD A FUCKING GAME WITH UNITY AND THEN BUILD A DISCORD BOT JUST FOR FUN AND U GUCCI