this post was submitted on 16 Feb 2024
20 points (91.7% liked)

CSCareerQuestions

949 readers
1 users here now

A community to ask questions about the tech industry!

Rules/Guidelines

Related Communities

Credits

Icon base by Skoll under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
top 16 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 9 months ago

Every developer (~400) has a Copilot license of which about 50% are actively using it (we'll start pruning licenses next month).

My experience so far is that it's biggest benefit is writing tests and refactoring code. The major downside is that it has a habit of introducing very subtle bugs that are easy to miss even with human review.

[–] [email protected] 10 points 9 months ago* (last edited 9 months ago) (2 children)

Literally zero and a large chunk of the people you know have most likely actively used the software the company makes for more than an hour a day (pretty much regardless of country). If not, its replaced by software that serves the same goal from a different provider. The teams we work with are equally not using it.

AI is not the future. It is not a tool worthy of use, and it is a major distraction from growing your skills. Especially if you are junior.

[–] [email protected] 11 points 9 months ago (1 children)

It really does need to be stated that AI code completion is indeed NOT a learning tool. It’s an accelerated “copy/paste code from stack overflow” tool. Useful in its own right if you just want some rough code fast, but it’s not going to teach you anything. There is no easy way out of having to deeply understand code. It’s your job as a programmer.

[–] [email protected] 4 points 9 months ago

I feel like this is a bad binary. It’s more shades of grey. As an experienced programmer, code completion, like Intellisense and bash tab completion, accelerates my ability to do new things. I can pick up a new language and be productive faster than when I had to buy a book and look up syntax or later Google syntax. I am learning because I have something roughed out and compiling that I can then pull apart and understand. When I was a kid learning Perl for CGI I just copied code from books and learned a lot by trying to put different pieces together. It usually didn’t work and that led me to learn more about how Perl worked. Code generation gets the big picture done and knocks out tests really well, allowing me to focus on learning the things I really want to learn, like how I should be optimizing my data structures.

I think we can all agree that if you just blindly tab complete Copilot suggestions you won’t learn anything. Your code also won’t run.

[–] [email protected] 1 points 9 months ago (1 children)

So are we now pretending that autogenerated code hasn't existed for years?

[–] [email protected] 2 points 8 months ago

no one has even mentioned anything even close to that idea

[–] [email protected] 9 points 9 months ago (1 children)

Not at all in my org, as far as I know. We are a team of senior engineers somewhat set in our ways and I am not sure how good Copilot plugin for Emacs is.

We are part of a large company and we had a mandate from up top to come up with ways to incorporate AI into our product. We prototyped a few, but could never get it batter than "almost good enough to be useful". Other teams have presented promising prototypes of inhouse AI assistants that we can incorporate into products.

My team pivoted to the inverse: seeing if we can make our product more useful to ML developers.

[–] [email protected] 3 points 9 months ago

seeing if we can make our product more useful to ML developers.

Nice. I've heard the folks selling gold digging supplies were the biggest winners in the gold rush.

[–] [email protected] 7 points 9 months ago

Probably 60% where those not using it have just been too lazy to set it up. I have a mostly senior crew so I’m not concerned about code reviews or poorly optimized generated code. For most things, the boilerplate that code gen can add is a continuation of things like Intellisense and linting.

What you have to watch out for is complicated logic being built by code gen and not knowing enough about the code generated. For example, I’m very comfortable with fixing the weird ass Rust iterators Copilot will make because I understand Rust iterators. If I had to move to, say, C#, I’d have no fucking clue whether or not the generated code is idiomatic, solves problems in the way a C# would solve problems, or even compiles until I run it.

I work in web and I came from an SRE background. Those industries lend themselves to this quick code gen. If you managed a Terraform codebase for any appreciable cloud presence pre-code gen, you’d understand how much of a boon it is for certain areas. I don’t know how useful it would be in languages or areas that don’t glue a bunch of boilerplate together. HPC, for example, cares a ton about every instruction. At the same time, code gen can give you a pretty good assembly template to improve.

[–] [email protected] 5 points 9 months ago

Not at all, by any engineers I know anyway.

[–] [email protected] 4 points 9 months ago (1 children)

Don't know a single person who uses it, neither privately nor professionally. We don't do much boilerplate and write a bunch of stuff that would take longer to describe in a prompt than write itself.

CC BY-NC-SA 4.0

[–] [email protected] 2 points 9 months ago

CC BY-NC-SA 4.0

why do some people post this link at the end of their comments?

[–] [email protected] 3 points 9 months ago

There's around 10 developers and most use it now.

We have bing enterprise.

I've found that anything that used to be a Google followed by skimming a few blogs or docs is now a question to it.

It summarizes the articles that I was going to read, extracts the specific information I was after and sources each sentence so I can read it if I want to. Also allows follow up questions, which is big.

It has essentially replaced googling for me.

I also use it for refactoring and other tasks like that as well.

The speed at which I can get productive in a new language or framework has greatly increased.

I've also noticed our juniors can get up to speed very fast with minimal input.

[–] [email protected] 2 points 9 months ago

Pretty close to hundred percent. Though, I work for Microsoft which is a bit biased.

[–] [email protected] 1 points 9 months ago

No one uses "ai" assistants. Everyone is aware that they are terrible at most things.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

Not at all, officially speaking; giant corporation BTW. Biggest reason is that security and data governance is still figuring out which ones they can run on-prem to prevent any data from being copied to a non-EU server (preferrably no external server at all). Github Copilot is giant no-no, MS Copilot may be an option. We'll see.

AI is the future BTW, providing massive worth. It's a great tool to increase your abilities and skill , to be able to provide a fuckton of value within a short time, instead of having to wait for people to grow into their job. Especially if you are junior.