Software Developers - what technologies do you use?

Thanks for the Necro. AR is such a cool technology. The new headset from apple is very interesting. I wish AR had that “killer app”. Maybe from you? :slight_smile:

Our company recently started giving us developers Github’s Copilot. Anyone else using that? If so, what is your experience?

2 Likes

It can be great if you know what you’re doing already and catch the mistakes it makes. It can be horrible if you don’t as it’s still not the best for many many things. But if you have a solid mindset it can speed things up a lot. The chat is better than normal pilot also most of the time.

2 Likes

No, Copilot will not write code for you. I am, however, interested to see how it affects novice vs experienced developers. The biggest help I see for both is a unified syntax approach. In Javascript there are so many different ways to do the same thing. I am hoping that this helps out with novice developers writing foreach() and filter() functions in a unified way.

I see it as a much more informative tool for compiled languages vs. interpreted. There is only so much you can do for functional programming.

2 Likes

It will pick very different methods depending on what is typical for the results you want so its very random. You can prompt it to use HOF though for example and contain it a bit better.

Also not sure what you mean by it won’t write code for you, this is what it indeed does.

1 Like

Maybe your experience is different but for me Copilot does not suggest any code until I start typing something. Once I start creating code- if I write: variable.foreach - the suggestion is now a variable.foreach(() =>{}) function framework that you can fill-in.

Writing code is quite different. I KNOW what it is that I am trying to achieve. Copilot only knows what I am trying to write while getting there. I create the algorithm.

Not a fan. I used it briefly with a niche open source computer vision project and it hindered me more than
helped. Its great for webdev as it automates a good portion of common functionality.

That being said using a handful of GPT daily. GPT 3.5 → Microsoft GPT (CoPilot) → Google Bard. All slightly configured for different things. CoPilot being my fav out of the bunch since it automatically provides reference documentation

2 Likes

We are just getting it for all of our developers. So I have no real experience yet.

Yeah I mean you can give it comments like //make a function to return a token. Or do this via prompt with copilot chat and it will write all the code for you without any code needed from you.

Hmm. I did not know you could prompt it with comments. I knew about chat. Interesting. See -I need people’s feedback. Thanks.

Yep like I said overall as long as your using something thats not cutting edge tech, have some experience under your belt it can be a great tool. If you land in areas with less source samples like okta in swift for a real world example. It will struggle to offer you much help that you would want to use.

2 Likes

So, I am necroing this thread to see what people’s experience is with Copilot? Are you using other AI tools? What is your experience? Aha-moments?

Mine was when I outlined a section of http-connection code and then pasted a warning I was seeing in the console of the browser. Copilot was able to tell me specifically what to fix in my code. I was like - whaaaa… Another was creating a set of react-actions in a set of files and then importing them to a file called file.test.js, Copilot not only recognized that I wanted to write tests for those actions - it wrote a series of jest test frameworks for each action which I could fill in with required mock functions as well as data. Real time-saver. I also hate wasting my time writing unit-tests so any shortcuts there is much appreciated.

I am thinking about using Copilot to re-factor a set of older-code from one technology to another (vanilla redux to redux-tooolkit) to see if it can do something like that.

3 Likes

I have used some of the generative ai for coding. It has done ok with simple tasks; a little refactor, writing some small unit tests. It has also occasionally made up APIs that seem like they do exactly the thing I want them to do… :man_shrugging:

3 Likes

I haven’t had a chance to try Copilots capabilities yet. It’s alright at summing up information I need or some quick info. I had an early version of ChatGPT walk me through making Pong from scratch. Took me FOREVER to figure out how to talk to the program properly, but after a while, it walked me through downloading, installing, and running a perfectly usable code in Python where I asked it to make an orange and pink version of pong. It burned my eyes, but it worked. I start a python/java class this year, so we’ll see how much AI is getting funneled into the modern workforce.

2 Likes

I’ve reviewed copilot from a NIST 800-53 perspective and short answer. Nah., longer answer with some adjustments and certain things blocked/disabled maybe with a big asterisk. That’s all I’m at liberty to say but security engineer here and me no like.

2 Likes

I’m not a developer but as a senior research tech I use Python and R interchangeably on a daily basis.

I’ve built some data dash boards and interactive visualizations but usually work with the programmers we have on staff for larger projects.

I got my degrees in geography and GIS but taught myself on the job over the years.

I also worked as the Net Admin for a handful of years but moved to research tech position when a spot in the Biology Dept opened up.

We’re a small Environmental Science non profit specializing in water resources and environmental monitoring.

2 Likes

I been using 4o more than anything these days. It’s useful for generating quick and dirty API integration example code, web code and my favorite: regex.

I gave both Copilot (Microsoft) and GitHub copilot a try in the past and really liked Copilot for its flexibility in response configuration. As for GitHub copilot, it hallucinated nonexistent and obsolete code, making it a bit of a pain to use at the time. Could be a different story with larger/more interacted with codebases.

It’s great for rubber ducking as well since you can “argue” a point/approach/concept and even learn something new in the process. I do think GPT needs to start providing more sourcing for its solutions similar to how Copilot does.

1 Like

That seems to be a common perception. My wife’s company has banned copilot for “security” reasons also.

When the internet first became popular; it too was seen by business as a threat. As someone who has used copilot for a few months I can say that I do not think anything; be it politics or security concerns, will stop adoption of these types of tools. They are far too helpful and useful to not use. To me, the question is going to be one of terms of adoption - not “if”.

I was so blown away by what copilot has done for my team’s efficiency and happiness that I went out and bought a bunch of way-overvalued NVIDIA stock. Now I have 8x shares of even more overvalued NVIDIA.

This is the start of a super-cycle.

1 Like

Also: @YoyoGeezer

Not security tech, but my company’s security person put a big blanket “NO” on any AI currently on the market.

2 Likes

To be clear, my team is a National company guinea-pig for these tools since we are open-source client end developers for internal business applications. Our code is browser-based so the source-code is already visible to any authorized user who cares to use reverse compilers on our bundle.js.

The point I am making is that this knee-jerk reaction is not realistic. These tools will be essential to business in both software development as well as in general business moving forward. Those that do not use them will be at a competitive disadvantage.

Edit: I think the perceived “threat” is also a misconception of how copilot works. Although it has access to your code it does not do so in a manner that other human beings could “read”. Only if there is a nefarious actor that is able to see the entirety of your code-base; the data captured by copilot is not going to be useful. Unless you are unlocking valuable secrets like national security briefings; it would be much easier to just develop the whole code base yourself. Copilot is just ramming the code into a network that is spitting back answers based on common bits and pieces of the code it “sees”. It does not read anything that is not open in your IDE. Once you close the session, the data structure itself is lost. Only interesting bits and pieces are retained at any one time as weightings in the network. Trying to piece that together, In a network being used by millions of users simultaneously sounds like something only a state-actor could even attempt to do. As someone who worked on the old Intel Terraflop project - I can assure you that these actors do not need copilot to penetrate your security.

I work for a large defense contractor on one hand while the system security plan and RACI provided by MS look good there are questions that haven’t got great answers and some concerns that probably won’t be resolved in the coming year. With that said your right it’s about adoption and I already have a cyber accelerator team and internal group working on testing these tools and finding use cases that can fit and meet a lower data class to be allowed forward. In the end it’s coming. We know it we can’t stop it but there are worries that from a DFARs perspective are going to need solid answers before this is useful for many of the spaces I’m reviewing designs for.

With that said I can see the private sector having a field day and the finance sector is probably already playing the how can we exploit this to make money game.

1 Like