The four phases of the typical journey into coding

  1. The Hand Holding Honeymoon is the joy-filled romp through highly polished resources teaching you things that seem tricky but are totally do-able with their intensive support. You will primarily learn basic syntax but feel great about your accomplishments.
  2. The Cliff of Confusion is the painful realization that it’s a lot harder when the hand-holding ends and it feels like you can’t actually do anything on your own yet. Your primary challenges are constant debugging and not quite knowing how to ask the right questions as you fight your way towards any kind of momentum.
  3. The Desert of Despair is the long and lonely journey through a pathless landscape where every new direction seems correct but you’re frequently going in circles and you’re starving for the resources to get you through it. Beware the “Mirages of Mania”, like sirens of the desert, which will lead you astray.
  4. The Upswing of Awesome is when you’ve finally found a path through the desert and pulled together an understanding of how to build applications. But your code is still siloed and brittle like a house of cards. You gain confidence because your sites appear to run, you’ve mastered a few useful patterns, and your friends think your interfaces are cool but you’re terrified to look under the hood and you ultimately don’t know how to get to “production ready” code. How do you bridge the gap to a real job?

Which phase are you in?

  • fool@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    12 days ago

    I don’t know why you were downvoted, but without being judgmental, you remind me of a certain someone when they were starting out on the ropes ;)

    If I had to surmise, you’re young and unsure of your skills. What should I do? I used to think. Is there a canon I should be following? I feel inefficient, like I code too long! Maybe I should use this language instead?

    And then I just gave up on tutorials and books and all that, and just bit down on… solving problems that I “made up”. And I don’t mean HackerRank whiteboard problems or turning buttons blue.

    • I had 50 million bookmarks – I made a Python tree view to comb through it all.
    • I wanted to share pirated books with my old phone – I made a teeny Python server (thanks, docs!).
    • I wanted to argue with my math teacher – I made a Python stats sim. (I was wrong.)
    • Installed Linux on my spare dino computer. (LMAO Lemmy moment. But seriously there’s so many problems to invent and solve – after some time, Linux is playing on easy mode)

    My pets never got past 500 lines of code. But when little me saw I wrote 500 with my own sweat and tears and StackOverflow army, I beamed – and it was very beam-worthy.

    Don’t fall into tutorial hell. Know the basic eight or ten things (how to store values, how to store procedures, how to store groups of each, how to interact with user/net/system) – and try to grab a real something, not easy but not too hard, and with fun before the work. Don’t belittle yourself. Find a rewarding fun both during and after the play – is it automation? a cutesy thing? It needs to pay to keep you playing.

    Hell, try using a whole Astro blog, or a C game that you can WASD in. Languages are just tools for jobs – it’s not how many you know but how well you know one. Because once you know one…

    If you even read this, downvote iff this was patronizing or totally wrong. I don’t know why I got this impulse.

    • dosuser123456@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      10 days ago

      it took me quite long to get my first ever game to work but it was worth it. i forgot to mention scratch there. i never really liked it but had to use it at school and that started everything…that first game was absolutely awful but i was just so damn proud of it being better than any of my classmates back in 2021, hehe.

      then i started making weird quizzes with batch, until i got a c64 emulator and moved on to basic (no more having to deal with cmd going all “[string] Is NoT rEcOgNiZeD aS aN iNtErNaL oR eXtErNaL cOmMaNd, OpErAbLe PrOgRaM oR bAtCh FiLe11!!1!”)

      im still very bad at coding but i dont care, i just do it for fun…nobodys gonna see my spaghetti anyways