• whereitsat@lemmy.zip
    link
    fedilink
    arrow-up
    6
    arrow-down
    3
    ·
    1 day ago

    imagine doing web development for a living and calling yourself a ‘coder.’

    you’re writing instructions for a web browser, not a computer, pal. you fear the computer and it’s language the same way you fear a black man from the islands when you venture through a bad neighborhood.

    there isn’t even a proper analogy for vibe coding because it’s so lame. imagine showing up to a jazz club and wanting to sit with a band but all you brought was your laptop with suno but everyone else is playing a real instrument.

    are you a musician?

    • Kairos@lemmy.today
      link
      fedilink
      arrow-up
      3
      ·
      22 hours ago

      TBF most of it is JavaScript which is actually code, but they shouldn’t be called coders for another reason.

    • dwemthy@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      21 hours ago

      What is web development if not coding? You write specially formatted text in a file with a particular extension and another program that knows how to read it makes the computer do things.

  • Zacryon@feddit.org
    link
    fedilink
    arrow-up
    49
    arrow-down
    6
    ·
    2 days ago

    I have worked with JSON very often and do not know, what ‘Stringify’ is. Reading it for the first time. Does it… convert anything to strings?

    Looked it up:

    The JSON.stringify() Method

    The JSON.stringify() method converts a JavaScript value into JSON text.

    https://www.w3schools.com/js/js_json_stringify.asp

    Okay JavaScript. Never worked with JS before.

    Also, didn’t knew web devs are considered ‘software engineers’ now. /j

    • 3abas@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      How is it that you worked with JSON very often and don’t know that it stands for JavaScript Object Notation or what stringify does?

      • Zacryon@feddit.org
        link
        fedilink
        arrow-up
        3
        ·
        23 hours ago

        I use it as a format for, e.g., config files or for serializing data in a human readable format. Mainly from C++, sometimes from Python or C#.

        Never in these years did I stumble over stringify.

      • Hobo@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 day ago

        Cause json has become ubiquitous in a lot of other contexts. Heck on a ton of Cisco NXOS implementations you can even pipe output to json in the cli. It’s also used in a shitload of application configurations now instead of a flat .conf file too. In fact when I really think about it, I haven’t touched JS in a long freaking time (like years), but have probably touch json at least once a week. I just don’t find it that far fetched that someone would be working with json daily and be incredibly divorced from it’s original implementation.

      • locuester@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        They didn’t say they don’t know what it stands for.

        They don’t work with JavaScript. I don’t deal with JS very often at all. I do know stringify, since I did a bunch of JS stuff back in the 2010s. But it’s not unreasonable for a dev to not know JS.

    • underscores@lemmy.zip
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      16
      ·
      2 days ago

      it’s funny seeing a gatekeeper talking about web devs not being a software engineer while also not knowing basic JavaScript

      📽️

      • mobyduck648@lemmy.world
        link
        fedilink
        arrow-up
        6
        arrow-down
        1
        ·
        2 days ago

        As a software engineer I avoid JS as much as possible frankly! Its typing semantics are genuinely horrible, personally I’d never consider eschewing typescript in this day and age.

        Then again I’m the sort of masochist who thinks we should all be writing Scala so maybe take this with a pinch of salt.

        • Upgrayedd1776@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          1 day ago

          with vibe coding, finding a library that is exhaustively covered is part of being successful. JS is very popular and llms like it, its sort of like moving to an aws shop from an azure shop, just different strokes for different blokes, as long as they leave the money on their way out

          • mobyduck648@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 day ago

            It’s not just about how many examples of a language exist in the LLM’s distribution though, dynamic typing is a poor choice if you’re using LLMs for software in my view because it turns compile-time errors into runtime errors which will only be caught if the LLM writes a suitable test; an area that they still leave a fair bit to be desired in.

            The whole virtue of dynamic typing is that it reduces cognitive load on the programmer, if you’re using LLMs there’s no reason to do that in my opinion, you’re offloading a bunch of cognitive load to begin with so expressiveness and constraint is more important than human ergonomics. Yes there’s loads of JS in an LLM corpus but a lot of it is going to be poor examples, because it’s generally quite easy to write JS badly. If you use typescript you’re at least forcing a few common hallucinations to produce compile-time errors which the model has immediate feedback for, and you’re giving the model more context on what it’s seeing.

            • Upgrayedd1776@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              i also find a robust docs SOT directory of big domains, fallow, madge, knip, ts, and an extra declaritive schema documenation layer on top of migrations schema to be a big help in grounding and keeping rails up

  • Avicenna@programming.dev
    link
    fedilink
    arrow-up
    167
    arrow-down
    2
    ·
    3 days ago

    alternative scenerio:

    Guy: “it turns javascript objects into texts in json format”

    Soldier: “He uses javascript, shoot the poor bastard”

    • Blue Label@lemmy.world
      link
      fedilink
      English
      arrow-up
      63
      arrow-down
      1
      ·
      edit-2
      3 days ago

      Alternative scenario:

      Soldier B: Soldier A asked a JavaScript question instead of a software engineering question. He’s not a real soldier, shoot him

        • Rose@slrpnk.net
          link
          fedilink
          arrow-up
          11
          ·
          2 days ago

          Name 3 UML diagrams

          Class diagram, use case diagram and… What was the useless, barely readable evolution of flowcharts called again? Activity diagram?

          and 3 architectures!

          MOS 6502, amd64, and… I’ve never figured out the ARM naming scheme. AAAAAAarch64 or something?

  • lime!@feddit.nu
    link
    fedilink
    arrow-up
    85
    ·
    3 days ago

    i’ve designed my own communication protocols that run directly on udp. i couldn’t tell you either.

    • MalReynolds@slrpnk.net
      link
      fedilink
      English
      arrow-up
      22
      arrow-down
      1
      ·
      3 days ago

      Ima guess it’s javascript-ese to turn a json object into a string, perhaps for serialization. But no clue, coding for decades but always hated js, I guess my way through with a linter and IDE when I absolutely, positively, cannot find an alternative, which seldom happens.

        • anomnom@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          9
          ·
          3 days ago

          Before yaml, I used json with Ruby it was way nicer to read than xml config files ( but way before that I started using it with PHP and Actionscript)

          • jaybone@lemmy.zip
            link
            fedilink
            English
            arrow-up
            10
            ·
            2 days ago

            Yeah you don’t have to be using JavaScript to use json. Yes I know it’s part of the name, but it’s just an object notation which is the other part of the name, and this has become widely accepted for use in nearly all popular languages and frameworks.

            • lad@programming.dev
              link
              fedilink
              arrow-up
              4
              arrow-down
              1
              ·
              2 days ago

              Are there any other languages that would also have Json.Stringify? I only read JS sometimes and never write those, so I may be wrong about that.

              JSON itself is fine, yeah

              • jaybone@lemmy.zip
                link
                fedilink
                English
                arrow-up
                2
                ·
                2 days ago

                To add to other replies, I think there are some Java libraries that use this method name, or close to it. It’s so common that the term is well recognized on its own, regardless of the exact method names in whatever library or language.

              • DaleGribble88@programming.dev
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                2 days ago

                Python has a popular library called “Flask” that uses stringify(). Although, python also has an implementation in its standard library called jason.dumps()

              • anomnom@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                2 days ago

                Not sure but with Ruby it was JSON.generate(ruby_array/hash/object).

                And it returned - JSON string of your argument.

          • DaleGribble88@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 days ago

            Holy cow! I don’t think I’ve ever met another developer who actually admits to using action script back in the day. Greetings fellow old person!

            • anomnom@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 days ago

              Yup pre iPhone front end development was all over the place. I actually started with Macromedia flash when it was still just a few actions. I think 1998-99 was the first time I used it. AS3 was a neat language though, I still kinda miss it now and then.

    • lobut@lemmy.ca
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      I refuse to believe you couldn’t infer what this is, you’re way too smart and you could definitely just guess.

      • lime!@feddit.nu
        link
        fedilink
        arrow-up
        6
        ·
        2 days ago

        turning a data structure into a string is usually called like “marshal” or “render” or “dump” or something, “stringify” doesn’t really imply anything except something about the json being turned into a string. for all i know it could be replacing all the values with toString’ed versions.

        • lobut@lemmy.ca
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          2 days ago

          doesn’t really imply anything except something about the json being turned into a string

          yeah that’s basically it, I know you’re leaning into your existing knowledge (of likely C-based stuff) but your line of thinking is about right about how you’re inferring things … naming and stuff gets a bit “different” or less serious when you go into JS land sometimes.

          What’s funny is if this were a real job interview question and you answered in the way that you did … the way you answered it told me more about yourself and your qualifications than just getting it exactly right

          • lime!@feddit.nu
            link
            fedilink
            arrow-up
            4
            ·
            2 days ago

            man if i have to hear about “hydration” one mare time…

            that’s exactly why i always prefer doing conversation-style interviews rather than quizzing people. knowledge is fine, but you only really get opinions by actually using tools.

            • lobut@lemmy.ca
              link
              fedilink
              arrow-up
              3
              ·
              2 days ago

              I much prefer conversational style interviews. I also like having them tell me about shit and then getting into the weeds of what they’ve been through.

              I’ve been through so many stupid quizzing type interviews. I remember one where they wanted to ask about covariance and contravariance and I roughly stated I learned about it when writing my own compiler and it’s about types and how one can follow the typing direction of typing, for let’s say parameter/return values and the other can go the other way but I forget which is which typically. The guy was like, “guess which one is which?” I said, “why? it’d just be a guess, I thought I demonstrated that I’m at least familiar with the concepts”, he said, “I can’t mark down you got this question is right unless you get the right answer” … I said, “let’s skip it then”.

              Another one was where he asked me if I knew “WPF” which is a Microsoft framework to write desktop apps. I said, “it’s not on my CV, and I’ve only used it at home a few times but you can ask me questions if you’d like”, he then said with a smirk on his face, “if you want to answer the WPF portion, and you get it wrong then you look bad, but if you get it right then you look good, so what do you want to do?”, I said, “I think this is up to you as an interviewer – I’ve told you where I stand”

              There was a lot of that … like based on THEIR questions – I don’t know shit … but they’re not quizzing my experience at all.

              • lime!@feddit.nu
                link
                fedilink
                arrow-up
                4
                ·
                2 days ago

                whoof.

                conversational style interviews can go wrong quickly though; i recently interviewed for a position where the conversation turned into the interviewer explaining how he’d connected everything in his rv to home assistant. i’m not really into home automation but the communication bit was at least interesting until he dropped that he’d let claude do everything and he didn’t actually care how it worked.

                • lobut@lemmy.ca
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  2 days ago

                  he’d let claude do everything and he didn’t actually care how it worked.

                  😱

                  I hired someone that recently put up PRs and when I asked what they were for, he had no idea … he hasn’t ran or tested a single one … just vibing everything.

                  When I saw his Terraform PRs … I was like, “show me how you run this”. I shortly found out he never had Terraform installed and didn’t know how to switch AWS profile at all. He let’s AI do everything. Also, he kept sending me AI convos and I was like, “if you send me another one without reading it first and summarizing it for me, I’m going to lose my shit”. He said, “I wanted to send you the proof” … I said, “you sent me half a page of nonsense where you didn’t respect my time enough to read yourself first”

        • Buddahriffic@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          2 days ago

          Another guess just based on the terms is it could be a method that throws your json object into a black hole and returns the version of the object that is stretched out to infinity.

          Though that’s just an optical illusion, in reality the object would be ripped apart by the gravity or extreme radiation, depending on whether it was a small or large black hole.

          Your guesses are more useful, but I can’t fathom what goes on in the mind of JavaScript devs.

    • ramble81@lemmy.zip
      link
      fedilink
      arrow-up
      5
      arrow-down
      2
      ·
      2 days ago

      I mean, that’s fine, right up till you have to communicate with something else. Given that 99% of APIs out there use JSON.

      • socsa@piefed.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        Lol, I work with far too many serial APIs which are just sending three hex bytes for a key and value pair.

        • ramble81@lemmy.zip
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          2 days ago

          Uh-huh, and where do you think most “something else that you would interact with” live from a computing standpoint. It’s not like you’re using X12 or HL7 everywhere.

  • _stranger_@lemmy.world
    link
    fedilink
    arrow-up
    31
    ·
    2 days ago

    Ugh, terrible memory unlocked.

    I asked someone a similar question in an interview once. They weren’t doing well and I wanted to end on a positive at least. I asked them to make a dict in python and for extra credit, turn it into a string using whatever library or method they want.

    This was not for a junior position.

    5 minutes of for loop insanity later they disconnected crying. I always felt bad for that guy.

    • lime!@feddit.nu
      link
      fedilink
      arrow-up
      22
      ·
      2 days ago

      when i last did interviews we didn’t do live coding, but chatted to applicants about things they liked about their preferred language (this was a consultancy position). people who actually like to program tend to have loads of opinions. juniors moreso. the less engaged people were with those questions, the worse the solution the their take-home task tended to be.

      a friend of mine interviewed a candidate who apparently visibly froze after every question, like it was a quiz. turns out they were being fed answers from people off-screen and those people hadn’t expected casual conversation. they were found out when they forgot to mute.

      • _stranger_@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        edit-2
        2 days ago

        I once had a candidate give the join link to the meeting out to several people (there were 3 unknown people in the call in addition to me and him). I immediately explained we can’t do the interview with all these other people on the call and he proceeded to try and gaslight me that there were no other people in the call, like he honestly thought he had jedi mind truck powers.

        I called over several coworkers to witness the clusterfuck, many lols were had.

        • Buddahriffic@lemmy.world
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          2 days ago

          Sounds like someone bullshitted their way through school to get a technical degree, not realizing that their bullshitting depended on the person they were bullshitting not being good or confident with technology, which gets rarer when you go into a technical career.

          • ulterno@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            17 hours ago

            which gets rarer when you go into a technical career

            Sorry, what?


            I have found it hard to find a place with a non-bulshitting trend.
            And it has become harder, the further I go.

            Maybe I’m just unlucky.

      • Buddahriffic@lemmy.world
        link
        fedilink
        arrow-up
        7
        arrow-down
        1
        ·
        2 days ago

        Haha I have also done an interview where the person had a friend in the room feeding them answers, though this one must have assumed his mic was worse than it was and didn’t mute at all, so we could hear the mumbling of answers. To make it even funnier, though, their friend wouldn’t have gotten hired either because none of their answers were good.

        I kinda wanted to tell them they should find a smarter friend to help them cheat at interviews but instead just thanked them for their time and ended the interview.

        Though tbh, I wasn’t really impressed by any of the new grads from the schools we were looking at. Some of them made me wonder if they learned anything at all about software development during their time at school.

        • mel ♀@jlai.lu
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          I think json.dumps would not work if there is a datetime in the dict, right?

          • _stranger_@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            Yeah there’s other edge cases too, like Decimal, but as long as you have those things imported when you send it through dumps it should work.

            • mel ♀@jlai.lu
              link
              fedilink
              arrow-up
              1
              ·
              1 day ago

              Just tried it in an ipython shell

              import datetime
              import json
              
              json.dumps({"a": datetime.datetime(1970,1,1)})
              

              And I got the TypeError: datetime not JSON serializable though.

              • _stranger_@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 day ago

                If you don’t care you can pass in default=str (I think) but if you do care you can define a function for what the string representation should look like and pass that in, but that’s a happy path case to be honest. I usually only run into this problem when something is logging unknown data (otherwise I prefer to model data like this so the IDE is happy) so I pass in the default=str just to get it functional.

                Duck typing usually works but, datetime man, datetime is the warp from Warhammer 40K, it will drive you mad.

  • porous_grey_matter@lemmy.ml
    link
    fedilink
    arrow-up
    69
    arrow-down
    1
    ·
    3 days ago

    Not sure every software engineer needs to know this. If they’d said web developer I suppose this would really be expected knowledge, but then you’d probably want to shoot them anyway.

    • SparroHawc@piefed.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 days ago

      Web developer, or business developer. A lot of inter-system communications these days is in JSON, whether there is any JavaScript involved or not.

      • kkj@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        24 hours ago

        Sure, but then you’d be using json_encode, json.dumps, Json.Serialize, etc., not JSON.stringify.

      • Jakeroxs@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        Do people really conflate json and javascript normally though? Java and javacript I get but no one actually says the full json acronym and it basically has an identity of its own.

    • Waterpumpee@lemmus.org
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      3 days ago

      honestly, this is used for debugging. Why not just pass the object as value to the console.log()

      • jaybone@lemmy.zip
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 days ago

        Stringify is used to serialize an object. This is useful if you are going to store the object or transfer the object contents to some other system or component, possibly over a network using a network protocol.

        For debugging, you should use a function like console.log, which depending on the client might even offer an interactive UI to explore the object with structurally aware context. Not just print a giant string, which you get from stringify.

      • TrickDacy@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        Not only used for debugging and also if you log a complex object, the way it gets displayed in the console is not always easy/possible to fully inspect. It will get… truncated for lack of a better word

    • Funkt4st1c@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      2 days ago

      A lot of info going through the network is either using or converted to either json or xml. If the software being developed is entirely local, then sure

    • Pup Biru@aussie.zone
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 days ago

      i agree but hate to add the caveat that it (well, typescript) these days is by far the language that i’m most productive in, with the fewest bugs

      it took me a long time to admit that to myself

      it’s still a human rights violation

      • iocase@lemmy.zip
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        2 days ago

        It is my GOD given RIGHT to pull half of NPM through MY MACHINE (and get compromised by 500 different MALICIOUS packages) due to my NEED for the MOST up to date PACKAGES!

        I WILL have my hourly update to iseven() or I WILL have DEATH.

        “There’s just no way to prevent these kinds of attacks” says only language where this consistently happens.

        If you ARENT updating your libraries every 15 MINUTES are you even a REAL PROGRAMMER!?

        I MUST get ALL of the latest vulns and exploits on my machine NOW!

        I’ve even written a script to change my API tokens for me since they get STOLEN so OFTEN because my OTHER SCRIPT updates NPM dependencies CONSTANTLY so I can ALWAYS be the FIRST to PULL IN the newest MALWARE.