5 ms·
Coding with AI has been amazing. I am a pretty 'mid' software developer generally, have been working as a PM for the last 3 years so have gotten rusty. Got lai
by cwkoss 3y ago
Coding with AI has been amazing.
I am a pretty 'mid' software developer generally, have been working as a PM for the last 3 years so have gotten rusty. Got laid off in December.
In about 60 hours of work, I've built a MVP React webapp that is hosted on githubpages, uses firebase for a serverless backend, and integrates with OpenAI APIs to turn user requests into structured JSON that serves as a starting point for the users without having to code the complex logic manually.
Just used ChatGPT4 to figure out how to get a domain working with my githubpages hosting (turns out I skipped a step when I read the docs - and DNS issues can be confusing).
Each of those steps had me running into frustrating bugs that I could have spun my wheels on for hours - with ChatGPT4, it didn't always identify the fix immediately, but I was able to debug so much faster, usually resolving the issue in about 30 minutes. More than the time savings, I really appreaciate the effect it has on morale for me: I hate being stuck on a problem and not knowing what to try next. It feels like I have a senior engineer who I can slack a question and get a thoughtful response inhumanly fast at any time of day (even when coding at 2AM).
ChatGPT 4 has been a lot more helpful to me that Copilot, but I might just not know how to get the most out of copilot yet. Copilot is really nice for jumping past writing boilerplate, but ChatGPT 4 can synthesize entire solutions that span multiple files, which I haven't had success getting from copilot.
What's even cooler is that I had never even touched React before 3 weeks ago, and now feel like I'm moderately fluent in the general design principles. If I was doing self-directed study of React starting from the docs, I probably would still be playing with toy hello world problems, but instead I've gotten the project I was hoping to build to a viable prototype.
One source of delight is using AI to synthesize dictionary data. I have a bunch of ingredients that users choose from and being able to "autocomplete" a solid initial draft for new dict entries feels like magic.
---
If you want to see what I built, or are in the Seattle area and want to try out AI-powered natural skincare formulation, here's my shameless plug: https://skincremental.com/ https://skincremental.com/
The core is all working and good enough, but probably have another week to get it to where I think it'll be ready to start doing some marketing.
- deleted 3y ago[deleted]
- cwkoss 3y agoAnyone have good tips for getting more out of copilot?
- Our_Benefactors 3y agoUse a comment to drive the autocomplete on the next line, like: ”// a function takes an array of numbers and returns the array with negative numbers removed ” In my experience this can match GPT-4 in many cases while saving the roundtrip.
- fatnoah 3y agoGood advice, I've been doing a similar thing with good results. One thing I have done is to start more manually to establish the patterns I want to use for things like parameter validation, log lines, etc and Copilot seems to do a very good job mimicking those.
- cwkoss 3y agoYeah, I've used that to good effect. My main quibble with copilot vs chatGPT is that chatgpt will remind me of side effect changes I need to make elsewhere in the file, which I haven't figured out how to make copilot do.
- vunderba 3y agoI actually find that copilots new chat feature which is integrated as part of the copilot plug-in (VS code as well as jet brains IDEs) is incredibly useful since it's generally pretty intelligent about augmenting your question with the related respective code files.
- hackerlight 3y agoIf I don't have either copilot or ChatGPT Plus, which one should I purchase?
- cwkoss 3y agoId recommend chatGPT plus unless you really want to use it purely within an ide. It's a little tedious copy-pasting code into chatGPT, but it gives more verbose responses and has wider breadth of functionality. I have found myself using chatGPT more than Google now that I have pro. It's nice to just ask a question and get a thorough response without having to read the results myself.
- barrkel 3y agoThis is the sweet spot for coding AI - scaffolding when building out greenfield on well-known existing frameworks, and novice-level API usage and procedures. Nothing wrong with that, we're all novices when picking up something new. I think there's substantial utility here. I've found the quality of code is often poor though, lacking in safe input handling and error cases. It's basically like Stack Overflow answer code (typically happy path focused), or GitHub projects where someone has uploaded their equivalent of Hello World in a new framework. You can get into a trap, where you try to adjust prompts for more improvement, which may be less efficient than just hacking the code into shape - but you want to try one more prompt, because you might just hit the jackpot. Other times, the early exchanges strongly bias the rest of the conversation, so sometimes you need to restart to get onto a different track. Auto-regression and context window starts working against you, and the early exchanges look just like few-shot examples to the LLM. When you have a concrete issue with e.g. a library, and you're trying to achieve something specific enough not to have an example on the internet, you start seeing either hallucinations - convenient methods being invented - or vague suggestions that X or Y can help solve the problem (LLMs love positive language) but the specifics don't work. You've wandered out of the training data distribution and the AI starts looking really limited. I still use it for learning, seeding initial code for scripts or boilerplate, etc. but I'm not too bullish on AI being able to substantially help the job of a maintenance programmer, not in its current form and interaction style.
- josephg 3y agoYeah I absolutely agree. I wanted to do something reasonably bespoke using IndexedDb in a web browser a few months ago. The documentation for indexeddb is frankly a confusing mess. ChatGPT helped me get started. I asked it to write the code I wanted, and with a bit of back and forth it produced code that barely worked, was overly verbose and had no unit tests. However, it made great use of the indexeddb API. I used that code as a starting point and ended up with something robust and half as long that works great. ChatGPT has read all the documentation and example code so I don’t have to. But I’m still much better at programming. For problems like this, we make a good team.