I have tried for 20 years to get into coding, and among adhd and having 10 million other projects going on, just could never get it beyond absolute basics and knowing some differences between languages.

Now it seems every tutorial I see is really just clicking around in a gui. Very little actual typing of code, which is the part I actually find cool and interesting.

So my question is, since everyone on lemmy is a programmer, what do you guys actually do? Is it copying and pasting tons of code? Is it fixing small bugs in Java for a website like “the drop down field isn’t loading properly on this form”?

I just dont get what “a full stack developer sufficient in sql and python” actually does. Also i dont know if that sentence even made sense!

    • snoons@lemmy.ca
      link
      fedilink
      English
      arrow-up
      35
      ·
      9 days ago

      This should work… it doesn’t. What? Why the hell not… omfg.

      This should work… it doesn’t. What? Why the hell not… omfg.

      This should work… it doesn’t. What? Why the hell not… omfg.

      This should work… it doesn’t. What? Why the hell not… omfg.

      This should work… it doesn’t. What? Why the hell not… omfg.

        • Nibodhika@lemmy.world
          link
          fedilink
          arrow-up
          9
          ·
          9 days ago

          I’m more scared of this one, “it should work but doesn’t” means there’s something I’m missing, usually small, maybe I forgot to change one function call or an import. “it shouldn’t work but does” means there’s a huge misconception in how the thing actually works.

      • pinball_wizard@lemmy.zip
        link
        fedilink
        arrow-up
        6
        ·
        9 days ago

        There’s a zen peace that comes after realizing the customer is out of their mind and will change their mind tomorrow, anyway.

  • 𝓹𝓻𝓲𝓷𝓬𝓮𝓼𝓼@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    62
    arrow-down
    1
    ·
    9 days ago

    A “full-stack developer” is someone who can do front-end / UI work (HTML, CSS and Javascript or whatever the frameworks and tools de jour are nowadays if we’re talking webdev), back-end work (APIs and “business logic” and all the stuff users don’t see), and often storage and infrastructure work (manage databases, write and optimize SQL queries, put things in buckets, get your code running on AWS / k8s / a pack of gophers / whatever)

    that is

    someone who wears too many hats and isn’t paid nearly enough by a company that doesn’t want to hire 4 engineers

    • MagicShel@lemmy.zip
      link
      fedilink
      English
      arrow-up
      26
      arrow-down
      1
      ·
      9 days ago

      I’ve been a full stack developer for nearly thirty years. They keep adding so much to the stack that these days I will only claim to be a Java developer. I know way more, but there’s no point in laying claim to it. I can do JavaScript, css, and typescript, but I don’t really know react and I don’t want to because it’ll be replaced in another five years anyway.

      I have worked with so many CI/CD systems and there’s a new one around every corner and what you know for one doesn’t apply to others.

      Like, whoever you hire is going to take months before they are able to do significant stuff independently and 2 years before they can do the full scope of the job you hired them to do, and most folks are looking to move on after 2 years. About the time they’ve been around for a full Java/spring upgrade, build system change, and you’ve moved cloud providers, they will have encountered every problem often enough to know everything they need.

  • Weirdfish@lemmy.world
    link
    fedilink
    arrow-up
    49
    ·
    9 days ago

    I write code in a niche industry, in an even more niche language.

    With 20 years experience I am finally at the point that much of my stuff works without too much headache.

    Unfortunately, now that I’m finally good at it, it’s become a much smaller part of my overall job.

    Nothing I look forward to more than being left alone for a few hours with my headphones on banging out a project.

    • AnarchoSnowPlow@midwest.social
      link
      fedilink
      arrow-up
      22
      ·
      9 days ago

      That’s the most hilarious thing about being good at being an engineer it seems. I’m more than 10 years into my career at this point and I spend more time correcting other people’s work and outlining the technical work that needs to be done than writing things myself these days.

    • robocall@lemmy.world
      link
      fedilink
      arrow-up
      14
      ·
      9 days ago

      “hey instead of working on the projects that you are responsible for, can you spend your whole week answering 10 peoples complex questions since you’re the only one that can answer them”

      • LedgeDrop@lemmy.zip
        link
        fedilink
        arrow-up
        4
        ·
        9 days ago

        But from the companies perspective this is a net-gain.

        You’ve just unblocked 10 people so they can continue to work… and even if their weekly individual productivity is 25% of yours, combined they’re doing more than twice the amount of work you’re doing and it only cost the company a week of your time.

        Yeah, at times it’s frustrating and distracting, but hopefully you’re getting compensated for the knowledge you bring inaddition to the work you deliver.

        • KubeRoot@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 days ago

          Yeah, answering questions and debugging issues sounds great to me… As long as the employer acknowledges that takes time and work, and brings value. And also somewhat acknowledges it as a proper role, and not something being done “in the meanwhile”/“on the side”, since just interrupting work to answer questions knocks you out of the flow, so to speak.

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

          …and then you get reprimanded for lackluster productivity (judging by progress on the projects on your own plate). 😑

          You lifting up others doesn’t translate to losing yourself up, unless there is (unusually) healthy culture about that in your company.

          • LedgeDrop@lemmy.zip
            link
            fedilink
            arrow-up
            3
            ·
            8 days ago

            You have a good point… and I’ve worked on both sides of the fence. Currently, I’m at the “healthy culture” camp, but it wasn’t always that way.

            While I was working at companies that had a not-so healthy culture, there were things I did to “bring visibility” to these non-work tasks. However, I should add that at these types of companies didn’t really offer a lot of financial compensation for this non-work, but at no-time did anyone challenge my productivity.

            Basically, I’d suggest:

            1. Be (technically) opinioned and make it visible. Often, it’s not your boss you need to impress (as they see your work every day), it’s your boss’ boss. If you have a reputation within the company as a guru in something, it’s easier for your boss’ boss to “see” that you’re bringing “value” outside of you day-to-day tasks.
            2. Bring visibility to these (side quest) discussions. At one company, I created a chat room to use as a sort of “technical self-help”(for all Engineers) and any DMs I got, I would ask them to funnel the discussion into the chat room. I asked them to do it “so others can find the answers to similar questions” and more importantly “to bring visibility to these discussions”. You, your boss, your boss’ boss can see how much time you invest in these topics and they can see that this help does not come for free.
            3. If your not meeting your goals (or are stressed out) , due to these side-quests - tell your boss. Explain (as early as possible) that project X will slip if you keep focusing on unblocking others and let them decide what to do. If you followed-up with Point 2, you’ve got concrete evidence to justify where your time is being spent.
            4. When people ask you “what are you doing?” (like during your Stand Up). Do not answer “nothing” or “supporting others”. Be detailed, mention the actual technical topics (and if you’ve got this chat room, reminding yourself is much easier).
            5. Last bit, which might not be helpful. If it’s the same questions or some fundamental misunderstandings that your often answering: maybe offer a Dogo/training for anyone who’s interested. When you offer it, shout it from the highest tree top - it’ll go far in establishing yourself, in the company’s eyes, as a guru (even to those who don’t understand the topic) and it’ll (helpfully) reduce the amount of questions in that topic.
    • chunes@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      9 days ago

      I’m curious what this niche language is if you don’t mind sharing. I love niche languages and always enjoy hearing about them being used in industry.

      • Weirdfish@lemmy.world
        link
        fedilink
        arrow-up
        13
        ·
        9 days ago

        I work in corporate Audio Video, and program in all the main AV languages. I specialize in AMX / Netlinx, but do Crestron, Extron, and various DSP programming as well.

        Tie it all back to web applications where I primarily use PHP.

        Been learning Python as that looks to be where things are going in the next 5 years.

  • FishFace@lemmy.world
    link
    fedilink
    arrow-up
    38
    ·
    9 days ago
    1. Identify a problem. (User wants do something and can’t, something that is supposed to work doesn’t, someone wrote shit code that works and we want to fix it)
    2. Get more info about it: ask users for more context, find out about their workarounds, assess the impact of the bug, find solutions to similar problems. Get together with others and hash out some design.
    3. Do the coding. Often involves a bunch of reading documentation and trial running code to see if it works
    4. Come up with a way to confirm the change does what it’s supposed to: write a new automatic test, or a procedure a person can follow to verify it works
    5. Write a description of the change and test plan
    6. Get someone else to check what I’ve done and make any changes they ask for (as long as I agree)
  • _stranger_@lemmy.world
    link
    fedilink
    arrow-up
    28
    ·
    9 days ago

    10 Get told to stop working on whatever I’m working on, some tech debt just became tech foreclosure.

    20 Some new problem is now problem number 1

    30 Get about 70% done fixing the problem (it’s functional but ugly, just need to wrap up this mess so it doesn’t become tech debt…)

    40 GOTO 10

  • AA5B@lemmy.world
    link
    fedilink
    arrow-up
    23
    ·
    edit-2
    9 days ago

    I’m a DevOps guy and seem to spend most of my time fixing AI slop. It’s supposed to mean automating builds, tests, scans, deploys, compliance, etc, so the other developers can focus on product code and all the process just works

    First of all, there is no graphical stuff. That’s just for simple learning sandboxes.

    We have an IDE - Integrated Development Environment. You can think of it as a glorified text editor. We type code in text and it gives us the equivalent of spellcheck, grammar check, autocomplete. They usually colorize the code so you can see structure, match parens and quotes, and other low level assistance. But it gets much more useful with integrations to version control, scanners, build tools, download dependencies . You can click to build, test, scan, commit. They’re usually tons of other tools to make life easier.

    But code is cheap and easy to write the first time: much more expensive to fix. Maintenance over time is far more expensive than writing it.

    So now we have AI as another tool integrated into IDEs, and it is somewhat useful for generating new code based on patterns from previous code. But it’s never good enough to be an end result. A good developer can use the ai to get a jumpstart on new code, iterate it to get better, and almost always have to use their own knowledge to finish it to a working, maintainable result.

    So I have a bunch of junior developers in another country, just directly checking in ai slop. They don’t seem to be experienced enough or diligent enough to recognize when it needs more work. Which means I need to spend a lot more time on code reviews trying to figure out the unorganized mess, give the same feedback over and over, review the same code many times, and inevitably spend much more time on bug fixes for their mess than I would have taken implementing it myself.

    The thing is ai is not good at bug fixing. You can try to have it summarize the code, or compare it to best practices but it can’t really help figure out what’s going wrong and how to best fix it. Especially if the original code is ai slop to begin with. So I don’t even get any advantage from it

  • pinball_wizard@lemmy.zip
    link
    fedilink
    arrow-up
    21
    ·
    edit-2
    8 days ago

    since everyone on lemmy is a programmer

    Just because I’m on Lemmy, does not make me a programmer.

    I mean, I am a programmer.

    But not because I’m on Lemmy. (I think.)

    what do you guys actually do?

    I say “please” in various ways that computers understand.

    Is it copying and pasting tons of code?

    Well… Yes, but with a lot more swearing at the computer.

    But I’m very good at it, so I copy and paste very small amounts of code very cleverly.

    Is it fixing small bugs

    I fix small bugs, huge bugs, critical bugs, and intermittent sneaky bugs. I get paid either way.

  • salvaria@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    16
    ·
    9 days ago

    I’m a data analyst, not so much a developer, but in my work I write SQL, DAX, and M code. My job involves sales people telling me what metrics they think they want, delivering those metrics, then being told to make different metrics because the ones I delivered didn’t play into their narrative 🙃

    • DominusOfMegadeus@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      9 days ago

      Are you looking for a job? We’re hiring a data analyst and an architect I think. And sales can get fucked, we have an Analytics department supporting client success, with teams presenting ROI reports to clients and/or analyzing incoming data for variance etc. We need solid people, with real experience.

  • kescusay@lemmy.world
    link
    fedilink
    arrow-up
    13
    ·
    9 days ago

    I… write code. It does stuff. Usually the wrong stuff, until I’ve iterated over it a few times and gotten it to do the right stuff. I don’t “click around in a GUI.” If a tutorial is making you do that, it’s a bad tutorial.

  • 1984@lemmy.today
    link
    fedilink
    arrow-up
    12
    ·
    8 days ago

    Pointless meetings.

    Pointless and harmful forced commuting to and from office.

    Pointless agile ways of working.

    Pointless managers.

    Pointless eating expensive lunch.

    Pointless learning of frameworks that gets replaced in a year.

    Pointless forced team events.

  • Quazatron@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    9 days ago

    Something something Jira something scrum agile Confluence something another meeting something hit tab and let copilot do it and repeat.

  • Pechente@feddit.org
    link
    fedilink
    arrow-up
    10
    ·
    9 days ago

    I‘m working as a freelance web developer with creative agencies to create websites or applications and maintain existing projects. Mostly in PHP with a frontend written in HTML / CSS and some JS.

    I also had trouble getting into coding initially since I’m a pretty visual thinker but a university course called „coding for designers“ that taught programming in Processing finally got me into it. In it you didn’t start with a boring ass calculator but make pictures and later games with a simple IDE.

  • flamingo_pinyata@sopuli.xyz
    link
    fedilink
    arrow-up
    10
    ·
    9 days ago

    a full stack developer sufficient in sql and python

    Ok, let me first try to explain what happens on a good day, before going cynical.

    Let’s assume we have an existing system. You go to what for you appears to be a website, fill some text fields, click on a button, etc. In the background a lot of shit happens. Typically the backend part of the system consists of tens of services each doing it’s own thing. Some participate in returning a response to you, the user. Others just process data further for analytics, security, etc.

    One day someone (in most companies a product manager, or a UX researcher) comes up with an idea for a new feature. A user should be able to do XY. And of course pay for it.

    That’s where you step in. Since you mentioned full stack, you will need to do everything.

    • Create a new page with forms, buttons, nice colors and pictures on the frontend
    • Accept the result of user actions of the above to an API in one of the services mentioned
    • Save the data into a database (this is where SQL comes into play)
    • Retrieve data from a database (SQL again)
    • Emit various events or API calls to other services, informing about what just happened

    This is all done with code. You can copy/paste, vibe code, just type it yourself. Code is the least of your concern. Making sure it all works together is what’s tricky. You will go through several iterations until you get it right. Then you write automated tests for it (TDD people don’t come at me).

    Also you communicate to other people in the company about any dependencies and overlaps with what others are doing. Finally, you can deploy the code to production which will make it available globally to users.

    I just described about 50% of the programmer job. I didn’t mention code reviews, architecture discussions, plannings, retros, communities of practice, incident handling, herding cats…


    This is all valid in a good case scenario. good company and a good organization in it.
    In reality it’s mostly waiting. A lot of waiting. Despair if you can’t make it work. Happiness if you can. Then despair again because all you do is pointless. A lot of fighting against the system designed to make you as unproductive as possible. Or just giving up and faking it for a paycheck.

  • Deestan@lemmy.world
    link
    fedilink
    arrow-up
    11
    arrow-down
    2
    ·
    9 days ago

    Programmer here.

    Clicking things in elaborate IDE GUIs and copying stuff they don’t understand appears widespread because it’s easy to teach and make a video about, but it’s not it.

    My days are spent in Emacs, (used to be Vim), and a Bash terminal. I sometimes use an more “fancy” IDE for a year or two but I always realize they slow me down and make me stupid.

    I write code I understand based on system models I discuss with the team. My time is spent thinking about the models, learning the components I work with, debugging, etc. While all of these involve typing up some code, only 5% or so is writing actually “finished” code.

      • Deestan@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        9 days ago

        I like NeoVIM, but in the end it got a bit frustrating to get the tooling to behave, like language server for Guile, especially when the configuration was half config format, half Lua code, third half referencing those from Vim.

        In Emacs everything - code, config, invocations - are jus lisp. And the ecosystem is a bit more mature for the tools I use in our current codebase.

            • lepinkainen@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              9 days ago

              I’m mostly a Visual Studio Code user, but Helix is for when I need to quickly edit something in the terminal or over ssh.

              I set up LSPs for go, shell scripts and a few others, it was mostly just installing packages locally and helix just picks them up. And more importantly doesn’t shove 500 error messages in my face if something isn’t there, like nvim