this post was submitted on 16 Oct 2025
168 points (97.7% liked)

Ask Lemmy

35125 readers
1379 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !askusa@discuss.online


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
 

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!

top 50 comments
sorted by: hot top controversial new old
[–] olafurp@lemmy.world 1 points 22 minutes ago* (last edited 19 minutes ago)

I make e-commerce websites. It's a lot about making widgets, making logic for connecting to their accounting system and how prices and discounts work together. Then whatever delivery and payment system they need and so on.

I write 90% of the code by hand since it works for me very well.

[–] BigBenis@lemmy.world 1 points 34 minutes ago

I work at a mid-tier B2B tech company. I specialize in frontend but am otherwise a full-stack engineer.

My big project over the last two-ish weeks was building a demo environment for one of the company's products. It involved:

  • Updating some configurations in our backend to ensure the database can store the information for the demo sessions.
  • Writing a class to represent these demo sessions, acting as an interface between the database and runtime environment.
  • Building sets of endpoints so that our products' frontend can interface with the server.
  • Building a system on the frontend that regularly syncs with the backend on the state of the demo session and provides it to the UI.
  • Building a pretty UI that shows the user the current state of the demo session and lets them update it.
  • Writing unit tests to ensure every individual component of the system works as it's expected to.
  • Manually testing the system as a user to ensure it's all working together as expected.
  • Writing a summary of my work and submitting it for review by my coworkers, discussing and applying any feedback given.
  • Deploying my work to production and confirming it's all still working as expected.
  • Praying to every God that there is no bullshit issue I missed somewhere and will have to take accountability for later.

Along the way, I got several other smaller tasks, like updating logic in one of our algorithms, adding internal tooling so that the customer service team can stop bugging engineering to fix things and just do it themselves, hypothesizing on the sources of random bugs and updating documentation. In between all that, I've got meetings to discuss random other bullshit.

Still lots of coding, but at this point in my career it's more about knowing how my company's systems work together and how to take an idea and turn it into usable software.

[–] JakenVeina@midwest.social 3 points 1 hour ago* (last edited 1 hour ago)

I work with a 7-person (6 devs and a lead) on a 20-year-old financial reporting application. We either pull or receive data from about 7 different systems where folks record contracts, funding documents, purchase requests, purchase orders, invoices, bills, etc. and pull them all together to build reports and UIs where users can search across all the data, and have it unified in one place. That's about 90% of our workload, anyway. More recently, we've adopted workload from a couple big legacy systems that got sunsetted, where we're actually the data-entry point, feeding data out to the main billing system.

Day to day, I work on everything from PL/SQL (Oracle's SQL variant for compiled stored procedures) where the majority of our business logic lives, to VB.NET where two different HTTP Web servers live, as well as a large automated testing suite for that database business layer, to TypeScript where most of our UI logic lives. Occasionally, I might dip into plain JavaScript/jQuery or ASPX to work on older features.

There's plenty of time spent writing code, but there's also a LOT of time spent just discussing things among team. Probably about half of the time, overall. Part of why the project has lasted 20 years is that we've gotten very good at being able to interpret what non-technical finance and acquisitions folks want. Like, they might come to us and say "hey, can you add inter-departmental purchase requests to report X", but they can't always tell us what an "inter-departmental purchase request" is, or where that data lives in the external systems (and that's not like a criticism, that's just the reality of the fact that these people are accountants, not engineers). So, we'll have to probe for specific requirements and/or reverse-engineer it out of an external database.

I also do open-source work in some of my hobby time, which is pretty much all C#.

[–] Witchfire@lemmy.world 4 points 3 hours ago* (last edited 3 hours ago)

There's a big difference between hobby coding and corporate coding. I do the latter and work on large applications as part of a team. I spend a lot of my time

  • Using debugging tools and probing at code to investigate and fix bugs
  • Coming up with system architectures to achieve whatever feature we want to add
  • Cleaning up my other teammates' AI generated slop 😑 (fuck AI)
  • Writing test suites for our code that guarantee everything works as expected
  • Occasionally I write new features
  • Juggling this with pointless meetings and a long ass commute that take up 60%+ of my work day

I’m an energy engineer, so coding isn’t the main part of job, but I use Python a lot for data analysis. So I load CSV files and reformat the data into how a particular program or person wants it. I also dabble with SQL and PowerShell for configuring data pipelines, basically picking a subset of data out of a database and using PowerShell to automate that extraction and the upload to a server.

[–] ryanvade@lemmy.world 1 points 3 hours ago
[–] toynbee@lemmy.world 3 points 5 hours ago
[–] dream_weasel@sh.itjust.works 2 points 5 hours ago

My last project is using machine learning to sort data for a company and the flow kinda goes like this:

  1. Use the advanced tab in the browser on the UI search pagr for the company to expose the API query for the data I want to have
  2. Write some shell script to programmatically call the API for the data I want.
  3. Realize that there's actually a limit to how much data the API can return BUT the metadata says how much there is beyond the limit.
  4. Write some script to paginate (scrape over) all that data and save as a JSON file
  5. Realize my JSON is badly formatted and some queries are empty, so do some error checking and massage to make it work right.
  6. Create a python script to ingest the parts of the saved data I want and write it to a SQLite database. This takes ongoing refinement.
  7. Do some sql to count how many entries I got in the time period I was getting data for, and compare to a tool the company has to aggregate said data. It was close enough.
  8. Go learn about Jaccard similarity and locality sensitive hashing. Use this to write a script to deduplicate the database so I don't have a zillion repeated entries. Also python, but it starts with some cursor stuff and sql.
  9. Do the actual project which is trying to get some reinforcement learning to label the data automagically. This means I also have to write some methods to get particular mixes of the data I've already collected. For example I want my mix to have 50 percent red balls, 20 percent green balls and 30 percent blue balls. How do you pick the right number of balls from the total set? It's not hard but it takes some thinking.
  10. Wrap this thing up in a script that will do some load balancing on a machine with lots of gpus and CPUs so I don't hog the entire server rack. Submit it and let it cook.
  11. Write it again so I can wrap options around it and optimize hyperparameters.
  12. Start working up the results to show improvement overall. If it's better than what the company already has...
  13. Time to fire up the old git repo and make sure the commits are clean. Add readme and make files (bc I prefer to deploy with make) and put it in the hands of another engineer who will roll it out for that company.

Idk it's not a super sophisticated problem but it has a lot of moving parts and you have to kind of tackle them in order. Mostly it's "hey here's an obstacle to the end goal, how do I fix it on my own in a smart way?"

Then do it.

[–] dependencyinjection@discuss.tchncs.de 5 points 8 hours ago (1 children)

I have adhd and I’m a software developer. We make enterprise software for various clients.

We don’t copy and paste, per se, but we do have common practices and many let’s say functions for simplicity that we will reuse over and over as a lot of enterprise looks similar and just the customer screens change. So we still do a lot of problem solving but if we have already solved that problem before we can use it again.

Currently working with a large transport authority to build a claims tracking system and create a bespoke Sage integration to track payments and receipts. And I’m not that smart dude and I don’t even feel like an adult in my forties.

We offer ongoing support to all our clients and genuinely do what’s right and fair all the time as my boss and the own is an incredible dude and just nice and fair and open.

[–] Rekorse@sh.itjust.works 2 points 6 hours ago (2 children)

What do you need to qualify as a software developer job like the one you mention?

[–] sunshine@lemmy.ml 1 points 2 hours ago* (last edited 2 hours ago)

I qualified for my first dev job by being interested in programming, and knowing my way around the command line (Linux is best), git, vim, and Python. practicing with things like leetcode, advent of code, and making things with apps like pelican and pyxel is a great way to ease into it and tread water until you can get that first role.

just don't let it make you feel helpless. there's always going to be a lot that you don't know. taking a deep breath and accepting that is the way towards thriving.

[–] Witchfire@lemmy.world 1 points 3 hours ago* (last edited 3 hours ago)

Usually (but not always) a software related college degree and industry experience. If you don't have the latter, hobby projects and open source contributions help, as long as you can demonstrate it (ie: a repo)

Ymmv, the requirements depend on the company

[–] kuberoot@discuss.tchncs.de 8 points 12 hours ago

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.

Not sure where you're seeing "just clicking around in a gui", but if you like computer games, there's some fun gameplay you can have while coding. Some of those very much contributed to my experience.

BitBurner is a free idle incremental programming game, where you write scripts to hack things to make money to begin with, progressing onto both progressively more complex mechanics (how about automating a manufacturing corporation with a script?) and utility scripts to automate things you've been doing manually.

If you like Minecraft, there's fun to be had with ComputerCraft, scripting things in Lua. With some add-ons (Plethora IIRC) you can access chest inventories via cable and transfer items between them, and set up your own fully automated storage system with recursive autocrafting, as just one example.

Or how about modding games - if there's a Unity game you enjoy that doesn't use IL2CPP, like Risk of Rain 2, it's very moddable using C# and interacting with Unity APIs, and for advanced stuff modifying the underlying IL that C# compiles to. Quite a lot you can learn, and if you stick to pure code mods to begin with, not that hard to get started - though code mod means nothing like new items, new enemies, new characters, buildings etc. since adding models/textures/sounds tends to be more involved.

[–] mvirts@lemmy.world 7 points 13 hours ago (1 children)

I think you need to start a project, accept it will be slow and painful, and don't become an expert before you start, just use the skills you have and see where they take you. The only thing that matters in software is that it works. The definition of working changes over time, but get that first working version and you will keep going.

[–] laranis@lemmy.zip 3 points 7 hours ago

This is it. I've never been able to learn a new programming language looking at tutorials. I always start with a problem (use case) and build from there. A basic knowledge of concepts like loops, conditionals, and passing/returning values in a function are the building blocks. Eventually you start to get tired of copy/pasting code so you find things like abstraction and inheritance. Then you'll find ways to optimize or use someone's library of premade functionality instead of starting from scratch.

And if you get really, really good you start writing things from scratch again in unique and highly optimized ways. Those are the really fun projects, imo, but not the ones that pay.

[–] HeyMrDeadMan@lemmy.world 6 points 14 hours ago (1 children)

Here's the point in which I realized I didn't understand coding at all.

There as a mod for a game, that was like 95% of what I wanted. It just needed a few values changed, and it would have been perfect for me.

Fortunately, the entire mod was hosted on github, and it was just 3 '.js' files. I figured, hey, how bad could it be? I'll have a look around, find the values I'm looking for, make a couple tweaks...

All three files were entirely, top to bottom, just INCLUDE statements. Not a single line of 'code'. And somehow that's supposed to do something? That's when I realized I was cooked.

[–] ulterno@programming.dev 2 points 12 hours ago

Maybe that was some mod that was only pulling other mods and nothing new of itself?

[–] Retro_unlimited@lemmy.world 2 points 12 hours ago

I am not a programmer, but I did code something from scratch.

I started with a simple idea, I wanted a bot that can chat on twitch.

I did tons of research, applied for a key from twitch, finally got it to log into chat with the most basic of sample code.

Then I started to make commands for it. Added one by one over about a year.

Then the real challenge was getting the code to do math for people in chat: change temperatures between F and C, doing calculations for the blood moon on 7 days to die, and other stuff like that. Eventually I got all that working but it took a ton of trial and error.

The parts I couldn’t get working yet are getting my code to talk with a SQL database and commands so people can add and remote the bot from their channels themselves. Not sure I will ever finish it since I no longer run a server 24/7 now that I’m offgrid.

[–] nek0d3r@lemmy.dbzer0.com 3 points 14 hours ago

Crazy to me that GUI seems to be a major focus in those situations. My IDE is most often pretty minimal, whatever it takes for me to get code on the screen, and unless I'm using the debugger, compiling and running has always been easier using a CLI. It's good practice anyway, familiarizing yourself with the shell, code for your code lol.

I've been developing professionally for almost 10 years now, and started learning very young. The circumstances were different, but I think the principles are the same. Some folks here already mentioned taking on projects that interest you, and I'd definitely agree, provided you keep them small. Something that you'll want to make can keep you motivated, and small wins keep you going. For something full stack, I'd recommend coming up with a CRUD web app (create, read, update, delete) that does something that's fun. Maybe it's a recordkeeper for a sports team, or maybe it's a rudimentary forum. That sentence makes sense, no worries. You can use python to write your backend, see if you can make an API that just handles CRUD requests and builds and runs SQL statements for your database. Then just use whatever you'd like for the front end and call that API. It's still a pretty big project depending on how new you are to this, but it's hard not to be when full stack touches everything. If you're completely new, I'd lay off and pick the front or back end to start with.

[–] Quazatron@lemmy.world 11 points 21 hours ago

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

[–] Treczoks@lemmy.world 2 points 14 hours ago (1 children)

I simply started programming before there were GUIs. That helped a lot. Another thing that helped was that I had no means to save a program. I had to re-type it every time from the listings in the magazines, the main method of distributing software back then but for cartridges.

I later learned several different programming languages, and the first GUI I used was one I actually wrote myself (later, on a different computer which actually had a floppy disk drive).

And while my job is in programming, most of it is still typing. GUI use is limited to setting up the project in the IDE, which can be a lot of clicking and selecting, but once the basic hardware framework is set up, it's all editor work.

[–] bitjunkie@lemmy.world 1 points 11 hours ago

What model was the computer that didn't have a floppy? Your experience sounds very similar to mine.

[–] melsaskca@lemmy.ca 3 points 16 hours ago

I'm retired now but I used to copy and amend shit from Stack Overflow.

[–] kbal@fedia.io 95 points 1 day ago (9 children)

10% creating bugs, 90% fixing bugs.

[–] DupaCycki@lemmy.world 2 points 15 hours ago (1 children)

I'm by no means a veteran programmer, but I do study computer science and write automation scripts at work.

We get questions like this one every now and then, and usually the answers coming from experienced developers are: "You're looking for an engaging project idea." Not sure if this fits your case, but it seems like it to me.

Basically, pick your interest and then look for something related to it that you could write code for. You like video games? Try making games, cheats for games, mods or some other companion apps. If you're struggling to find a suitable interest, you can always try writing scripts to automate your everyday computer tasks.

So my question is, since everyone on lemmy is a programmer, what do you guys actually do?

The answer to this question will vary a lot, depending on the specifics of the person's job or interests. Though there is often a lot of copying and pasting involved.

[–] Dhar@lemmy.ca 3 points 15 hours ago

I am a veteran programmer of >40 years and this is the right answer. Find a project that interests you, probably one tied to another of your hobbies, and just go at it. Don't look to find if someone else has already done this project - they probably have and you'll be discouraged from trying. Learn what you need as you need it; don't try to "learn enough" to get started. It's programming, you'll never know enough. The best way to learn to program is to program.

Some personal examples: I write random generators for TTRPGs, I'm making a better UI for a cheap digital oscilloscope I bought for measuring audio equipment, I have a couple little wheeled robots I tinker on, I like to write MCP servers for LLM assistants, and I've got dozens of little projects or custom tools.

Go for it.

[–] Adderbox76@lemmy.ca 2 points 15 hours ago

I'm in the same boat as you. The GUI thing doesn't interest me. And I end up knowing "basic to intermediate" knowledge of a few different languages because, when you get right down to it, once your somewhat familiar with one object oriented language, the others fall in line pretty quickly.

I find that for learning, I have to have a project to be working on. I can't just sit and do exercises about classes, tuplets, and all that crap. I need to be able to say "okay...I want to make x do x on this project I'm working on...and then troll around the internet to figure out how to do it.

[–] 18107@aussie.zone 3 points 17 hours ago (1 children)

I make game mods as a hobby. 90% of the time is taken with deciding what to write, 5% is actually typing, and the other 2500% just seems to vanish without a trace.

Knowing what to type always takes much more time and effort than actually typing. IDE autocomplete has increased this difference further, and AI promises to do this even more (although it seems to increase typing time at the moment).

[–] BuboScandiacus@mander.xyz 3 points 16 hours ago (1 children)

I make game mods as a hobby.

That sounds very interesting. Would you mind if I hijacked this thread to ask you about what kind of mods do you make and for what games ?

[–] 18107@aussie.zone 2 points 4 hours ago

I've tried to choose my favourite mod for each game. My other mods should be searchable from these links.

FlexFOV - Minecraft. Increases the FOV up to 360 degrees.
It took 3 years to get a basic version working, then several more to make it properly usable (not just a cubemap). YouTube demo

Stormtrooper - PULSAR: Lost Colony. Significantly reduces the player's accuracy.
All the mods are hosted on the community Discord rather than a mod hosting site.

I originally made Item Swap for Void Crew. The developers thought it was a good idea and decided to add it to the game (with permission).
I decided that I could do even better and made Faster Swap — modding the devs implementation of my own mod.
I have another improvement idea just in case they implement this mod too.

Full Auto Multitool - Jump Space. Hopefully prevents RSI from rapidly clicking.
Jump Space uses IL2CPP, so modding is significantly harder until the devs choose to release mono files.

Honk - Derail Valley. YouTube demo

I did not make all of the mods registered to NihilityShift. You should be able to check the author(s) on GitHub for each mod. All of my mods are open source, though the source may not always be up to date.

[–] Deestan@lemmy.world 9 points 22 hours ago (6 children)

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.

load more comments (6 replies)
[–] _stranger_@lemmy.world 27 points 1 day ago* (last edited 1 day ago) (2 children)

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

[–] DontNoodles@discuss.tchncs.de 6 points 22 hours ago

Wait till they find out that your are capable of GOSUB - RETURN too.

load more comments (1 replies)
[–] drmoose@lemmy.world 3 points 17 hours ago

The best way to get into coding is to surround yourself in it by switching to linux and starting to program your own desktop interfaces (can be through browser too). Once you live in your own software the surface area for motivation is significantly higher so you actually learn stuff. Come up with ways to automate what you do and don't be afraid to fail.

[–] pinball_wizard@lemmy.zip 21 points 1 day ago* (last edited 13 hours ago) (1 children)

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.

[–] noughtnaut@lemmy.world 3 points 18 hours ago

You have a wonderful way with words. 😊

[–] Baguette@lemmy.blahaj.zone 7 points 22 hours ago

Have business requirements change by the hour

[–] FishFace@lemmy.world 35 points 1 day 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)
[–] princess@lemmy.blahaj.zone 55 points 1 day ago (2 children)

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

load more comments (2 replies)
[–] Weirdfish@lemmy.world 45 points 1 day ago (8 children)

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.

load more comments (8 replies)
[–] AA5B@lemmy.world 23 points 1 day ago* (last edited 1 day ago) (2 children)

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

load more comments (2 replies)
load more comments
view more: next ›