Post 1: How will AI tools impact our futures as developers?

Talking about AI tools in academia can be a touchy subject. As a student, we are discouraged (or worse) from their use, in an effort to make sure we as students understand the principles of software development. I do agree that learning these principles, especially as it relates to classes such as Data Structures, Web Development and Algorithms, are key in our learning processes, but these AI tools should be used in certain applications.

One such application are internships. Over the summer I had the great opportunity to be a software engineering intern at Trimble, Inc, specifically Viewpoint. As I was thrown into a full stack software team, learning brand new languages (C# and TypeScript) and framework (.Net), they encouraged me to use AI. Rather than use ChatGPT as you might assume, they had Microsoft’s Azure OpenAI, which is basically the same thing with a few key differences.

First, it was set up such that no data was shared externally. While the team stated to never put sensitive information into Azure OpenAI out of good practice, it still took in prompts and responded with code, explanations, etc. Since part of what we were working on included an HR database, the truly sensitive data was encrypted and not visible in the databases.

Second, there were parameters that could be adjusted to further fine tune your model. These include things like:

  • Temperature – controls the randomness of the model
  • Top probabilities – adjusts the token selection (how biased is the model to choose tokens with higher probabilities)
  • Max Length – adjusts the length of the model’s response
  • And others…

Nearing the end of my summer internship, an additional tool was being brought online for the software engineers to use. This tool was GitHub Copilot. Though I didn’t get a chance to test it myself, one developer on my team did a demonstration. From what I saw, it is a different experience from ChatGPT and Azure OpenAI. GitHub Copilot works right within your IDE, such as Visual Studio Code and can offer suggestions to auto-complete lines of code. Therefore there is no translating code between a browser and an IDE, which is truly a game changer.

I realize that my view of just one single internship is not statistically significant, there are practical reasons why use of AI tools will continue to spread through the industry. Learning to adapt and use these tools will help speed up learning a new language, increase productivity (output), and may lead to alternate/new solutions that you hadn’t seen before.

But there are pitfalls to be avoided as well. AI tools can introduce security risks, the tool may not understand what your goal is, sometimes gives you bad code that is just plain wrong, and there are limits on how much it can process at a time. Keep this in mind as you choose whether to use the tools for your next project.

Happy coding!

Print Friendly, PDF & Email






Leave a Reply

Your email address will not be published. Required fields are marked *