this post was submitted on 24 Aug 2023
27 points (93.5% liked)
Technology
59312 readers
5184 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sheesh, trying to get a PowerShell script to do something you can learn in a day or two (if you're interested).
Actual programming is mostly grabbing a larger system (or micro services), interacting with other interfaces and databases, modifying and extending existing code (which is what I do 99% of the time, it's really rare to write something new from the ground up in most companies). DevOps where you might also handle deployment pipelines. And so on.
You always work in bigger systems. Sure, sometimes you write helper scripts, but that's the easy stuff.
So yes, I can obviously ask ChatGPT to set up a REST API for me with a handful of endpoints and it will do that reasonably well. If I also want it to connect to a database though it might try to set that up, but that will fail (as you have to actually do steps yourself to make it work). It's good for boilerplate code, but nothing more than that.
“programming is mostly grabbing a larger system (or micro services), interacting with other interfaces and databases, modifying and extending existing code”
Yes, i just happen to use powershell to make the api calls to maken changes in the database because thats what my job said i should use. Then i extend the functionality of what the scripts can do by modifying the code. Chatgpt was a great help at providing a quality result, much more then i would on my own.
No it doesnt replace the job of a actual programmers, no one expects it to do that for the time being.
This does sound like you're providing plenty of future work for developers to clean up that mess :)
Though I don't envy them, at least it's job security.
Its providing me with job security for a start. An issue i found exists is that while many parts of jobs can be automated not many people understand how. Full time developers have the missing knowledge but because they dont have that job there is a disconnect.
Everyone should know how to program to their personal needs and ai is the way to do it.
If you want to nuke your job and kill your company, yes.
Let me ask: How are you authenticating with the API (or directly with the database) in your scripts?
I had a concern about security/data safety beforehand we started any code, so i asked the people responsible for cyber security and did it like they told me to do.
We are a professional institution, I’ve told you, actual in house developers looked at my work and approved of it, i am not going rogue with this, theres a schedule and meetings about this project. If my work wasn’t good they wouldn’t have green lit it to expand on it months ago.
If you continue to be this condescending i won’t reply. Ai ain’t replacing “reAl PrOgRamMers” yet. That doesn’t mean yall have exclusive rights on being able to write code. I am willing to bet in 15 years almost every job will require at least some coding affinity.
So the API you are connecting to is properly written then (and does all the database handling), you are basically just calling it from your scripts? That's totally fine then, but those scripts are the easiest part. Usually done in something like a Python tool, but Powershell works too I guess (just more limited in what it can do).
I'm curious though how you managed to get ChatGPT to do this kind of work, did you throw the full API definition into it, then ask it to create a Powershell application to do x, y and z with helper functions?
My viewpoint is from the side of a backend developer (like the API you are using), I wouldn't trust ChatGPT to get anything right there (especially with cross system communication, between Microservices and to the databases). We spend probably a third to half of the time on security, reliability and performance, just getting the code to do what you want is the easiest part of the job.
Yes i haven’t written the api itself, we (or at least most of my direct coworkers) also don’t have direct acces to the raw database in production.
All the documentation was intended for python and i was provided an jupyter notebook with some python demos. Giving chatgpt the documentation expecting it to understand it is not recommended.
Seems one of of my higher ups is biased againt python “They use that in school as a starter language” (as if that makes it inferior) But there seems to be more in house experience with powershell and others have to be able to continue my work if i quit or fall sick for long.
So the first thing i gave to chatgpt was a selected few snippets of the python notebook and asked to show how i would do the exact same thing in poweshell.
Then i asked what i would need to do more to make this a final working script. (With a very basic goal).
Once that is working i could easily provide a new instance of chatgpt with either full code or the function/part i was working on and provide it with information on what the next step is or what i am trying to do. If i get an error i provide it with that and ask what might cause it.
I have enough coding affinity to notice if it hallucinates, Most of my personal problems writing code is that i am very bad at syntax and not great at spelling.
Chatgpt very often provides long stretches of non functional code because it doesn’t fully understand the context of what i am trying to do but in the middle of that code i may find an excellent for loop function that does successfully implement the logic for that part. i then copy that part with minor changes.
I recognize that for you most of my code counts as boilerplate stuff. But id have a frustrating experience writing it my self.
I rather explain the logic i need in a prompt, and i find it very fun to then puzzle all the snippets together into a coherent script.
I estimate i am on average slower then a full dev but i have the massive benefit of being my own client. The things i am automating are things my team constantly have to do manually trough crapware. Therefor i fully understand what exactly needs to be done, as opposed to us asking the in house devs to check options to see if maybe x y z can be done easier.
Those in house devs are also at my disposal if i get stuck or have questions, some parts are code snippets directly provided by them.
Edit: thats gpt4, i started with 3.5 and its helpful but 4 is such a massive jump i cant take 3.5 seriously anymore.
But that sounds like you already know how to code, but instead of asking Google you just ask ChatGPT and hope for the best.
How do you think programmers work? I don't know shit either, if I need to call an API I look up the docs for it. If I have to do something in Python, C# or whatever and I don't know how, I just google it (and there's hopefully a neat Stackoverflow answer that shows how it's done, otherwise I have to scour the documentation and figure it out myself).
Instead of Googling you're using ChatGPT, but in the end it seems like you are checking yourself if the answer could work and you build it into your software yourself. That's way above any random person who now thinks they can produce code by asking ChatGPT.
That should be a non-issue, because you should be using an IDE (which sucks for Powershell, but would be really easy for Python or other languages). I just start typing and it usually auto-completes. If I don't know what the function is named I can just ask the IDE what's available, then select the one I want. The only thing I have to write myself are variable names (the first time around), but I get help for anything else.
Your boss is honestly an idiot, working in Powershell is like pulling nails. Yes, it works, but you're severely limited in how you can write the code and it's usually a mess of random scripts thrown together. Python or any other scripting language would be vastly better for tooling.
Pretty much yes. Except i find chatgpt multitudes easier and faster to find answers then google ever was.
My stance on the power of AI remains that its not a magic button yet. You have to understand its output and know how to use, just like with every other tool.
I was never in a position to code with an autocompleting IDE, back when i had programming in school we were supposed to type everything ourselves. I understand why they wanted it like that but it very much disadvantaged me and my grades.
I may have to add i am neurodivergent between adhd and autism with some mild dyslectic/dyscalculia overlap. What works for others rarely works for me. This has added to my gripe of how hostile the internet has become, littered with ads and unnecessary fluff. Chatgpt always gets straight to the point, even if its wrong (but so are many people). Its consistently trying to be helpful no matter how stupid a question i ask it.
While my career advice was to not go into programming, i have good faith that with the evolving tools and also my own knowledge gain by tinkering with linux (also sm chatgpt is an amazing help with) my disadvantages will fade and i will become a competitive equal to the mainstream developers of today.
That boss regularly causes eye rolling. There is some good reasons on why we use powershell, we have close relations to microsoft and it has good compatible features with some other things we use. But simply dismissing python was really uncalled for. The best tool for the job always depends on the job. And to sort of quote the sorting hat “Python would have done well for this job”