• hades@lemm.ee
    ·
    1 year ago

    Advent of Code is a fun collection of programming challenges ranging from trivial to moderate. It starts every year in December (obviously), but all the past challenges are still available: https://adventofcode.com/

  • Blackthorn@programming.dev
    ·
    1 year ago

    Lol I feel so old reading these replies... I learnt copying BASIC games from magazines and typing them manually on the computer.

    But jokes apart, when it comes to learning, I think the best thing is to tinker with weather language you choose and don't worry about making the "right choices" since the start. Forget about writing "pythonic" code and don't worry about being "idiomatic": just build something. Building good software is not just constructs, but also knowning which subsystem to improve and when. That's what makes experience.

    When it comes to improving, you can dig deep into the language.

  • lysdexic@programming.dev
    ·
    1 year ago

    This might sound silly but I think that coding challenges like HackerRank, CodeSignal help me improve/learn programming.

    At first I thought they were utter crap, and recruiters used them to test candidates on artificial problems that matter nothing and reflected no relevant skill. I still do, they are awful at that. What a complete waste of time and effort.

    However, these coding challenges are like crossword puzzles. They present us with nonsense challenges that provide us with the opportunity to employ obscure programming constructs on a multitude of programming languages in a way that rarely happen in real world professional settings. I use them to explore obscure corners of standard libraries, solve the same problem in multiple ways, employ different idiomatic ways to iterate over data structures, etc. That's helpful in a way.

    • sizeoftheuniverse@programming.dev
      ·
      1 year ago

      They force you think of o(n) and train you better than anything else on how to write your functions (but not how to organise them).

      I have around 600 leetcode exercises solved, and there's a big difference in skill between the person i was before leetcode and the person i am now.

      • lysdexic@programming.dev
        ·
        1 year ago

        They force you think of o(n) and train you better than anything else on how to write your functions (but not how to organise them).

        I agree. I think it's all about blind spots. A software engineer spends most of the time reading code, and the changesets they write most of the time are not algorithms or any fancy iteration beyond doing a vanilla for loop over a collection. leetcode-type exercises tend to invert that tendency, and present us with challenges which we would only rarely tackle. It's a good exercise in the sense that it forces a type of usecase we don't often use. Still, their practical usefulness beyond coding crossword puzzles is very limited.

  • derpgon@programming.dev
    ·
    1 year ago

    I keep up with all the tech news and new shiny stuff via daily.dev. It's pretty cool to read a few articles when commuting to work, or when taking a shit.