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!
10% creating bugs, 90% fixing bugs.
Product owners say, "We want to change the site so users see a list of all the other users on their team with access to this project "
Okay. Do some thinking. Going to need the backend to return that information to the front end. Decide what URL that should be under (api/v1/projects/users, maybe?).
Now we make the backend actually do that. Create a new file for this endpoint. Update the routes file so that url points to this file. Write the handler class.
Does this endpoint take any particular input? We know who the caller is for free from the framework. We only want to return info about one project or all projects? Make that decision. Update URL if needed.
Write the code to get the other users on the projects in question. Maybe that’s SQL, but might also be ORM (code from a framework that generates SQL based on objects). Decide what information we actually need. Package that up and send it back. The specifics depend on language and framework.
Write automated tests for this. Make sure it works for
- 401 not logged in
- 403 asking about a project I don’t have permission for
- 404 asking about a user with no projects, or a project that doesn’t exist
- someone with 1 project
- someone with 2 projects
- someone with 10000 projects
- also consider what happens for 0, 1, 2, 10000 users on the project.
Realize this needs to paginate. Go back and change the handler code to do that.
Realize due to some quirk of how permissions work, someone can be on the project twice. Talk with the team about if we should just decide that here, or try to fix the root problem. Probably the former.
Add deduplication code, then, and test cases.
Open this up for code review.
Start the front end work.
Make a dummy page first and update your API calling code to know about this new route, assuming you don’t have that auto magically set up somehow. Make sure it calls it and gets a response.
Realize that staff users technically have access to every project in the system. Ask product if that’s how they want that to behave. If no, figure out what you all want that to do instead.
Do a bunch of react work to make the page pretty, put the response in the right UI elements with links to the right place. Realize the response you’re sending back makes building the links annoying because you didn’t send some part of it, so you’d need to make another request to the backend for every link. That sucks. Update the backend to include the user’s team-id that is for some stupid reason still in the URL. Comment on code review.
And now I’m tired of writing.
Edit: I hit submit before I was done. Finished now. Edit: fix typo
You need an actual problem to solve that your hyper focus likes, then you’ll go hard I bet. ~ professional developer with ADHD of 17 years.
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 🙃
- 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)
- 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.
- Do the coding. Often involves a bunch of reading documentation and trial running code to see if it works
- 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
- Write a description of the change and test plan
- Get someone else to check what I’ve done and make any changes they ask for (as long as I agree)
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.
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
I write software in many languages that does the things i want it to do. i understand how to write code that works. most of the time i write software it works on the first few tries. i don’t do a lot of copy pasting. i write functions and use libraries to create things. it’s strange to me, but from what i hear, it’s becoming rare for people to really understand how to make software.
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.
What model was the computer that didn’t have a floppy? Your experience sounds very similar to mine.
TI99/4A. It took some time until I could afford the cable to connect a cassette recorder to it in order to save my files.
That’s the same model! I still have it in my garage or storage unit somewhere…
Mine is long dead. One of my nephews managed to stick a large screw in the expansion port, under the main board, shorting everything.
I am a machine that turns nonsense requirements into nonsense code.
Hello, GPT.






