Code Monkey home page Code Monkey logo

phase-1-ai-artificial-intelligence-in-the-software-engineering-industry's Introduction

AI in the Software Engineering Industry

Learning Goals

  • Give an overview AI usage in the software engineering industry.

Introduction

Companies have started making consumer facing products based on AI. However, they have been incorporating AI into their products and using AI to analyze data for years.

We will discuss two broad areas of AI usage among software engineers:

  1. Core Business Development.
  2. Learning Process and Development Workflow.

Core Business Development

The “core business” of a company represents the central products or services that the company provides to its customers or clients. For example, Starbucks provides coffee and a consistent, familiar experience for its customers.

Companies have been incorporating using ML models to augment their product features, improve their services, and make better decisions.

We’ll briefly discuss 2 examples:

  1. Starbucks uses a system called Atlas to decide where to open new stores. This system takes into account various features such as population density, traffic patterns, consumer habits to estimate the economic viability of various locations.
  2. Netflix uses ML to augment search with in-session adapted recommendations. If a user has been watching stand-up comedy shows in a particular session, they will be recommended similar shows when they use the search functionality.
  3. Wildlife Conservation institutes have been using AI to automate wildlife tracking and monitoring. These systems have also been used to detect poachers and prevent them from harming wildlife.

As a software engineer, our goal is to solve problems while considering requirements and constraints. AI is another tool we can use to design and develop better systems. Software engineers often work alongside machine learning scientists to incorporate these models into various systems and processes.

Learning Process and Development Workflow

The StackOverflow Survey has started including an AI section since 2023. They also have an article on the Developer Sentiment Around AI/ML in their 2023 survey. They break down usage according to subfields in software engineering.

The key takeaways for us are:

  • Most developers are using AI tools in some capacity in their development process.
  • A large majority have favorable views of using AI tools in their workflow.
  • The majority don’t trust the accuracy of the output of AI tools.
  • The biggest benefits for developers are increased productivity, greater efficiency, and speeding up learning.

Professionals are still in the process of fully understanding how to use these tools so there isn’t any general consensus on best practices yet.

Our Recommendations

In this course, we will primarily focus on the second category (Learning Process and Development Workflow). Software engineers have to constantly learn new things and make prototypes. Any tool that makes one or both of these processes faster or easier will greatly improve productivity. This is why we will focus on learning how to use these tools effectively.

As an early career engineer, it is imperative that you focus on learning the fundamentals of programming and computer science before trying to incorporate AI systems into your applications. Once you understand the basics of data modeling and APIs, you will be able to start using pre-trained ML models.

We will learn how to use AI chat bots to accelerate our learning process, debug more efficiently, and autogenerate data for prototyping.

Conclusion

Software engineers are still figuring out how to best use AI to improve their workflow and productivity. Although most engineers don’t trust the code that’s generated by AI, they have an overall positive outlook for the role of AI in development. Meanwhile, an increasing number of companies and institutions are incorporating ML models into their products and services to great effect.

AI tools are rapidly improving and it’s important to understand how to use them effectively while being aware of their limitations.

Resources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.