• ilinamorato@lemmy.world
    link
    fedilink
    arrow-up
    107
    arrow-down
    1
    ·
    edit-2
    1 year ago

    “Stack Overflow and Google”

    “It’s Stack Overflow and Google”

    “Stack Overflow and Google”

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      That used to be a problem for me too, now I’m a senior dev and my day job is just criticizing junior devs for their code.

  • SokathHisEyesOpen@lemmy.ml
    link
    fedilink
    English
    arrow-up
    34
    ·
    1 year ago

    It is practice, but there’s a gift element involved too. My gift is that I enjoy ridiculously complex challenges. So I enjoyed learning and practicing code. Someone who doesn’t enjoy that, probably won’t enjoy learning to code, just like someone who doesn’t enjoy creating things won’t enjoy all the time it takes to learn how to draw well.

    • TheUnicornOfPerfidy@lemmy.ml
      link
      fedilink
      arrow-up
      11
      arrow-down
      2
      ·
      edit-2
      1 year ago

      This is maybe less of a gift than you think and can also be learned with practice. It’s about having a growth mindset. If you practice framing things in terms of growing ability then everything becomes achievable and the challenge becomes enjoyable.

      • IonAddis@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        Yeah, cultivating a growth mindset is really, really important. And it really is cultivating…you’ll have a hundred reasons why you “can’t” knocking on your door, and you’ll have to be persistent to slay each one.

        But once a “growth mindset” is habit, it gets easier.

  • 🐱TheCat@sh.itjust.works
    link
    fedilink
    arrow-up
    33
    arrow-down
    1
    ·
    1 year ago

    Its the same with drawing.

    Its funny how no one gets confused about lawyers having to practice law, etc. We need better PR.

    • bitsplease@lemmy.ml
      link
      fedilink
      arrow-up
      25
      ·
      1 year ago

      Blame Hollywood - every movie programmer is just a natural savant (probably on the spectrum) who operates a computer in more or less the exact same way a wizard operates a wand

      • Ddhuud@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        1 year ago

        That’s exactly what my mom sees when she can’t find her tabs in chrome, and I open edge because I figure that’s what she’s inadvertently been using since one of the windows updates.

    • TowardsTheFuture@lemmy.zip
      link
      fedilink
      English
      arrow-up
      15
      ·
      1 year ago

      To be fair, as someone who cannot see things in my brain at all, there is some amount of innate talent to drawing, but obviously as with everything it takes practice to make it actually good.

      • captainlezbian@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year ago

        Yeah it’s like how I am with mechanical aptitude. I had a bit of a head start, followed by decades of practice and instruction.

    • WarmSoda@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Ehh as an artist I disagree. Yes practice helps immensely and you’ll only get better with it. But there are absolutely levels of art you won’t get to if you naturally aren’t that good. You do need talent, too.

      There are tons of pieces I could never draw even if I practiced for a billion years, Groundhogs Day style.

  • Limit@lemm.ee
    link
    fedilink
    arrow-up
    31
    ·
    1 year ago

    I used to dabble in coding. Never done it professionally. To be a full time developer would probably kill me, I remember constantly thinking of how to build this or that function, or how to do a certain thing, or why something keeps failing. I’d constantly be thinking these things, in the shower, while brushing my teeth, while driving, it was making me insane. Don’t think I could do it professionally.

    • CoderKat@lemm.ee
      link
      fedilink
      English
      arrow-up
      26
      ·
      1 year ago

      Personally, I enjoy the problem solving. Debugging is fun once you’re good at it (and when there isn’t major time pressures).

      Professional software dev is also waaaaay more than just coding, too. And the more you do it, the less coding you’ll do. A junior dev might spend most of their time coding, but senior devs are spending a lot of time doing high level design, helping the juniors, and reviewing various kinds of things.

    • Demonen@lemmy.ml
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 year ago

      …well, I do that, and enjoy it, so I guess that’s why I feel like an impostor that has my hobby for a job. “If they figure out how much I enjoy doing this, they’ll cut my pay…”

    • smiletolerantly@feddit.de
      link
      fedilink
      arrow-up
      11
      ·
      edit-2
      1 year ago

      Well, the second I clock out I’ll stop thinking about how to solve a coding problem for work.

      (Instead I’ll start thinking about how to solve a coding problem for a never to be finished hobby project.)

      • Limit@lemm.ee
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        This seems more likely thinking about it, before I was doing coding as a hobby. If I was working on something at work that I wasn’t particularly passionate about I may not obsess as much.

  • xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    27
    ·
    1 year ago

    I wouldn’t say practice alone… I’d say practice and a particular predisposition. It takes a special kind of madness to see C++ compile errors and think, “I want more of this in my life.”

  • BaldProphet@kbin.social
    link
    fedilink
    arrow-up
    25
    arrow-down
    1
    ·
    1 year ago

    Every time I mention that I have a very modest ability to write code, people instantly think I’m a genius and can make a computer do anything.

    • pixelscript@lemmy.ml
      link
      fedilink
      English
      arrow-up
      17
      ·
      1 year ago

      We hired a greenhorn dev several months ago. He had two years experience at a larger company. I only have about five so far and my company doesn’t really pay all that well to field great talent, so I wasn’t hoping for the world. But we were expecting at least something a little above entry level experience.

      The guy did know how to write basic code. Frankly not to the degree I hoped for, though. Also lacked all auxilliary skills like effective use of version control, logging in to remote servers over SSH, documenting code with doc comments. He doesn’t even write particularly legible code without the formatter to fix it for him. Very sloppy with spacing, braces, etc.

      But those are all of little concern. Those could all be taught. It meant more effort needed to be spent in onboarding than we wanted, but it could be done. Helps that he has a very positive oulook on constructive criticism and he uses it to improve.

      One thing that I don’t think I can teach him in any reasonable amount of time, though, is how he mentally tracks the structure of the program he’s working on.

      When I program, every time I change anything, I construct a mental web of everything this piece of code might affect when changed, and the ramifications it might have. I think of neighboring code and concepts looking for patterns, and whether the new thing I’m adding or changing could be better expressed differently to leverage those patterns. I think of the future trajectory of the module or feature, and whether it would be advantageous to bake-in a certain kind of forward-thinking extensibility now rather than after it becomes partially entrenched later. And most of all, I think of how someone completely unfamiliar with this code might read it, and how I can improve the way it is written to make the most important parts stand out clearest.

      And when I’m debugging code, even if I see the problem and think I immediately know the solution, I still take time to read the surrounding code. I try to piece together the original bugged code’s intent. Is this onvious-looking problem the real problem? Or is it a poorly documented, poorly structured mess that looks like it wants to do one thing but is intending to do an entirely different thing? This hesitation has saved my ass on several occasions.

      New dev doesn’t do any of these things. He pulls a bug ticket, figures out what module or function is the supposed source of the problem, and bangs on it until the effects of the problem disappear. Little research done to understand what the intent of the code he’s altering wants to do, and even less spent on figuring out what downstream systems will be affected. And once he achieves his singular result, he just pushes it as-is. No cleanup pass, sometimes forgets to format it the way we ask him to.

      To be fair, it’s a big new codebase. I can’t expect him to reason around things he is not familiar with, nor would I think it reasonable that he study the entire codebase before touching it.

      I also don’t think these things can’t be learned. I had to learn them at some point, after all. But I do believe that people like myself and one of my fellow devs are more predisposed to picking these programming soft skills up, whether it be through nature or nurture or some combination. That, and I don’t think these kinds of soft skills can really be “taught” in the traditional sense. These are wrenches you can only really learn to dodge after being hit by a few.

      • meteorswarm@beehaw.org
        link
        fedilink
        arrow-up
        6
        ·
        1 year ago

        Ironically, as I’ve become more senior (11+ years at a faang company) I’ve had to do less and less of that “look around and understand everything” work because of time pressure. But I rely on my experience to be more confident that I can ignore the details and focus on the reason I’m in this file.

        Well, that, and if it gets too messy I give up and call in a junior engineer…

        • pixelscript@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Yeah, how much time you get to dwell on it will depend on lots of factors and the needs of your client/employer.

          I happen to work at a place where timeframes for fixes are quite lax, and the codebase I’m working with is slowly being recussitated from a decade of bad decisions from a D-tier web developer. (Dreamweaver was involved… let’s leave it at that.) I can imagine if you have a codebase that was somewhat competently designed from the start and/or your client/employer has a “I need this fixed yesterday or else your ass is FIRED” urgency, you don’t have time to dwell on such things. But it helps to have the experience that at least lets you do it a little bit rather than not at all.

  • AItoothbrush@lemmy.zip
    link
    fedilink
    English
    arrow-up
    21
    ·
    1 year ago

    I think its more about how some people can get really dedicated to one thing and others cant and those who are dedicated practice more so it looks like they are just better. And then there are 10x programmers. They are a different animal(get it?(furrys)).

  • Chriszz@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    1 year ago

    Some people are and aren’t cut out for it. A natural predisposition will take you very far.

  • Illecors@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    5
    ·
    1 year ago

    Practice alone only gets you so far. Think web dev.

    Some talent absolutely comes along if you want to do more than a [ complicated ] website. Think linux kernel.

    • flashgnash@lemm.ee
      link
      fedilink
      arrow-up
      12
      ·
      1 year ago

      I think you need to enjoy it to be good at it and I think you need a certain kind of brain to enjoy it

      Feel like it’s kinda telling that my dad and both of my uncles are also devs

  • Gentoo1337@sh.itjust.works
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    For anyone who wants some coding challenges, I’ll leave this image:

    If you’re interested in any of these topics, great. If you’re not, even better. The important thing here is to set task and push yourself to complete it.

  • Sloogs@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    1 year ago

    Even knowing this, I’m still both in awe and jealous of talented people. Some people I know who can practice so much that they become exceptional at something seem to be immune to burnout on their passions for long periods of time, or seem to have a brain chemistry that remains resilient in the face of it, and that ain’t me. I’ve suspected I have ADHD but it’s hard to get a diagnosis and my doctor said he’s hesitant to diagnose his patients even though he thinks it’s possible (and I’m in Canada where I’m lucky to even have an assigned family doctor so I can’t really get a good second opinion on that). Programming just happens to be one of the few things that I get burned out on the least compared to everything else and even then it’s hard to sustain interest in it for long periods.

    • danieljoeblack@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      I can relate with this so much. My friends joke that my hobby are collecting hobbies for that reason. I get excited about learning something new, practice enough to get passable good at it, realize how much more there is to learn to hit fully proficient, try to work towards it, and end up burning out.

      I thinking coding has stuck for me because you don’t really just learn programming when you program. You are typically making a tool for another skill or profession which means you end up learning alot about that different skill while building out a project. That I, for me, helps stop the burn out, because each new project comings with learning outside of coding directly.

      I like to think about programmers as the modern jack of all trades, but of course I’m biased.

      • writeblankspace@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        “my hobby are collecting hobbies” oh gosh that is so relatable. I simply cannot decide on a single hobby, and all of my hobbies end up getting lost one way or another - but even if I sometimes stop programming for months, I will always come back to it and just look at the magic of how fun it is when you solve a problem, because it’s different every single time.