5 ms·
Ask HN: Am I hurting my programming career by not exploring AI coding tools?
I have 0 interest in using ChatGPT, Github's Copilot, or any other AI coding tool.
I have a hard enough time using and trusting snippet engines or doing due diligence in implementing a solution I find on stack overflow.
Roughly 30% of developers in the 2023 stack overflow survey responded the same way which is the minority and I would guess will shrink every year https://survey.stackoverflow.co/2023/#section-sentiment-and-usage-ai-tools-in-the-development-process
- taylorsindle 3y agoRather than using AI coding tools to write code, it can be helpful to use tools to make code review easier. Pullpo.io has two products for developers. One is a metrics tool that helps development teams find and resolve bottlenecks. Pullpo measures cycle time (work in progress, pickup, code review & merge time), PR throughput, and batch size. The other product is ephemeral PR Slack channels that allow for faster code review conversations for developers using GitHub. Unlike the default GitHub integration, Pullpo creates an ephemeral Slack channel for every PR, with all the people involved in it. The code review conversation can now happen in Slack. In these Slack channels, notifications are sent about workflow results, new commits, mergeability, code comments, etc. This way, you can do all of your own coding, and have tools to check it over!
- purpleblue 3y agoNo.
- bilsbie 3y agoYes
- JohnFen 3y agoIt's far too soon to say. But I think it's easy to overthink these kinds of "will this hurt my career" questions. It will affect your career in some way, certainly, but hurt? It's impossible to say. It also entirely depends on what sort of career you want. There are a million flavors of software engineering careers. Some flavors will be affected much more than others. Where I work, our manager announced their new AI policy: use it if you want, but the company won't be paying for it. 3/4ths of the engineers in my location have no plans to use it at all.
- papichulo2023 3y agoI use chatgpt in the same way I use Google, it is just one more tab in the ocean anyways, it is like I have "interest" in it, it just a tool.
- 082349872349872 3y agoIt depends upon what you want your career to be focused upon? If you want to spend your time staying on top of things, AI-assisted centauring seems to be a win; if you want to spend it getting to the bottom of things, I haven't found it useful yet for even slightly-more-than-trivial tasks.
- Nican 3y agoAI can make you more productive, but it does not make you a better programmer. I am still skeptical about the quality of Copilot, but it has given me good suggestions about how to complete a line, instead of me having to type it all out. But Copilot will also give plenty of wrong or sub-optimal suggestions. You are still required to know what you are doing. My answer is: "No". You are not hurting your career, but it is still something that could be fun to use.
- add-sub-mul-div 3y agoIt's not worth spending a lot of time immersed in the whole shovelware ecosystem of wrappers around these APIs. A year from now the dust will have settled and anywhere from zero to a few tools will be actually useful or necessary. It won't be rocket science to learn them then.
- jowdones 3y agoMaybe
- tom_ 3y agoEvergreen: https://www.joelonsoftware.com/2002/01/06/fire-and-motion/ https://www.joelonsoftware.com/2002/01/06/fire-and-motion/
- stocktech 3y agoFor reference, 14 yoe and currently in management. Today, I don't think the tools are good enough to make a material difference. It may help a bad engineer tread water, but it won't take you from good to great. It may save you time writing basic boilerplate and individual functions, but I suspect 99% of engineers don't struggle with that. What's hard about our jobs is knowing how to orchestrate the whole thing and put structure around complexity. AI can't do that yet. When I use it personally, it feels like a harder context switch trying to describe in english what I already know how to code. Then I still have to review the function to make sure it's accurate. It feels like a waste of time and an additional context switch. Whenever the AI gets better, we'll have to use it to be productive I have no doubt. But the pool of engineers will change too - there will be a categories of engineers who can't debug the AI output and who still write crazy prompts. Maybe I'm old, but I'll only be worried about AI when it can write and maintain a full app with no human intervention.
- lisasays 3y agoIt may help a bad engineer tread water, but it won't take you from good to great. Agreed and very well put, but with a caveat: It can also help when venturing outside one's domain.
- pc86 3y agoThis is the big one, for me personally at least. I spend most of my time writing C# and Vue. When I need to write Python, or React, or Go, which happens from time to time, it will take me 10 minutes of back-and-forth with ChatGPT instead of an hour, or multiple hours, looking up tutorials and just figuring out what I even need to Google to find what I'm looking for. I've tried using ChatGPT for my strengths and sometimes it helps for minutiae but for the most part it's faster for me just to write the code.
- throwawayadvsec 3y agoI mean even for stuff I know really well it can help you just have to get used to the way it "thinks" and how it "understand" your request, to write better prompts, you can even manage to send it half incomplete sentences if you really know what matters to it if you want to save even more time and of course if someone won't start using it regularly they'll never reach a point where it's faster to just ask it for a function or a script than to write it
- haha69 3y ago> I have a hard enough time using and trusting snippet engines or doing due diligence in implementing a solution I find on stack overflow. Is it possible you are not breaking the problem the right way? I.e get better at understanding what it can do for you and conveying to it in a better way what you want. To me it seems like a huge handicap not using these. At the same time if you use it too much your skills may degrade overtime (maybe the skills that degrade are not worth holding onto in this new world anyway... we'll see). It reliably acts like a junior dev who can sort of complete the statement or add the next N branches after you add a few lines. But you have to be good at spotting bugs or inefficient implementations quickly and probe it till it corrects it.
- umutisik 3y agoHere's my experience so far: ChatGPT saves time writing short functions maybe 10-20 lines. This is maybe 10 minutes a day. ChatGPT helps start/debug things outside my domain where I would normally need to read some guides before even starting. This doesn't happen every week, but when it does, it's hours saved. Copilot saves a bit of time with simple 1-3 line suggestions where you would already know how to write it, or can immediately verify correctness. This is probably 10 minutes per day saved as well. So, on average, I get maybe 30 minutes or so per day saved with close to zero downside. It's not going to make or break a career but it's a good chunk of time.
- skerit 3y ago> Copilot saves a bit of time with simple 1-3 line suggestions where you would already know how to write it, or can immediately verify correctness. Exactly. Copilot is really just a fancy autocomplete, and I have noticed I've started relying on it. And I use ChatGPT for the same thing: debugging things I'm not super familiar with. Even if it can't offer me a complete solution (and it mostly can't), it is a really good pointer most of the time.
- rc_kas 3y agoProbably not. Chat GPT is so fucking smart and also so fucking stupid. It just makes the weirdest mistakes and these mistakes are often hard to see or understand. You'll spend far more time debugging ChapGPTs code than it would have been to write it yourself.
- JustBreath 3y agoI don't use ChatGPT written code, however excellent for rubber duck development where I'll describe the problem being as verbose as I like and then asking how to accomplish the task. Usually it either confirms my initial assumptions or often enough shows a method I hadn't thought of. Either way ultimately I still write the code.
- Maultasche 3y agoI briefly tried out tabNine, which was OK, but had a lot of suggestions that weren't quite right, so I stopped using it. Since then I haven't bothered to use anything else. I've read about the various tools, but I'm just not that interested in using them either. I wouldn't worry about it. AI tools are trendy right now and are being hyped far beyond their actual usefulness. I've seen this before with other things. Eventually, things will calm down and AI tools will become stable and just another standard tool that will provide incremental improvements. That will be the time to try them out and see if they are useful. Typing code is not where the value of a software developer comes from: it's the thinking, the planning, the accumulated experience, and the communication with other people where the most value emerges. You will not hurt your programming career. Way back when IDEs were the hot tool, some developers kept using the command line and vim. That choice did not hurt their careers: I've worked with such developers and they do just fine. IDEs make a lot of things easier, but they don't make the difference between success and failure.
- FragrantRiver 3y agoI would compare writing code without Copilot to writing code without Intellisense and autocompletion. Sure you can do it, it's just going to be a lot slower and more work.
- JohnFen 3y agoI'm fascinated by this, because I find that autocomplete specifically gets in my way and slows me down quite a lot.
- speedgoose 3y agoIt’s like an electrician refusing to use power tools. Sure they are more expensive, must be charged or connected to power, and they don’t feel the same, but they are better to get most tasks done. And they keep improving. You will need to be very good at programming to be competitive against people that use AI coding tools.
- TheCaptain4815 3y agoI'd look into GPT4 Code Interpreter (if you can get beta access) or Copilot X (which uses GPT4). GPT4 is an enormous upgrade over standard ChatGPT (3.5 Turbo) for logic and code. I believe Code interpreter was created by taking the base model GPT4 (not the instruct model) and adding a "code layer".
- jstx1 3y agoI think yes. I'm some % more productive because of Copilot and especially because of ChatGPT(with GPT-4). No idea what the number is but it feels significant since these tools often helps me get unstuck, generate new ideas, explain code, propose solutions, do some trivial tasks etc. I think the people who aren't curious enough to experiment with it, or have some mental block against it because they feel threatened, or can't use the tools correctly are doing themselves a disservice in the long run. I'm also noticing a significant difference in the performance of colleagues who use these tools a lot vs the ones who don't go anywhere near them.
- JohnFen 3y ago> I'm also noticing a significant difference in the performance of colleagues who use these tools a lot vs the ones who don't go anywhere near them This is interesting because in my workplace, I've noticed no difference between the two groups. The ones using these tools think they're more performant, but if they are, it's not to a significant enough degree as to be obvious to others.
- qayxc 3y agoWhat metrics do you use to tell the difference in performance? Just being curious.
- steve_adams_86 3y agoI think it’s a neat skill to have at the moment, but not very meaningful when it comes to pure application and infrastructure development and design. What you can accomplish with GPT is still possible with Google, and well, GPT info needs to be googled or reviewed in some way as well. My main use case is to ask it other ways to approach solving problems I already understand. Sometimes it reveals interesting ideas others have already had, which I like. The other day I was using promises in the JS world to create a sort of sequence of who-knows-when-it’ll-finish tasks, and GPT pointed out that what I actually wanted was an async generator. Kind of obvious but also, not at all — people rarely reach for generators in the JavaScript world. So that was cool. Despite a fair amount of experimentation and building basic stuff with the API, this has been my most valuable use case yet which has real rewards. I made a tool which uncovers solutions to error stacks I pipe into it (in VS Code or in a standalone situation where it listens to your app’s errors), and it was interesting, kind of worked, but was mostly just a time sink. It could be fine tuned and I’m sure Co Pilot X will solve this elegantly, but there’s no real magic underneath this. You don’t need to know it. You’d figure it out fairly quickly if you needed to. The secret sauce in AI isn’t something you learn easily, on the other hand. That’s a career in and of itself, and it’s not trivial to pursue. For the time being, I think it’s totally fine not to adopt these tools as a developer. Just keep an open mind to it, explore when you feel interested, and continue focusing on doing what humans do well but machines don’t.
- orblivion 3y agoI have the same preference as you perhaps for different reasons. I'm glad to see people seem to not think we have to do this yet but I'm assuming it's inevitable given a couple years.
- GreedClarifies 3y agoYes. These tools are clearly very powerful and likely will get more powerful. What they do would have been considered science fiction 3 years ago. Getting into the habit of asking your "assistant" to perform tasks seems like an investment which will give solid returns. That being said, I don't think you are hurting yourself much today. But the trend is not in your favor. PS: these tools are tremendously useful when creating documents. YMMV.
- mabbo 3y agoI recommend trying to use ChatGPT anytime you were going to use StackOverflow or Google. Just try it and see what the results are. You may be surprised how good they are. And if you weren't planning on using SO or Google, then you don't need to think about it.
- namaria 3y agoUsing ChatGPT to give you information about things you don't understand well creates a risk of learning and internalizing erroneous information. I wouldn't like to make a mistake in my job or in conversation for some nonsense a chatbot generated.
- mabbo 3y agoJust like with Stack Overflow, you don't just blindly copy and paste what it gives you. You read it, try to understand it, and then - this is key - ask ChatGPT more questions about it. Your mileage may vary, but I've found it very helpful.
- namaria 3y agoJust like bust stop graffiti too, I guess. Your point being, besides gratuitous whataboutism?
- jasonlotito 3y agoIt's similar to using Google or SO in that it's a tool you can employ to help solve problems, but you can't rely on it to solve the problem. I've found most value in 1. A better IntelliSense, and 2. Getting up to speed on things I have less experience with Are you hurting yourself? Only you can answer that. I know I would be hurting myself if I didn't use all the tools that were useful.
- glun 3y agoIve gotten some use out of ChatGPT for system design. I describe my problem, it recommends solutions, I ask follow up questions and add more context etc… Just like I would work with an actual collegue. Then in the end I still have to go to the source docs but the option space is often so large that I find this initial back and forth very helpful. Coding tools, like Copilot, are completely useless on the other hand. I think they would need to be integrated with the compiler and the IDEs indexes to be of real value. Perhaps you would also need another network architecture than transformers to really understand the tree shaped nature of code as well.
- andy_ppp 3y agoI personally find ChatGPT really helpful for getting unstuck when coding. Writing out the problem ChatGPT often provides me with code that nearly works and a framework for figuring things out which is pretty nice. I think it won’t affect you too much learning things the old way but you’ll be much more productive/less frustrated with ChatGPT helping you. I found it quite a leap at first to trust ChatGPT to understand my questions and system but it really does give reasoned answers even if some of them are wrong. It’s worth knowing this and asking it questions about the code, in fact it’d be great to get definitions of functions used inline in the ChatGPT ui to be able to at least quickly check if the right parameters were being sent. Maybe this checking of lies is much harder for junior developers when they get the slightly broken output and struggle to refine it?
- specproc 3y agoI think there's nothing wrong with exploring them. By the sounds of it OP is not keen, but if the concern is career then there's something to be said for being able to say "I had a look and it wasn't for me." I've found it a really mixed blessing. Great for getting the boilerplate out the way quickly and trying new frameworks; but it gets in the way a tonne, and the second guessing and context switching eats at the gains.
- seanthemon 3y agoLook at the developers around you, how and how often are they using AI? I highly recommend building a small project where you don't understand the technology completely using chatgpt to write the majority of the code and start filling in your knowledge gaps, expand the project alongside Gpt and your own knowledge so it goes from heavy lifter to support. (In my case success with python and pyqt, with only a passing knowledge of python and none of pyqt or gui apps) One issue I have is when I build a system I know the system, but AI built systems is like understanding a different programmer's work, and the effort that goes along with it. It's a mighty useful tool for being a bridge of knowledge, can give amazingly detailed information, but overusing it will lead you into a dark corner, underusing it might leave you behind.
- madduci 3y agoThe point is, the AI must know about the technology. Until now they have exposed important limitations IMHO (wrong syntax, invented knowledge), which leads to more headaches than simply reading the documentation of a particular framework/library/language. In my opinion, it's nice to know that AI is there, but I personally don't find it, at the current state of art, trustworthy. On the other side, it's totally perfect for preparing documentations, attempt to create tests or doing translations.
- seanthemon 3y agoThose limitations and lack of trustworthines are the exact same as dealing with a human, or even reading code from a forum or SO even. I used gpt4 to generate a pretty complex application and worked out of the box, anything that didn't I asked it to modify, and even adding large features it succeeded, i'm currently using that app as a toolbelt daily driver, i've extended it with the help of gpt to give me ideas, sources and more code for tedious tasks. I think you've placed limitations before exploring boundaries
- frou_dh 3y agoI tried the 30 day free trial of Copilot and, while it pretty much works as advertised, I didn't particularly like it. If I had to articulate why, it would be that I could feel it putting me in a sort of "begging" mindset rather than a "thinking" mindset.
- nunez 3y agoI think it doesn't hurt to use it a little bit to know _how_ to use it and say "ChatGPT" on the resume, but as of right now, I don't think not knowing it is a threat to your career. I actually think having strong programming fundamentals will be even more of an advantage as consumption of AI proliferates.
- dsr_ 3y agoSpend more time figuring out how to translate requirements into working code. Spend more time figuring out how to find problems in code. Spend more time figuring out how to learn new things in the ways most effective for you. That time will be repaid in your professional career. Spend less time worrying about each year's obsessive fad. If it has positive value, it will be easier and safer to use in the future.
- throwawayadvsec 3y ago>Spend less time worrying about each year's obsessive fad. If it has positive value, it will be easier and safer to use in the future. This will still be true way after you're dead, so I guess you should never learn or use anything new. AI is not this year obsessive fad, it's not crypto, it's not AR/VR, it's a field that has been slowly maturing for decades and that is now finally kinda useful for the masses
- pseudostem 3y agoI have a slightly orthogonal take. I am not a programmer (yet). A long time ago, I wanted to get into photography. I researched equipment, effects, lighting, etc. Then I happened upon a blog run by a photographer. His advice - Are you creative enough to know the subject, what to photograph, what kind of results you want? If yes, you could always start with an iPhone and once you hit limitations, you could augment it with equipment which you build over time. He did cite some great examples of flickr photography done on iPhones and I was sold to the idea. IMO from a layman's perspective, we should (try to) perfect our trade, tools we choose later to whatever suits our style.
- bicepjai 3y agoYes
- simonsarris 3y agoI think you are probably helping your career by not exploring the tools at this time. In almost all tech, early adopters are rarely time savers, they are often the ones to explode (or if they are lucky just waste a ton of their time). Bless them. But the output I've seen from ChatGPT is so bad that I'm amazed the people who think it helps them are for real. I complained to a friend recently that we're drowning in spam-tier programming tutorials, giving the example of basic web-app database design. There are hundreds of tutorials that all cover roughly the same bare minimum basics, and only the basics, with some of them less safe than others. My friend put some of the queries through ChatGPT and what came back was... spam-tier crap that said to do one thing (separate user table and auth table) and in its example code did the other (put `password_hash` into the users table). This is an objective downgrade from the ocean of spam tier crap. Previously there were 999 tutorials that only covered the bare basics with not enough deep dive or "why its this way and not that way" material. Now there's that status quo, but also transparently wrong. This is not, I think, an isolated incident, but an illustrative one. So feel free to wait another year. If it's actually truly useful by then, I'm sure you'll notice and pick it up without trouble.
- sn9 3y agoI'd argue that you should still prioritize investing in the fundamentals if you have room to grow. AI tools that I've played with only get more useful the more you already know. You need the traditional sorta experience to know when it's generating bullshit or garbage code.