Hyperbolic Tangent Activation Function for Neural Networks

Artificial neural networks are a class of machine learning algorithms. Their creation by Warren McCullough and Walter Pitts in 1944 was inspired by the human brain and the way that biological neurons signal one another. Neural networks are a machine learning algorithm since the algorithm will analyze data with known labels so it can be trained to recognize images that it has not seen before.. For example, in the Data Science Bootcamp at Flatiron School one learns how to use these networks to determine whether an image shows cancer cells present in a fine needle aspirate (FNA) of a breast mass.

Neural networks are comprised of node (artificial neuron) layers, containing the following:

  • an input layer
  • one or more hidden layers
  • an output layer

A visual representation of this is on view in the figure below. (All images in the post are from the Flatiron School curriculum unless otherwise noted.)

Visual representation of neural networks with input, hidden, and output layers.

Each node connected to another has an associated weight and threshold. If the output is above the specified threshold value, then the node activates.. This activation results in data (the sum of the weighted inputs) traveling from the node to the next layer that is composed of nodes. However, if the node is not activated, then it does not pass data along to the next layer. A popular subset of neural networks are deep learning models, which are neural networks that have a large number of hidden layers.

Neural Network Activation Functions

In this post, I would like to focus on the idea of activation, and in particular the hyperbolic tangent as an activation function. Simply put, the activation function decides whether a node should be activated or not. 

In mathematics, it is common practice to start with the simplest model. In this case, the most basic activation functions are linear functions such as y=3x-7 or y=-9x+2. (Yes, this is the y=mx+b that you still likely recall from algebra 1.) 

However, if activation functions are linear for each layer, then all of the layers would be equivalent to a single layer by what are called linear transformations. It will take us too far afield to discuss linear transformations, but the upshot is that nonlinear activation functions are needed so that the neural network can meaningfully have multiple layers. The most basic nonlinear functions that we can think of would be a parabola (y=x^2), which can be seen in the diagram modeling some real data.

line graph representing quadratic regression best-fit line with augmented data points.

While there are a number of popular activation functions (e.g., Sigmoid/Logistic, ReLU, Leaky ReLU) that all Flatiron Data Science students learn, I’m going to discuss the hyperbolic tangent function for a couple of reasons.

First, it is a default activation function for Keras, which is the industry standard deep learning API written in Python that runs on top of TensorFlow, which is taught in detail within the Flatiron School Data Science Bootcamp.

Second, the hyperbolic function is an important function even outside of machine learning and worth learning more about. It should be noted that the hyperbolic tangent is typically denoted as tanh, which to the mathematician looks incomplete since it lacks an argument such as tanh(x). That being said, tanh is the standard way to refer to this activation function, so I’ll refer to it as such.

line graph titled "tanh" with two lines - original (y) and derivative (dy)

Neural Network Hyperbolic Functions

The notation of hyperbolic tangent is pointing at an analog to trigonometric functions. We hopefully recall from trigonometry that tan(x)=sin(x)/cos(x). Similarly, tanh(x)=sinh(x)/cosh(x), where sinh(x) = (e^x-e^-x)/2 and cosh(x) = (e^x+e^-x)/2.

So we can see that hyperbolic sine and hyperbolic cosine are defined in terms of exponential functions. These functions have many properties that are analogous to trigonometric functions, which is why they have the notation that they do. For example, the derivative of tangent is secant squared and the derivative of hyperbolic tangent is hyperbolic secant squared.

The most famous example of a hyperbolic function is the Gateway Arch in St. Louis, MO. The arch, technically a catenary, was created with an equation that contains the hyperbolic cosine.

Image of the Gateway Arch in St. Louis, MO

(Note: This image is in the public domain)

High voltage transmission lines are also catenaries. The formula for the description of ocean waves not only uses a hyperbolic function, but like our activation function uses than.

Hyperbolic Activation Functions

Hyperbolic tangent is a sigmoidal (s-shaped) function like the aforementioned logistic sigmoid function. Where the logistic sigmoid function has outputs between 0 and 1, the hyperbolic tangent has output values between -1 and 1. 

This leads to the following advantages over the logistic sigmoid function. The range of [-1, 1] tends to make:

  •  negative inputs mapped to strongly negative, zero inputs mapped to near zero, and positive inputs mapped to strongly positive on the tanh graph
  • each layer’s output more or less centered around 0 at the beginning of training, which often helps speed up convergence

The hyperbolic tangent is a popular activation function that is often used for binary classification and in conjunction with other activation functions that have many nice mathematical properties.

Interested in Learning More About Data Science?

Discover information about possible career paths (plus average salaries), student success stories, and upcoming course start dates by visiting Flatiron’s Data Science Bootcamp page. From this page, you can also download the syllabus and gain access to course prep work to get a better understanding of what you can learn in the program, which offers full-time, part-time, and fully online enrollment opportunities.

Why Do We Need Statistics for Data Science?

I began the preceding post “Learning Mathematics and Statistics for Data Science” with the following definition: Data science is used to extract meaningful insights from large data sets. It is a multidisciplinary approach that combines elements of mathematics, statistics, artificial intelligence, and computer engineering. Previously, I described why we need mathematics for data science and in this article I’ll answer the companion question: 

Why do we need statistics for data science? 

However, before we can turn to that question, we need to talk about statistics in general.

What is Statistics?

Statistics is the study of variation of a population using a sample of the population. 

For example, suppose we want to know the average height of American adult men. It is impractical to survey approximately all 80 million adult men in the United States; we’d just survey the heights of a (random) sample of them. This leads us to the two types of statistics that we need to know for data science: viz. descriptive statistics and inferential statistics.

The Two Types of Statistics for Data Science

Descriptive statistics is the branch of statistics that includes methods for organizing and summarizing data. Inferential statistics is the branch of statistics that involves generalizing from a sample to the population from which the sample was selected and assessing the reliability of such generalizations. Let’s look at some examples of each.

Descriptive Statistics

Data can be represented with either images or values. The following graph is a histogram of the distribution of heights of American adult men in inches.

graph chart showing the bell curve of the distribution of height of american men.

You are likely familiar with common descriptive statistics such as means, medians, and standard deviations. For example, the average height of American men is 69 inches. While there are more sophisticated descriptive statistics than these, they all serve the same purpose: to describe the data in some way.

Inferential Statistics

Inferential statistics uses descriptive statistics and probability to draw inferences regarding the data. The most common types of inferential statistics are confidence intervals and hypothesis testing. 

Confidence intervals allow us to estimate an unknown population value (e.g., the height of American men in inches). 

A hypothesis test is a method that helps decide whether the data lends sufficient evidence to support a particular hypothesis; for example,is the average height of American men greater than 69 inches? 

Returning to our definition of statistics, we can see that the fundamental issue that statistics is dealing with, whether it is descriptive or inferential, is variation in the sample data. Also, using the sample data to draw conclusions about the population or populations of interest.

While statistics is used in many disciplines and applications, the way that data science uses statistics has some unique attributes. That said, what we have described forms the basis of the statistics that are used in data science. So let’s turn to that. I will note, of course, that we’re speaking in generalizations (the details are discussed in programs like the Flatiron School Data Science program). 

There are three primary goals using data science with statistics.

  1. Regression
    • Predicting an attribute associated with an object
  2. Classification
    • Identifying which category an object belongs to
  3. Clustering
    • Automatic grouping of similar objects

Statistical Learning in Data Science

Regression, or prediction, models are the oldest of the machine learning models; in fact, they preexist computers. The basic version (simple linear regression) of these models is taught in introductory statistics classes. In the case of linear regression, the idea is to get a line that best fits two variable data.

Line graph example with sample data points

For other more sophisticated models, the idea is the same. For example, it could be the case that the data can be better modeled by a function other than a line such as a quadratic curve, as seen in the below image.

Line graph showing quadratic regression best-fit line with actual data points

Classification models are used to determine which group a particular class a datum belongs to. The canonical example comes from the iris dataset where the data contains the sepal length (cm), sepal width (cm), and the three classes of irises: Setosa, Versicolor, and Virginica. The popular K-nearest neighbors model classifies each iris based on the sepal measurements, as can be seen in the below image.  

chart showing 3-class classifications

Clustering models seem similar to classification models since the algorithms are also grouping data together; however, there is a fundamental difference. Classification models are an example of supervised learning. In other words, the machine learning algorithm is able to train on data (known as labels) with known outcomes so it can classify with new data. Clustering models are an example of unsupervised learning, where the algorithm is determining how to group the data. Clustering models like K-means separate the data into groups with similar statistical properties.

k-means clustering on the digits dataset (PCA-reduced data) Centroids are marked with white cross.

A common place where K-means is used is for customer or market segmentation of data, which is the process of clustering a customer base into distinct clusters of individuals that have similar characteristics.

The reason for statistics for data science is that we need statistics to understand the data through descriptive and inferential statistics. Further, in order to use the power of artificial intelligence, we need to be able to use statistical learning techniques.

Ready To Get Started In Data Science?

As a next step, we’d encourage you to Try out our Free Data Science Prep Work to see if data science is right for you.

If you realize you like it, apply today to start learning the skills you need to become a professional Data Scientist.

Not sure if you can do it? Read stories about students just like you who successfully changed careers on the Flatiron School blog.

Demystifying AI and ML: An Intro for Bootcamp Grads

ChatGPT catapulted AI tools to the forefront of the public consciousness when it reached 100+ million weekly users last year. Several more apps like ChatGPT have since been launched, such as Bing Copilot and Bard. Although these services can be helpful for software developers, most of the time they’ll use other tools or work with technologies that are in a completely different category.

Over 70% of developers are already using or plan to use AI tools in their development process according to the 2023 StackOverflow survey. The same survey shows that the overwhelming majority of developers (75%+) have a favorable or highly favorable view towards using AI tools as part of their development workflow. 

In this blog post we will be going over what developers are using these tools for, which tools they are using, and how machine learning fits into the development process in companies.

Artificial Intelligence and Machine Learning

Before we dive into what kind of technologies and processes developers use in their day-to-day work, it’s important to understand the difference between artificial intelligence (AI) and machine learning (ML).

An image of three overlapping circles labeled deep learning, machine learning, and artificial intelligence

Artificial Intelligence

Artificial intelligence describes any computer program that performs tasks that require human intelligence, such as speech recognition, reasoning, perception, and problem solving. John McCarthy, a Turing Award-winning computer scientist and one of the founders of the AI field, said, “AI is the science and engineering of making intelligent machines, especially intelligent computer programs.”

Machine Learning

Machine learning is a more specific term that describes a field of study concerned with the development of algorithms and statistical models that enable computer programs to perform human-like tasks. The core idea behind ML is to use large datasets to identify patterns and learn from them to perform specific tasks. IBM has a good video on the differences between AI and ML that will provide further clarification.

You may also come across the term “Deep Learning” which is a subset of machine learning. We won’t go into it here but if you’re curious, 3Blue1Brown has an excellent video on how neural networks work.

AI in Software Engineering

Software engineers or developers work with AI based technologies in two key areas: development workflow and product feature development.

Development Workflow

Development workflow refers to the processes used to plan, develop, test, deploy, and maintain software products and services. Tools like GitHub Copilot can significantly speed up these processes since they can be trained on specific codebases on top of having insights from billions of lines of publicly available repositories. Having a tool that can provide suggestions and answer questions based on the current project and context can drastically improve the developer experience. In fact, over 70% of developers say AI coding tools will allow them to write better quality code, produce more code, resolve incidents faster, and collaborate more effectively according to a 2023 GitHub Survey

The AI tools used for improving developer experience are usually available off-the-shelf. These tools still need to be trained on the existing codebase for the best results but they don’t require a significant amount of developer work hours. Developers can quickly get up to speed on the basics of these tools and start incorporating them into their workflow to boost productivity since they don’t require any specialized skills.

Product Feature Development

Companies are constantly looking to improve their products by offering novel features. Product features that incorporate advanced ML algorithms can give companies a competitive edge by providing a better customer experience. 

For example, the following diagram gives an overview of how Netflix incorporated an ML model to improve search results for users:

a diagram showing a flowchart overview of how Netflix incorporated an ML model to improve search results for users

You can read about how this model works in the “Augmenting Netflix Search with In-Session Adapted Recommendations” research paper.

A team needs to have people with various skills in order to develop and maintain a system like this since the feature may require custom algorithms, infrastructure, and code. Working on these systems usually requires knowledge of machine learning and MLOps. 

Where to Go From Here?

If you want to build AI systems and not just use AI tools, you’ll need a solid theoretical foundation and practice building applications or creating infrastructure. Here are a few free courses to get you started on your journey:

Courses for Beginners:

Courses on AI Ethics:

Practical Courses:

These should be enough to keep you busy for a while and give you a solid AI and ML foundation for building your own AI/ML products or services. 

Ready to Learn Software Engineering Foundations?

Any ML role requires a foundational knowledge of software engineering. If you are not a bootcamp grad but are ready to start your journey as a software engineer, apply now to Flatiron’s program.

Not ready to apply? Try out our Free Software Engineering Prep. Or, review the Software Engineering Course Syllabus that will set you up for success and can help launch you into a new and fulfilling career.

You can also read more stories about successful career changes on the Flatiron School blog.

AI and Cybersecurity

This piece on the future of AI and Cybersecurity was created by Matthew Redabaugh, Cybersecurity Instructor at Flatiron School.

There’s a fascinating conversation happening today about AI and the impact it may have as it gets adopted. There’s a wide variety of opinions on the 5 Ws.

  1. Who will be impacted? 
  2. Who might lose their job or have their jobs adapted? 
  3. Will particular industries need more personnel thus the impact of AI will create more jobs? 
  4. What will change in everyday life as the technologies we have been accustomed to change due to AI?
  5. Will that change be subtle or drastic?

These are the kinds of questions that people are asking, especially in the field of cybersecurity. The main question I want to answer today is, “What is the relationship between AI and cybersecurity and how might the industry change with AI advancements?”

In this blog post, we’ll delve into the intricate relationship between AI and cybersecurity, debunk common misconceptions, and explore how AI is reshaping the landscape of digital defense.

What is Artificial Intelligence?

Let’s begin by addressing some common misconceptions about what AI is. 

The primary goal of AI is to give computers the ability to work as a human brain does. While this definition isn’t particularly narrow, AI’s scope is also quite broad. For a computer to be considered AI, it must encompass the ability to reason, learn, perceive, and plan. This is often accomplished through the development and implementation of algorithms that rely on statistics and probability to achieve a desired outcome.

Applications for Artificial Intelligence

Some use cases for AI that are being actively worked with are speech recognition and understanding languages, as well as the AI that is being used for travel assistance (updating maps, using AI to scan roads and create efficient routes.) AI empowers cybersecurity professionals to enhance their security posture through automated responses to attacks, to identify phishing schemes, to detect anomalous activity on networks (previously done manually), by analyzing weak passwords and then requiring users to update them, and more.

Is AI Conscious?

A common misconception about AI is that it is currently conscious or will become so in the near future.

One of the most interesting use cases for AI is Sophia, a humanoid robot introduced in 2016. It is the first robot to have been granted personhood and citizenship status in Saudi Arabia. Sophia can hold simple conversations and express facial expressions. Her code is 70% open source and critics who have reviewed her code have said that she is essentially a chatbot with a face because her conversation is primarily pre-written responses to prompted questions. Her existence has sparked an interesting debate over the possibility of having AGI (artificial general intelligence) in the future.

While Sophia’s sophistication in robotics is undeniable, the notion of her “consciousness” remains contested.

AI vs. ML vs. DL

There are two other terms that are often misconstrued or used interchangeably with AI. These are Machine Learning (ML) and Deep Learning (DL). It depends on use context and who may be using these terms as to what their more specific definition is. I consider them as subsets. ML is a subset of AI and DL is a subset of ML.

What is Machine Learning?

Machine Learning is set apart by its ability to learn and respond differently and uniquely by ingesting large amounts of data using human-built algorithms. This is done through either supervised learning, where the computer is given specific parameters by the developer to compare data inputs. Or unsupervised learning, where the computer is fed data and the algorithms allow for the computer to find relationships on its own. 

Applications for Machine Learning

In our daily lives, Machine Learning shapes experiences on music platforms like Spotify and Soundcloud. These platforms use algorithms to predict the best song choice for a user based on their preferences. Youtube employs a similar video-generating algorithm to select a video after one is finished.

Machine Learning in Cybersecurity

Machine Learning is used a lot in the cybersecurity world. Its tools may be used to ingest large amounts of data from networks and highlight security risks based on that data, like malicious access to sensitive information from hackers. This makes threat hunters’ jobs much more manageable. Instead of having to set security alerts and then respond to those alerts, we can use machine learning tools to monitor our environment. Based on prior attacks and knowledge of an organization’s systems and networks we better understand that an attack might be taking place in real time. As you can imagine, these tools are far from perfect, but they’re definitely a step in the right direction. 

What Is Deep Learning?

Deep learning is again an even more precise subset of Machine Learning. It functions in nearly the same way as ML but is able to self-adjust whereas ML requires human intervention to make adjustments.

Applications For Deep Learning

Some examples that are being used today are computers that can do image and pattern recognition. We’ve also seen this done with computers being able to ingest hours and hours of sound from an individual and then mimic their speech patterns. Self-driving cars would also fall into this category as they actively ingest data about the conditions of the road and other cars and road hazards to correct the car’s driving.

The common large language models like ChatGPT and Google’s Bard are considered deep learning as well.

Deep Learning In Cybersecurity

The ability for DL tools to mimic speech poses a genuine concern for cybersecurity professionals as it will allow for attackers to perform spear phishing attacks that are much more convincing.

Using AI For Good In Cybersecurity

Elevating Cybersecurity Blue Teams

One of the most important tools in the field of cybersecurity is something we call a SIEM. This stands for Security Information and Event Management. Traditionally a SIEM tool would be used by security operations center analysts to give us a clear picture of what is happening on an organization’s computer networks and applications, detect any malicious activity and provide alerts to the analysts so that they can respond accordingly. 

With Machine Learning, these tools have been upgraded so that if a security event occurs, the response is automated instead of the security team having to do this manually. 

These new tools we call SOARs: Security Orchestration, Automation, and Response. To give you an example, if a user in your organization was hacked and their account was being used by someone else, with a SIEM, if it’s working as intended, it may alert the security team that an account is being used maliciously. The analyst would inform the necessary parties and take that account offline or take the network down where that compromised account is being used. 

With a SOAR, whatever response that would be taken by the security analyst to remediate the issue, is now automated. SOARs use the concept known as playbooks, prebuilt and automated remediation steps that initiate when certain conditions are met. This transition not only expedites incident response but also minimizes potential human errors, significantly enhancing an organization’s cybersecurity posture. This still requires human intervention because this technology is still far from perfect.

Combat Phishing Attacks & Spam

AI is being used in the cybersecurity field to help our security personnel identify and classify phishing attacks and spam. It’s also being used to help with malware analysis where we can run the code of a discovered exploit through an AI tool and it may tell us what the outcome of that malware would have on our environment.

Expedite Incident Response

We can use AI to help us with Incident Response, as I mentioned earlier, with the automated remediation efforts that can happen with SOAR tools. AI can also be used to gather data to predict fraudulent activity on our networks which can help the security team address a potential liability before data is stolen or malware is installed on a system.

Prevent Zero-Day Attacks

With Machine Learning, cybersecurity professionals have a much better chance of protecting themselves against zero-day attacks. This is when a system or application vulnerability was previously unknown to the application’s developer. With Machine Learning, that vulnerability could be identified before an exploit occurs. In addition, machine learning could identify an intrusion before data is stolen or an exploit is carried out.

AI Uses for Bad Actors

Even with all the positive possibilities of AI and Cybersecurity, there is a dangerous side. The same technologies being used to protect our networks can and are being used to make hacking easier. 

Trick Network Security

If machine learning tools are implemented on a network, proficient hackers may be able to identify this. They can then act accordingly to deceive the machine learning tool into thinking that the hacker is a regular user.

Elaborate Phishing Campaigns

A very scary use case for AI being used by hackers is to create far more convincing phishing campaigns. The major cause of breaches is still mainly a human element. And, phishing is still one of the most common ways that hackers cause data breaches.

At the moment, phishing attacks are generally pretty easy to identify. International hackers may use bad grammar or send from an obviously fake email. They may try to hide links to websites that can easily be determined to be falsified. But with the introduction of AI, all of these mistakes can be fixed. 

ChatGPT can easily pass as a human. It can converse seamlessly with users without spelling, grammatical, and verb tense mistakes. That’s precisely what makes it an excellent tool for phishing scams.

Convincing Impersonations Of Public Figures

Another thing cybersecurity professionals are worried about is AI being used to mimic speech patterns, which would make spear phishing campaigns much more difficult to detect. I can easily imagine a world in which Twitter employees are being bombarded with fake emails from Elon Musk, or fake phone calls because his voice would be so easily recreated by AI. And this could happen with just about any CEO or any personnel from any organization.

The Road Ahead

AI is going to make us more efficient and more productive, as almost all technologies have done throughout history. But, as we navigate the evolving landscape of AI in cybersecurity, it is paramount to remain vigilant against its misuse.

I’ll leave you with this quote from Sal Khan, the CEO and founder of Khan Academy:

“If we act with fear, and say, ‘hey we just need to stop doing this stuff’ what’s really going to happen is the rule followers might pause, might slow down, but the rule breakers, the totalitarian governments, the criminal organizations, they’re only going to accelerate. And that leads to what I am pretty convinced is THE dystopian state, which is the good actors have worse AIs than the bad actors. We must fight for the positive use cases. Perhaps the most powerful use case, and perhaps the most poetic use case, is if AI (artificial intelligence) can be used to enhance HI (human intelligence), human potential, and human purpose.”

Chuck Utterback: Diving Deeper Into Data

Chuck Utterback, a June 2021 Data Science graduate from Flatiron School, came to his program with decades of professional experience. 

He shares why he chose to attend Flatiron School to upskill in data analytics below. 

Background in Business

Chuck Utterback began his 30-year career with an MBA in finance. While he initially followed the traditional path by working as a Financial Analyst, he soon transitioned toward data. 

“I derive intense satisfaction in developing business insights through data engineering and analytics. Today’s technology, such as cloud computing, advanced data visualization tools, and analytics programming languages, enable iterative and rapid time to insight.”

In the subsequent years, he held a string of data-focused leadership roles in prominent companies and founded his own analytic consulting company.

“Within years of starting my career, I migrated into cross-functional business analytics. [But] to answer complex business questions, I found the data sources insufficient,” he said. “To remedy this, I began building data warehouses, leading to 15 years of consulting projects in data warehousing, data visualization, and process improvement.” 

Bootcamp Experience

After 15 years, however, technology had changed. To keep up with evolving capabilities, Chuck determined it was time to go back to school and update his skillset. 

“I decided to pause client work and invest in developing more profound data science and machine learning skills,” he said. “I aimed to bring more robust statistics and machine learning techniques into my existing analytics practice. ” 

Choosing Flatiron School, Chuck said, was the result of an analysis combining several factors and features of its programs.

“Flatiron [School] had the best combination of course materials, commitment length, and remote flexibility. I chose the full-time data science bootcamp and focused all my energy there for six months.” 

Even before the program began, Chuck’s skillset quickly began to expand. 

“The onboarding assignment was to use Python to code gradient descent calculus equations,” he explained. “The project stretched me from the start but was foundational to getting comfortable with Python functions.” 

The coursework, he said, had relevancy to his practice throughout the program.

“I liked learning classification models due to their relevance to solving business problems like customer segmentation/churn and predicting various outcomes across any business process.” 

Working With Data

Unlike most Flatiron School students, after graduating in June 2021, Chuck returned to where he began – using data to reduce his customer’s friction, find revenue opportunities, and expose process inefficiencies. The transition back into using data to meet clients’ needs – as opposed to creating projects for a grade – has been a fluid one. 

“I love [what I do]. I target to keep at least 80% of my time heads-down (versus meetings), solving problems using data.” 

As for his new skills, he’s already putting them into practice. 

“I use Python to extract customer data from Salesforce into Google Big Query and automate data quality applications and customer insights. Overcoming poor data quality is a considerable impediment to advanced techniques.”

Reflecting On His Journey

Looking back on his time at Flatiron School, Chuck’s main takeaway is to always bet on oneself, and never stop learning.

“Embracing continuous learning by investing in myself – upskilling within analytics through Flatiron – drives a positive return on investment.” 

His advice for other data science students is to remember that Flatiron School is just one piece of the puzzle, it’s critical to prioritize being a well-rounded applicant. 

“Formalize daily habits in data science coding and reading that go beyond the Flatiron curriculum so you can sustain momentum after graduating.”

Connect with Chuck on Medium or LinkedIn

Ready To Dig Deeper Into Data, Just Like Chuck Utterback?

Apply Now to join other students like Chuck Utterback in a program that sets you apart from the competition. 

Not ready to apply? Try out our Free Data Science Prep Work and test-run the material we teach in the course. Or, review the Data Science Course Syllabus that will set you up for success and help launch your new career.

Read more stories about successful career changes on the Flatiron School blog.

Data Science vs. Software Engineering: Industry Trends and Future Predictions

The road to the future isn’t paved with asphalt—it’s a path defined by ones and zeros. For centuries, infrastructure was in the hands of physical labor engineers. Today, it’s the masters of data science and software engineers who will move today’s societies into the next stage of technological advances.

In this piece, we’ll examine industry trends in data science vs. software engineering, forecast the direction of both fields, and consider how they’ll impact each other in the future.

Industry Trends in Data Science

Hiring Growth

The industry is actively seeking data scientists. Estimates show data science employment is expected to grow by a staggering 36% from 2021 to 2031. The future is in the hands of skilled data analysts, data engineers, and data architects who can use data analysis to extract valuable, actionable insights.

Gathering Big Data

Projections suggest more than 150 billion devices will be generating 175 zettabytes of data by 2025. Much data will be generated and analyzed in real-time, providing almost-instant feedback for improved results (think content recommendation systems).

These mountains of captured data will drive company decisions, strategies, and future projections. People who can design complex new analytical models and then train machine learning systems on those models will be invaluable.

Analyzing TinyML and Small Data for Data-Driven Devices

The Internet of Things (IoT) has ramped up the need for data scientists who work with TinyML and small data. IoT devices are being developed for nearly every industry, calling for experts to gather and implement that data.

Smart homes. Smart transit. Entire smart cities. All of these call for small, low-powered devices that compute their ML and datasets. These TinyML devices require the expertise of data scientists to collect and analyze billions of data points. They’re then stored in the cloud, streaming new command instructions for these smart devices to act upon in real time.

This is where data science meets the true cutting edge of the future of data-driven devices.

Using AutoML

Analyzing monumental amounts of data collected from databases, platforms, and devices calls for integrating metrics using Automatic Machine Learning (AutoML). 

Data scientists will rely on automated tasks to gather accurate data streams. Likewise, industries will need their expertise to define what tasks are suitable for ML and to train ML on their information models to improve accuracy.

Industry Trends in Software Engineering

High Growth

Like data science, software engineering will likely see extremely fast growth. The industry is expected to grow 25% from 2021 to 2031.

For over a decade, businesses have relied more heavily on digital solutions to traditional scaling challenges. From digital platforms to app development in emerging fields like AI and ML, software engineers are in high demand to build the future.

Utilization of Agile Methodology and DevOps

Software development teams have significantly benefited from advances in Agile Methodology and DevOps programming and share centralized datasets while developing quickly and efficiently. 

Teams consistently share daily progress in small sections of completed applications, later joined to build a final product. Redundant processes like testing for errors and security issues are automated.

Agile and DevOps will trend upwards together as both continue to benefit from increased usage and advances in AI and ML.

Cloud-Based Platform Development

The reliance on cloud computing will increase. Centralized data repositories shared by development teams, massive amounts of storage, and an added layer of security will help businesses scale at cost.

AI and ML Automation

While the AI and ML fields are currently experiencing an explosion of public interest, they’ve been trending for many years. From every sector, automating processes reliably while using ML to train systems for specific tasks to increase accuracy is critical. The roles of AI and ML in Agile and DevOps are expected to continue driving innovations in development.

Advances in Cybersecurity

Cyber threats are rising exponentially. In 2022, there was an average of 1,168 weekly cyberattacks—a 38% rise compared to 2021. Paired with a proportionate increase in complexity and sophistication, companies both large and small are seeking news ways to secure their systems against the onslaught. 

There will continuously high demand for Software Engineering skills in Cybersecurity to keep systems and information secure.

Mobile App Development

The more we rely on smartphones for our daily needs, the greater the need for mobile-friendly app development and support systems. Whether it’s for companies needing to develop AI-based customer support, for apps using gamification to help people in personal development, or even for GPS-based beacon technology, there’s never been a greater need for mobile-first software development.

The Intersection of Data Science vs. Software Engineering: How the Two Fields Will Impact Each Other

It’s easy to think of these two fields as separate entities – as data science vs. software engineering. But, as multiple revolutionary technologies grow exponentially, we’ll see the intersection of technology fueled by advances in both fields—data science and software engineering. 

Increasingly sophisticated software tools will integrate cutting-edge AI and ML, requiring new skill sets from data scientists and software engineers alike. 

Software engineers will draw from massive repositories to streamline and optimize code development. 

Data privacy and the ethics surrounding intellectual property will call on advanced data analytics. At the same time, combining 5G, IoT, and advances in AR and VR will transform every industry.

Data scientists and software engineers will play fundamental roles in shaping the future of banks, hospitals, customer service, and ethical data mining. At the same time, new fields will be emerging, creating demand for roles that don’t exist yet.

Advances in AI and ML

With new applications developed every day that tap into the power of neural networks and large language models, the world will need analysts and other data experts. Data analysts will formulate how to use millions of new data points. Meanwhile, software engineers will experience increased demand to help companies accelerate data use to gain an edge over competitors.

Programs designed to help the user automate tasks will require the expertise of data scientists and programmers to integrate AI and ML upgrades to features. Companies based on a digital platform model will need constant new integrations for greater datasets from users and features to help the user make smarter, faster purchases using advanced predictive models.

Advances in IoT

IoT is going to change the way we look at the world. Every device, appliance, and gadget will operate on analytics designed by today’s data scientists, with code optimized for even the simplest systems. At scale, everything from traffic patterns on our roads to railways and airport runways will require complex models that other machines will read and interpret. 

Cities will rely on well-crafted information systems and dynamic analytics to manage electricity use, waste management, hospital equipment, and other systems. The potential use cases are virtually endless.

Advances in AR and VR

Along with powerful CPUs and other advances, we’ll probably see accelerated movement into practical applications for AR and VR. They’ll factor into production tools, virtual work environments, live events, and virtual game environments — supporting and enhancing experiences in reality. This technology means coding opportunities galore, but it also means opportunities to collect unique new user data.

Advances in 5G

5G does for internet bandwidth what AI is doing for intelligent computing. This technology will open doors for front end developers to design radically upgraded visuals for desktop and mobile.

New predictive models will transform the market in ways we have yet to imagine. Improvement in computing data means collecting real-time information on users and their connections to one another.

Join the Technology Revolution in Data Science and Software Engineering

If you’re considering a future in data science or software engineering, get a taste of what Flatiron School offers: download a syllabus and try your hand at our free lessons.

Or, you may be looking to hire the best talent. If so, learn how we help businesses with our hire-to-retire dream team recruitment services and multiple technology training solutions.

Artificial Intelligence vs. Data Science

Navigating the fast-changing currents of the tech sector can challenge even the strongest sailor. The winds change, the ocean swells, and suddenly a ship that seemed completely seaworthy is wrecked on the rocks of irrelevance. New technologies emerge from the storm every day, promising grand sights just over the horizon. Nowhere is this more true than with the two racing yachts of applied data: data science and artificial intelligence (AI).

What is Artificial Intelligence?

Before going any further, I’d like to make clear that for the purposes of this article, “AI” refers to the generative models that have captured the public imagination over the last two years – applications like OpenAI’s ChatGPT and DALL-E. The applications described as “AI” in the news are algorithms trained for specific tasks on specific datasets. If an algorithm has been trained to play chess, it will play chess exactly as well as it has been trained to.  It will not be able to carry on a human-sounding conversation about chess, or even explain why it makes its moves. That said, if you haven’t played around with ChatGPT or DALL-E or any of these generative models, you should. They’re really a blast!

These two apparent competitors have traded off the lead several times, at least in the imaginations of the tech press and blogosphere. Five years ago, “data scientist” was still the sexiest career of the 21st century. Now, the headline writers seem to think that data science will be rendered obsolete by the advent of AI. Someone who hadn’t been paying any attention at all might even think at this point that “data science” and “AI” are interchangeable. The reality, though, is that AI is really just an application of data science – a set of tools and methods for making data useful.

The Modern Flood Of Data

The world is drowning in data. Estimates put daily data generation globally at 328.77 quintillion bytes. (A quintillion is a 1 followed by 18 zeros!) That’s approximately 328 million maxed-out iPhone 13s – enough for just about every human in the United States. It is practically beyond conception. That volume represents everything: every video, picture, email, and spreadsheet. Every like, favorite, and follow is recorded and stored, but so is every action taken by an Internet of Things (IoT) device like your doorbell video camera, or your fitness tracker.

Data sitting in a data warehouse doesn’t do anyone any good, though. Someone has to make sense of it and make it useful. That is what data science does. Using code, statistics, and machine learning, data science is the field concerned with extracting knowledge and insight from the floods of data running around the world. 

What Does A Data Scientist Do?

We can think of the data scientist as a detective. Clad in a deerstalker cap and Inverness cape or, more likely, a hoodie and noise-canceling headphones, they meticulously sift through the mountains of data looking for gems of insight and understanding. The data scientist uses their analytical skills and abilities, and old-fashioned human curiosity and intuition, augmented by machine learning algorithms and statistical analysis, to pose interesting questions of data. They develop inferential models that can help companies better understand and serve their customers. And they build predictive models that ensure customers find what they are looking for before they know they’re looking for it!

In broad strokes, a data scientist’s job is to make sense of data, to make it useful in some context. And while data science is a tremendous amount of fun to do on its own, data scientists earn our salaries by being useful to businesses or other enterprises. 

Data Science In Action

Let’s take a look at a hypothetical project involving online shopping and customer service. This example will take us through a data science workflow, even up to the construction of a generative model that could help a retailer improve its customer experience. (It should go without saying that not every data scientist can do everything described in this example. This is a rather fanciful scenario to illustrate the vast breadth of work that falls under the heading of data science.)

Imagine a large online retailer called Congo. As a retail platform, Congo wants to make sure that customers make as many purchases as possible on their platform, in part by providing a positive customer experience. 

Asking A Question

A data scientist, charged with improving customer service, begins their work with a question. The question could be simple, like “What do people contact customer support the most often for?” It could be more complex like “How can we improve customer satisfaction while reducing the amount of time a representative spends on a ticket?” The important thing is to have a clear question that, in theory, can be answered with data.

Collecting Data

Along with selling products to customers, Congo collects information about what people are doing on its website, every interaction from the first log-in to the final purchase is tracked and recorded. This goes for interactions with customer support as well as regular interactions. The data scientist can have access to all of this information, but will usually perform their first forays into answering their question on a portion of the data, a dataset. This dataset is collected from whatever database, data warehouse, or data lake Congo uses, and refined using SQL or some other query language.

Initial Analysis

Once they have data in hand, the data scientist can begin analyzing it for patterns. The specifics of how they do this depend on their tech stack, but also on the question they are asking. The two main stacks (‘stack’ is tech-speak for a person’s or organization’s preferred collection of programming tools and frameworks) for data science at the moment build on the R and Python programming languages. Other languages, like Rust and Julia, are growing in popularity, but have not yet gained major holds in the field. 

The initial stages of answering a question tend to look the same. A data scientist needs to get a handle on what is actually in their dataset, and they almost invariably start with descriptive analysis and data visualization. Descriptive analysis is built on the basic calculations of things like mean, median, and mode, as well as variance and standard deviation. Unfortunately, numbers alone don’t tell a complete story, so the data scientist will also likely produce a number of visualizations: scatter plots, histograms, and heatmaps for correlation coefficients. 

Natural Language Processing

Since the questions our data scientist is attempting to answer involve things like problems submitted to customer support, they have to use an area of data science called natural language processing (NLP) in order to get the data into a format that can be analyzed. Computers, for now, do not really know what to do with natural language. If you were to give a regular scripting language, or even Excel, a plain sentence like “The quick brown fox jumps over the lazy dog” and asked it to sum the words, you would get an error. NLP lets data scientists get around this problem, among other things, by creating computer-friendly representations of the words, called tokens.

If the question is a simple one, like “What is the most common complaint on a Tuesday?” or “How long does the average ticket take to get closed?” the data scientist’s work is likely to end with this initial analysis. (In point of fact, a question this simple is more likely to go to a business analyst or data analyst than to a data scientist, but a good data scientist has to be familiar with every stage of the process.) 

Remember that the data scientist’s ultimate goal in this scenario is to improve Congo’s customer service with basic analysis. A more complicated question, like, “How can we improve time-to-close on our customer support tickets?” requires more advanced tools and techniques than simple means and standard deviations. When looking for answers to a question like this, the data scientist is likely to turn to machine learning.

Using Machine Learning To Answer Complex Questions

Machine learning (ML) is a set of algorithms and processes that enable computers to ‘learn’ by recognizing patterns in data and using those patterns to identify new examples of that pattern. Keeping with our customer service example: if we showed a computer thousands of complaints (the data) and told it how to look at those complaints (the algorithm), it would pick out all the things that are similar among those complaints and use those similarities to identify complaints in new customer service requests. This particular example of machine learning is called “classification,” which is sorting things into groups based on common attributes. Depending on how it is implemented, it could also involve an NLP task called “sentiment analysis,” which evaluates the emotional content of text.

Depending on how far our data scientist wanted to go, an ML-based filter identifying customer service tickets that are simply complaints could be sufficient for the task. With the filter in place, the customer service team could create a protocol for dealing with messages flagged as ‘complaint’ and improve their clearance time that way. 

But let’s say that our data scientist is not satisfied with good enough. With their new ML-enabled filter, the data scientist could process every customer support ticket Congo has ever received, effectively creating a new dataset of complaints. They could build a new algorithm on the complaints data to identify which complaints were resolved successfully, based on customer feedback for the interaction, and use the results of that analysis to inform a response protocol for customer service representatives to use.

The Role Of AI Assistants

Having done quite a lot of analysis at this point of what is and is not a successful customer complaint interaction, it may even make sense for the data scientist to create an AI assistant just for handling complaints. Something like ChatGPT (GPT stands for ‘Generative Pre-Trained Transformer’) requires a mind-boggling volume of data to train effectively. A recent estimate of its training data put it at around 600GB. For comparison, the whole of all the English language text on Wikipedia is about 25GB. But with sufficient data, and a good model selected, a data scientist could build a proof-of-concept assistant without too much difficulty. Of course, scaling it to support an entire customer service team would require the services of data engineers, software developers, and a host of other technical specialties. It may even turn out to be too expensive in terms of a straight cost-benefit analysis to implement, but it is absolutely within the realm of possibilities.

The Future Of Artificial Intelligence vs. Data Science

Data science and AI exist in an elegant symbiosis. AI requires enormous amounts of data to produce its wondrous creations. It uses algorithms to learn the patterns contained in trillions of words written by actual humans. All of that data requires processing, selection, and analysis by data scientists, who also have to observe the AI’s behavior and monitor it for flaws. Data scientists, furthermore, develop the algorithms and models that help drive improvements to AI. Although it might seem like the advent of generative models has rendered the data scientist obsolete, or at least endangered, the reality is that a good data scientist will learn how to use the strengths of the generative models to help with their own work.

About Charlie Rice

Charlie Rice is a Data Science Instructor with the Flatiron School. A former journalist, he got interested in data science when an editor showed him a news story written by a computer. Since making the switch eight years ago, he’s been involved in blockchain research, FinTech development, and helping to develop the forthcoming CompTIA Data Science certification.

What is Artificial Intelligence?

Artificial Intelligence is seemingly everywhere these days. Recent innovations have peppered the technology throughout our lives, with applications in just about every industry and field. But, if you’ve found yourself wondering what exactly this new technology is, you’ve come to the right place. In this post, we’ll cover what AI is, where it comes from, and how it’s used. 

What is Artificial Intelligence?

Artificial Intelligence (AI) is the field of computer science that focuses on creating intelligent machines capable of performing tasks that typically require human intelligence. It involves developing algorithms and systems that can analyze vast amounts of data, recognize patterns, learn from experience, and make informed decisions or predictions.

There are several different terms often used to refer to AI, as the technology encompasses a wide range of technologies and techniques. Commonly used terms include machine learning, natural language processing, computer vision, and robotics. 

Machine learning, a subset of AI, enables machines to learn and improve from experience without being explicitly programmed.

Natural language processing allows machines to understand, interpret, and respond to human language. This is the foundation of applications like voice assistants and language translation.

Computer vision empowers machines to analyze and interpret visual data, facilitating tasks like object recognition and image classification.

Robotics combines AI with mechanical engineering, enabling the development of intelligent machines that can interact with the physical world.

Who invented Artificial Intelligence?

Alan Turing

Alan Turing was a pioneering figure in the field of computer science. He made several significant contributions that influenced the development of artificial intelligence (AI). Turing’s ideas and concepts laid the groundwork for AI research and continue to shape the field to this day. As a result, he is often considered its inventor.  

One of Turing’s most influential contributions was his proposal of the “Turing test” in 1950. The Turing test is a measure of a machine’s ability to exhibit intelligent behavior indistinguishable from that of a human. According to the test, if a machine can engage in natural language conversations and convince a human evaluator that it is human, then it can be considered artificially intelligent. 

The Turing test became a benchmark for AI researchers, encouraging the development of conversational agents and natural language processing capabilities.

Dartmouth College

AI also has its roots in the Dartmouth Conference held in 1956. It was at the conference when researchers first coined the term “artificial intelligence” and laid the foundation for the field.

Since its inception, AI has undergone significant evolutions, driven by advancements in computing power, data availability, and algorithmic improvements.

Late 20th Century AI

Late 20th century AI experienced an “AI winter” from the late 1970s to early 1990s. It was a period characterized by decreased interest and progress in AI. High expectations, limited computing power, and challenges in solving complex problems contributed to the decline. 

The AI winter ended due to advances in computing power, and practical applications demonstrating value, big data availability, improved algorithms, successful commercial products, and interdisciplinary collaborations. These factors renewed interest, leading to the resurgence of AI research and applications in the late 1990s and early 2000s.

Early 21st Century AI

The early 21st-century AI resurgence was driven by the availability of Big Data, which enabled improved algorithms, pattern recognition, real-world applications, and iterative improvement of AI models.

  • Data Availability The emergence of Big Data provided AI researchers with access to vast and diverse datasets for training and validation.
  • Enhanced Algorithms: AI algorithms, particularly in machine learning, are improved by leveraging large datasets, leading to better performance and accuracy.
  • Pattern Recognition: Big Data allowed for the identification of complex patterns and correlations that were previously difficult to uncover.
  • Real-World Applications: Industries leveraged Big Data and AI to gain insights, make better decisions, and improve operational efficiency.
  • Iterative Improvement: The feedback loop created by Big Data enabled iterative improvement of AI models through continuous learning from real-world data.

What Does AI Do?

The purpose of AI is to automate tasks, enhance decision-making, improve efficiency and productivity, enable personalization, augment human capabilities, and drive innovation and research.

Automate Tasks

AI automates routine and repetitive tasks, freeing up human resources and allowing them to focus on more complex and creative endeavors.

Enhance Decision-Making

AI helps in making informed and data-driven decisions by analyzing large volumes of information, identifying patterns, and providing valuable insights to support decision-making processes.

Improve Efficiency and Productivity

AI technologies optimize processes, streamline operations, and increase efficiency, leading to improved productivity across various industries and sectors.

Enable Personalization

AI enables personalized experiences by analyzing user preferences, behavior, and data, allowing businesses to tailor products, services, and recommendations to individual needs and preferences.

Augment Human Capabilities

AI complements human abilities by enhancing their cognitive and physical capabilities, enabling humans to perform tasks faster, with higher accuracy, and with reduced effort.

Advance Innovation and Research

AI fuels innovation by enabling breakthroughs in various fields, driving advancements in healthcare, science, engineering, and other disciplines, leading to new discoveries and solutions.

Different Types of Artificial Intelligence

AI systems are categorized based on how generalizable or specific they are (Narrow vs General) or by the way they make decisions (rule-based versus machine learning).

Narrow AI versus General AI

There are different types of AI, ranging from narrow or weak AI to general or strong AI.

Narrow/Weak AI refers to systems designed to perform specific tasks, such as facial recognition or voice assistants, and operates within predefined boundaries.

General/Strong AI aims to replicate human-level intelligence, possessing the ability to understand, learn, and apply knowledge across various domains.

While narrow AI is prevalent today, achieving general AI remains an ongoing challenge, and its development raises ethical and societal considerations.

Rule-Based versus Machine Learning

Rule-based AI, also known as expert systems, relies on predefined rules created by human experts to make decisions or solve problems. These rules are encoded into the AI system, and the system matches input data against these rules to determine the appropriate output or action.

Benefits:

  • Suited for well-defined domains with known and explicitly defined rules

Limitations:

  • It may struggle with handling ambiguity or learning from new data
  • Requires human expertise to create and maintain the rules

Machine Learning AI, in contrast, learns from data without explicit rules, using algorithms that analyze patterns and create mathematical models.

Benefits:

  • Adapts internal parameters to optimize performance and makes predictions or decisions based on new, unseen data
  • Excels in complex domains with large amounts of data, discovering intricate patterns and generalizing from examples
  • Adapts and improves performance over time as new data becomes available
  • Relies on training data and algorithms to learn autonomously

Limitations:

  • Need for large amounts of data
  • Overfitting/an inability to generalize
  • Potential to duplicate biases present in data

Both approaches have their strengths and limitations, and the choice between them depends on the specific problem domain and the availability of labeled data and expert knowledge.

Oftentimes, both approaches are used at different stages in the life cycle of an AI project.

AI Uses In Industry

Self-Driving Cars (Tesla)

Tesla’s self-driving cars utilize a combination of AI techniques, including machine learning and expert systems.

Machine learning algorithms analyze vast amounts of data from cameras, radar, and other sensors to recognize and interpret the surrounding environment. Expert systems encode rules and decision-making processes, allowing the car to make real-time decisions based on input from sensors and the learned models.

Large Language Models (Chat GPT)

Large language models, like those Chat GPT, primarily rely on unsupervised machine learning techniques, particularly large language models. Engineers train these systems on large datasets of text, enabling them to learn patterns, language structures, and context.

By leveraging deep learning algorithms, the models generate coherent and contextually relevant prompts or responses based on the input they receive.

Editing and Proofreading (Grammarly)

Grammarly uses a combination of expert systems and machine learning approaches to provide editing and proofreading suggestions. Expert systems encode grammar rules, style guidelines, and best practices.

Machine learning algorithms analyze text patterns and linguistic features to detect errors, suggest corrections, and provide contextual recommendations.

Learn To Wield The Power Of AI

While Artificial Intelligence is currently exploding in popularity, it is still considered to be a new field. The rules are still being written, and the first to move often takes an advantage over those late to adapt. At Flatiron School, we’re teaching the skills to help you adapt to the AI revolution.

For enterprise clients, we’ve released entirely new AI training programs. If your organization wants to use AI to work smarter, move faster, and be prepared to innovate with the latest technology, Flatiron School’s suite of AI training programs is just what you’re looking for. Explore our AI training programs today. 

For students, each of our programs has been enhanced with AI. We teach our students how to use the power of AI to accelerate their output and results in Software Engineering, Data Science, Cybersecurity, and Product Design and be ready to adapt to the next innovation coming down the pipe. 

About Christine Egan

Christine is a Python Developer and Natural Language Processing Engineer, as well as a Senior Data Science Curriculum Developer at Flatiron School. She holds a Bachelor of Arts in Linguistics and Philosophy from Stony Brook University and is also an alum of the Flatiron School Data Science Bootcamp. Before joining Flatiron School’s curriculum team, Christine worked as a consultant for various federal agencies. When not working on Python code, you might find her writing data science articles for Medium, or playing Stardew Valley. 

Ace Interview Prep With AI

This article on interview prep with AI is part of the Content Collective series, featuring tips and expertise from Flatiron School Coaches. Every Flatiron School graduate receives up to 180 days of 1:1 career coaching with one of our professional coaches. This series is a glimpse of the expertise you can access during career coaching at Flatiron School.

My grandfather was known to say to his kids and grandkids when they received an invitation to interview for a job, “You get the interview. You get the job!” It was his enthusiastic way of communicating his confidence in our abilities. His belief, in part, meant that the hard work put into acquiring the interview (studying, relationship-building, practicing or honing our skills) would also serve us well performing in the interview itself. 

There’s no question that the job market has evolved quite a bit since my grandfather’s day. With the introduction of AI assistant tools like ChatGPT, preparing for interviews has become more efficient than ever. If used creatively alongside thoughtful and responsible editing and practice, the following approach can turbo-charge your confidence.

How To Use AI Assistant Tools For Interview Prep

If you’ve been on an interview for a job or been on a first date, you may recall how much preparation can go into such an event. From selecting the right outfit to finding the words to express why you’re interested without coming across as desperate, it can be a lot to think about. 

One of the most nerve-wracking parts is preparing to answer an interviewer’s questions that you can’t see ahead of time while weaving in your prior experience and how it will bring value to the organization.  

When it comes to interviewing for a job, AI assistant tools like ChatGPT can alleviate this prep work with key entries or “prompts,” a term (and even a new job category of “prompt engineer”) being promulgated by this new technology. 

Time to (role) Play!

Before diving into specific interview prompts, it’s helpful to view ChatGPT and other AI assistants like BingAI and Bard as just that – an assistant, or rather, a person. Give the assistant a specific role to play and give it as much information – or context – as it may need to play the role (that of an interviewer in this case) as accurately as possible. 

Context is critical in interviewing, whether you’re using AI to help you prepare or a real person like your Career Coach. A company is hiring you not to do just any job and not to solve just any problem. A good company has a very specific problem, has very specific jobs or responsibilities to tackle the problem, and if hiring, is looking for a specific person who has the right experience, skills, and adaptability to help solve the problem. 

Put It Into Action With AI

Enter the following prompt into the chatbot to give the AI assistant a role to play and as much context as possible to generate interview questions. 

Play the role of a <job title> for <insert company of your choice> (e.g., Spotify) who is hiring for a <insert job title> to join their team. The job description is <paste in the text from the job description on the company’s website>. What questions will you ask the candidate during the 45-minute interview to determine whether or not you will offer them a job to join your team? 

Watch as the AI assistant creates a list of questions that have remarkable relevancy to help you begin preparing for how best to respond.

Additional iterations:

  • In the same chat, enter the prompt “Now condense this list of questions to the top 5 questions.” 
  • If you have a LinkedIn profile of the hiring manager, try entering the text from the profile and regenerating the first prompt to give the chatbot even more context about the role it’s playing as a hiring manager. See if the questions change. What do you notice?

Now, what to do with those AI-generated questions?

With these questions in mind, it’s time to start creating what you might say in response. 

You can also use AI assistants like ChatGPT to generate some ideas. And, just like the example above, you’ll want to give ChatGPT as much context as possible to produce the most accurate “like you” types of responses.

Put into Action:

Enter the following prompt into the open chat you started above (i.e., do not start a new chat from scratch) to give the AI assistant a role to play and as much context as possible. 

Now play the role of an interview candidate who has been selected to interview for the same open position of <insert job title>. Your resume is <paste into the chatbot the text of your resume> (tip: use your LinkedIn profile if it contains even more details and experience). How would you answer <insert one question at a time from the list above> in 60 seconds? 

Watch as the AI assistant creates an answer using the inputs you gave it. What do you notice? Does it sound like your voice? Does it pull in the right experience? What’s missing from the answer it gives you? Should it be longer or shorter? 

Additional iterations:

  • Ask the chatbot to regenerate responses using the STAR method. 
  • Begin a new chat and ask the chatbot to create a 60-second introduction about yourself. Give it different scenarios in which you might introduce yourself (e.g., at the beginning of an interview, at an industry conference, or at a cocktail party). 
  • Use elements of the prompts above to create a follow-up thank you note to the interview that takes place, adding new information you gather from the interview itself (e.g., the questions actually asked of you and any other important or fun details from the interview you want to use to personalize your follow-up).

Rules of Thumb For Interview Prep With AI

When employing an AI assistant, it’s beneficial to follow a couple of key guidelines to achieve the best outcomes. Carefully read the output, maybe 2-3 times, and reflect on several introspective questions. 

Personalize & Contextualize

Does the AI-generated response sound like something I would say? Do the responses integrate the right context, accounting for nuances in my experience, and what I’ve learned about the company’s business, culture, and challenges? Not sure? Record yourself reading the response and listen back. What do you notice? What would you change? 

Be Honest

Do I fully understand the response it generated? Do I understand the terms and concepts enough to answer follow-up questions reasonably well? Not to worry if the answer is no. Being honest about your responses to these questions will provide a helpful list of topics to prepare yourself confidently for the interview. 

Practice and Seek Feedback

Now that you’ve got a solid starting point with your AI-generated questions, it’s time to put those responses into practice. Reading from a script is obvious. Not to mention, it defeats the point. Hiring managers are real people who are still hiring real people, even if AI tools are growing in acceptance in work environments. 

First, schedule an interview prep session with your Career Coach. Send them the job description ahead of time along with the questions ChatGPT gave you. Ask them to alter the wording of each question slightly, putting them into new words or in a different order.

Next, put away the responses to the questions from ChatGPT and practice responding in your own words. How does it feel? 

Keep practicing after your coaching session, recording your responses with tools like Loom or Riveter to listen and give yourself feedback. Send the recordings to your coach or a friend for additional feedback. 

The more practice we have relaying our experience and skills – hard and soft – to a variety of interview questions, the more comfortable we become when under pressure. Once you’re comfortable with 70% of the questions, practice the tougher questions at least a couple more times for good measure, and then take a break. Let your brain do work while you sleep, and rest easy(ier) knowing you’ve put in a solid effort preparing to ace your interview!

No job interview yet? No problem!

Repurpose the above prompts to fit prep work for an upcoming informational interview or networking conversation. Or, ask the chatbot to help you create an outreach message requesting an informational chat. 

In whichever scenario you choose to employ an AI assistant, remember that it’s merely a tool and those who use tools thoughtfully, responsibly, and creatively often create impressive results. 

About Lindsey Williams

Lindsey Williams is the Senior Manager of Coaching at Flatiron School. She has more than 15 years of experience in the tech and edtech spaces and has held a variety of roles from Recruiter and HR to Campus Director and Training Director.

Flatiron School Launches Artificial Intelligence Curriculum Enhancements For Students

Enhancements teach students how to effectively leverage artificial intelligence (AI) tools, giving them a competitive edge in the job market.

Flatiron School is excited to announce that we’ve launched curriculum enhancements designed to teach students how to leverage powerful, emerging artificial intelligence (AI) tools.

The curriculum enhancements affect each of our four disciplines – software engineering, data science, cybersecurity, and UX / UI product design – and come at a time where AI requirements are increasingly appearing in job descriptions. For the past 10 years, we have been committed to keeping our curriculum modern, aligning with the ever-evolving tech landscape. Now, as new AI tools emerge, we continue to lead tech education in providing students with the skills needed to thrive in today’s job market.  

“Even as AI reshapes the industry, we expect demand for tech talent to remain strong,” said Kate Cassino, Flatiron School CEO. “The most competitive talent will have the skills needed to unlock the full potential of AI, and that’s why now is the time to invest in our students. Our latest curriculum enhancements empower students with the skills needed to not only excel in an evolving job market, but also to advance the future of tech through innovation.”

Curriculum Enhancements

The enhancements cover topics such as machine learning, natural language processing, and prompt engineering. Students will learn how to use generative AI as a research tool, effectively communicate with AI chatbots, build AI models, and leverage machine learning for testing.

Curriculum enhancements include:

  • Software Engineering. Discover how AI can help with code debugging, enable code completion, and integrate AI features into apps. Students will also learn prompt engineering and how to successfully correspond with chatbots.
  • Data Science. Learn the fundamentals of AI theory, including concepts such as data leakage, overfitting, and regularization. Students will also learn scikit-learn (a popular AI library for Python programming language) as well as how to build AI models for text data (also known as natural language processing, or NLP). 
  • Cybersecurity. Gain experience leveraging AI and machine learning (ML) for threat intelligence feeds, vulnerability and penetration testing, and detecting anomalous and behavioral events. Students will also learn how bad actors could leverage AI to crack encryption.
  • UX / UI Product Design. Explore how to co-create with AI for inspiration, as well as how to analyze potential biases in AI-generated design solutions. Students will also learn about the implications of AI on intellectual property, how to develop user journeys with generative AI, and how to use NLP to automate identification of patterns in user data.

Taught by instructors with real-world experience, our courses are offered online or in-person on New York City or Denver campuses. Students can choose full-time or part-time programs, which are paced between 15 and 60 weeks. Upon graduation, we provide up to 180 days of 1-on-1 career coaching. 

To learn more about our curriculum enhancements for students, please click here.