





Previous
Next
This series are a call to action to preserve our wetlands. During the last 55 years 35% of the wetlands have disappeared. #aiuslides #aiu #wetalnds #sustainabledevelopmentgoals #globalwarming

Business Analysts spend a lot of time pouring over spreadsheets and putting together slide presentations. But these roles are evolving as more complex data streams and advanced analysis, like data analytics, become more common.
That’s why it’s helpful to have some background programming knowledge. As a Business Analyst, strong programming skills can help you leverage powerful tools that streamline day-to-day tasks and set yourself apart in a competitive job market.
Ahead, we’ll explore five programming languages that you might want to consider learning if you want to be a Business Analyst.
Structured Query Language (SQL) is a programming language used to manage relational databases. And since Business Analysts spend so much time searching through databases, SQL should be the first addition to your toolkit.
With SQL, you can easily query and extract data from databases to analyze in a spreadsheet program or with one of the other programming languages noted below. Plus, its simplicity and easy-to-understand syntax make it relatively easy to learn.
You also might want to consider learning Python. Business analytics involves working with increasingly larger datasets that are beyond the capabilities of traditional spreadsheet programs, and Python makes it easier to process and analyze big data.
It also has statistical modeling capabilities that allow Business Analysts to make much more sophisticated demand and price forecasts. Python even makes data collection faster by easily integrating with SQL databases and automating tasks like web scraping — and its powerful machine learning libraries, like scikit-learn and TensorFlow, help detect trends and patterns from big data. And libraries like seaborn help communicate data insights and results with data visualization tools.
Like Python, R is an excellent tool for working with big data, and it can also be used for machine learning and complex statistical analysis. It also offers thousands of libraries that give Business Analysts access to tools for time-series analysis, forecasting, and advanced data visualization.
In fact, one of R’s biggest advantages is its sophisticated data visualization tools, which allow you to easily create interactive graphs for websites, report-ready panels of multiple graphs with comments, or customized PDFs.
Not every Business Analyst needs to learn VBA (Visual Basic for Applications), but it can be helpful. Imagine how many monthly, weekly, or daily reports you might need to prepare as a Business Analyst. Sure, they all have different information, but you can save yourself a lot of time with VBA when they’re formatted in the same way.
Business Analysts use VBA to generate custom summary tables in Excel, periodic reports in Word, or slide decks in PowerPoint. And since everything in Microsoft Office is integrated, it’s easy to combine everything — for example, creating a monthly report based on data in Excel, then using the contents of that report to automatically generate slides with bullet points in PowerPoint. Business Analysts who know VBA can save themselves a lot of time in their daily tasks.
While Business Analysts aren’t expected to get into software development, it does help to learn a bit about the language your company or team uses every day.
Are you working for a start-up game developer? Learn the basics of C++. Applying to an Android app developer? Pick up some Go or Kotlin. If you already know one or more of the programming languages above, it’ll be easier for you to pick up on some of the other languages used in software development.
When you can grasp the fundamentals of the code your team uses, it’s easier to understand the impact of business decisions on the technical side of things. It also helps build a better relationship with your colleagues and teammates when you’re willing to “speak” their language — literally.
When it comes to learning programming languages for Business Analysts, some languages are more in-demand than others.
SQL is at the top of the list. In fact, most hiring managers will rank your SQL knowledge higher than any other language.
After mastering SQL, we recommend learning Python or R. These languages will round out your Business Analyst technical skills by allowing you to do more in-depth statistical analysis and generate sophisticated data visualizations.
Finally, learning VBA can potentially be a great way to work more efficiently with creating spreadsheet summaries, reports, and other administrative tasks if your team uses the Microsoft suite.
Ready to learn the skills you’ll need to become a Business Analyst? Pick any of the courses below to get started:
Then, once you’ve mastered the basics, check out our Analyze Business Data With SQL and Analyze Financial Data With Python skill paths to learn how to analyze large datasets and communicate your findings. You also may want to consider taking a course on data visualization.
Sign up now to get started. And if you need a little help while you’re going through your courses, reach out to our community in the Codecademy Forums or on Discord.
For Business Courses & Tutorials | Codecademy
Programming languages serve many different areas of a business that include maintaining operational excellence, improving customer-facing experiences, and evaluating business performance. Keep up with the latest technical knowledge and skills to transform your business.


Want to be a professional programmer? You’re going to want to get familiar with Bash.
Bash (Bourne Again Shell) is a command-line interface shell program that makes it easier to navigate and control your computer’s operating system. Learning how to use Bash will help you improve your file and database management, automate tasks, and better integrate your scripts in different programming languages.
To get started, check out our Learn Bash Scripting course. Then once you’ve mastered the basics, use the 10 Bash script code challenges below to apply your new skills.
While Bash comes with plenty of useful built-in commands, a key skill every Bash programmer should know is how to create their own.
Write a command that lists the contents of your usr/local directory. Your script can set up variables, but you’re not allowed to call any commands within the script directly. When you run your command, the output should show the directory’s contents in a single column.
For an extra challenge, have your command accept a single argument that lists the contents of the directory contained in the argument.
Think of three things you like and create a Bash script that prompts the user to respond based on these things. It could be something like “Which would you choose: …”
Using case statements, have the script output different responses based on the chosen selection. For example, if cake is a choice and someone picks cake, a sample output response could be “Great choice. Enjoy your cake!”
To make things a bit more challenging, add an appropriate response message if someone picks something that isn’t on the list. For example, “Sorry, but that’s not on the list. Pick x, y, or z, please.”
You can also have your Bash script prompt for more information about the chosen thing. For example, if someone picks cake, another prompt can ask “What kind of cake?” And that prompt could be followed by a final response based on this input, such as, “Great choice. Enjoy your chocolate cake!”
Create a Bash script that accepts directory paths as arguments. For each argument, list the contents of each directory with the name of each listed at the top.
If you want to give yourself an added challenge, have your script accept an additional argument, “a” or “d,” that sorts the contents of each directory in either ascending or descending order. For even more of a challenge, create a Bash script that sorts the contents of the directories based on an “a” or “d” argument that directly precedes it. In other words, you should be able to sort one directory in ascending order, a second directory in descending order, and so on.
The stream editor (SED) command is widely used by Bash programmers to process and modify text.
Write a Bash script that includes an SED command that takes the files in your home directory and changes their owner from your username to the reverse of your username. So, for example, if your username is Codecademy, then your Bash script should change the owner to ymedacedoC.
For an extra challenge, have your script accept a numerical input, n, that changes the owner of just the first n files in your home directory.
Another way to work with text in Bash is with AWK commands. For this challenge we’ll use the following data set of the world’s countries and their capitals.
Create a Bash script that outputs this dataset into two columns: one for the country and the other for its capital.
For an added challenge, have your script accept a letter as input. The output should be just the countries that start with the input letter. For another challenge, create another Bash script that outputs a two-column list sorted alphabetically by capital city.
Using a Bash script, generate an email message that reminds the user to submit a TPS report by a certain day. Your script should accept a date or day as an input argument. For example, if the user inputs “Tuesday,” then the output should look something like:
“Please submit your TPS reports by EOD Tuesday. Your cooperation in this matter is much appreciated.”
For an extra challenge, have your script accept arguments for:
If any of the arguments are blank, the email message should output a default word or phrase.
Create a Bash script that “sleeps” for a given number of seconds before beeping after the time has elapsed. You can make this exercise more challenging by adding features to your alarm clock, such as:
Programmers who work in Bash are often System Administrators who manage computer and server networks. So, it’s important to know which disks and file systems are mounted — that is, accessible by the computer’s file system. Note that just because a disk or computer is physically attached with cables doesn’t always mean that it’s mounted and accessible.
Come up with a Bash script that detects whether a given mount point or file system is mounted. If so, the script should return the amount of used space on the file system and the amount of free space. If the file system isn’t mounted, your script should return an error message.
Looking for an extra challenge? Add a prompt to your script that asks the user if they want to attempt to mount the file system if it’s unmounted. When the file system mounts, the script should then output the amount of used space and free space in the file system.
Recursion is when a function calls itself to perform the same task until some condition is met. This is most commonly done in Bash with loops.
Create a countdown generator in Bash that accepts a positive integer as input. The output should show numbers decreasing, starting with the input number until 0. After displaying 0, the output should also display “BLAST OFF!”
Looking for something a little more challenging? Try creating a Bash function that accepts any number of arguments. The output should print out each argument on a new line. Your Bash script should use the echo command only once.
While Bash is commonly used to work with file systems and applications, it can also perform basic math.
Create a Bash script that functions like a sales tax calculator using your home state’s sales tax rate. If you live in a state with no sales tax, use the rate of a nearby state. Your Bash script should accept a decimal number as input and output the item’s total price rounded to the nearest cent.
Here are a few ways to make your sales tax calculator more challenging:
Or, for an ultra-challenge, create a tax calculator that incorporates all of these things. You’ll probably want to create a dedicated folder that contains all the data files you need.
Whether you’re working on web design as a Front-End Developer, analyzing big datasets as a Data Scientist, or managing databases as a Back-End Developer, knowing Bash and how to use the Terminal are valuable skills that can support your work.
Once you understand the basics of Bash scripting, you can keep building your skills with online programming courses. If you’re not sure which programming language or tool to learn next, our career paths will help point you in the right direction to get you started in your new career.
Bash/Shell Courses & Tutorials | Codecademy
We use a mouse or finger to click icons and access files, programs, and folders on our devices. But this is just one way for us to communicate with computers. The command line and the shell make up a quick, powerful, text-based interface developers use to more effectively and efficiently communicate…


If you’re looking to break into software development, you might have come across the scrum framework.
Never heard of it? It’s essentially a method for teams to work together to update and improve upon software. It’s a process that’s closely related to Agile software development, an iterative approach to completing projects that’s very popular in the tech world. In a scrum project, team members must communicate to prioritize tasks, keep track of progress, and sum up what was done and what was learned at the end of an effort.
Teams that use the scrum framework have a Scrum Master who is responsible for assembling a team of developers and making sure that the software they’re working on actually works. A Scrum Master’s role is a combination of a coach, technical expert, and manager. They ensure clear communication within a team of developers or programmers, organize their focus on development tasks, contribute to tech development where needed, and take responsibility to deliver the team’s work on deadlines.
While it’s common for salaries to vary in any industry, a Scrum Master’s pay is particularly mixed. That’s because there’s a broad range of people (with varying experience levels) who can take on the role of Scrum Master on any given team. For example, Developers, Business Analysts, and Senior Project Managers can all be Scrum Masters according to Indeed; and average annual salaries for these jobs range from $46,582 to $106,121.
With all that in mind, let’s break down the salary range you might expect from a Scrum Master role, and what factors can affect it.
Because of the varied nature of Scrum Master positions, determining what their compensation is will also require breakdowns of the various titles that can be considered Scrum Masters. Here are just a few that will help give you a better idea.
Software Engineers are a key part of a scrum team, and can also be Scrum Masters. These engineers, or developers, should know key languages such as HTML, PHP, SQL, and Python. Even if the Scrum Master comes from a discipline other than software engineering, they need that programming knowledge to communicate effectively with the working team. Software Engineer compensation can range from $38,000 for the most junior professional to about $172,000 for the most senior and experienced software engineer.
Indeed gives a few different figures for Project Managers:
However, a Project Manager’s title can be very general and doesn’t always connote the same thing as Scrum Master. A Scrum Master is different from a Project Manager because the Scrum Master’s sole focus is on the success of the team working on the project or product in question, while the Project Manager is also responsible for budgeting time and resources, among other issues.
Agile Coaches, also referred to as Agile Managers, focus on that type of software development approach. Glassdoor estimates the average salary of an Agile Manager at $115,277. An Agile Manager must have more specialized knowledge than a Project or Program Manager, and can even take an exam to be certified as an Agile Manager.
Similar Scrum Master roles that include Agile specialties have a much higher ceiling for pay. According to ZipRecruiter, a Safe Agile Coach can earn $152,236, while Glassdoor estimates that an Agile Scrum Coach can earn $111,874.
Naturally, your education and experience will affect your earning power in a Scrum Master role. For some people, that begins with a bachelor’s degree in a relevant subject, such as information technology (IT), computer science, or business administration. That said, more and more tech companies are moving away from requiring specialized college degrees. There are many paths to tech careers that involve flexible education, and you can seek out online courses and certifications that will get you up to speed. If you want to learn to code, check out our course catalog for a range of options.
Of course, to become a Scrum Master, your education should be supplemented with work experience, particularly in using Agile or as an Agile Developer. You should also earn a certification as a Scrum Master. A preparation course for this certification lasts just a few days.
While certification is not an absolute must-have to work as a Scrum Master, it could help increase your salary prospects. A 2019 survey by Age of Product, an Agile software development company, found that 44% of Scrum Masters with certification earn over $100,000, while only 18% of those without a certification earn over $100,000.
Since the role of the Scrum Master is flexible and the definition varies, succeeding as a Scrum Master requires certain soft skills. To be a Scrum Master, you should be an adept communicator and comfortable interacting one-on-one and in groups. A Scrum Master should also be a motivator and administrator for the scrum team.
Due to variation in experience, role, and levels of qualifications in Scrum Master roles, different sources and surveys show Scrum Master salary ranges and averages that are less consistent than those of other programming, computing, and technology jobs.
So while it may be difficult to say exactly what you’ll make in this industry, here are different sources’ ranges for what the salary you might expect to see:
As you might expect, salaries can vary depending on where you live. Four of the top 10 cities in terms of average salary for Scrum Masters, according to ZipRecruiter, are in California: San Jose, Oakland, Hayward, and Vallejo. The top 10 is rounded out by a few other cities:
These average annual salaries range from $132,454 to $138,361.
What makes a Scrum Master career path so unique is that the required experience — and thus salary — is flexible according to what you bring to the role and what you hope to get out of it.
Whether you’re interested in being an Agile Coach or Software Engineer, our programming courses can help you get started. Familiarize yourself with PHP, SQL, and Python to establish your foundation to become a Scrum Master, and take a look at our career paths to help figure out what other skills you need to succeed.

You might not immediately associate business analysis with the tech world, but Business Analysts actually play key roles in the Information Technology (IT) industry. Because they use data to help guide businesses in improving their processes, products, and services, Business Analysts can be crucial to companies and their growth.
Unlike Data Analysts, who work more closely with the data itself, Business Analysts use data to help address business needs and make strategic decisions. If you’re good at problem-solving, analytical thinking, and communication, this job might be a great fit for you.
Ahead, we’ll take a closer look at what a Business Analyst does, and how you can get started in this career path.
A Business Analyst helps companies define their needs and make better decisions based on past and current business data. Let’s break down what that actually means in practice.
When we say “business needs,” we’re referring to how the company can meet its financial, strategic, and product goals, both short-term and long-term. Typically, it’s the company’s senior leadership, board of directors, investors, and shareholders who have the final say in the company’s direction and strategy. Examples might include goals such as:
Business Analysts take the company’s strategy and goals into account and use data to help the company figure out what it needs to do to meet those goals.
The term “business data” refers to data generated by the business itself (internal data), as well as relevant data from customers and competitors (external data).
Examples of internal data include:
Examples of external data include:
Companies have more access to internal and external data than ever before. But while it may seem like a good idea to work with as much data as possible, remember that it takes time to filter and prepare data before it’s usable. And a lot of external data isn’t free. It’s up to Business Analysts to consider which data sources are the most relevant and cost-effective.
By “better decisions,” we mean that business analysts bring value by working with complex datasets to reach conclusions that wouldn’t be obvious just by skimming through the data. At the same time, good Business Analysts know how to interpret the data into a clear action plan. Essentially, they act as a liaison between advanced tech and an organization’s stakeholders. A couple of examples of a Business Analyst’s conclusions might be:
Business Analysts, similar to Data Scientists, occupy a bit of a bridge role. On the one hand, the bulk of a Business Analyst’s role is technical — they need to understand how to process and analyze large datasets and the costs and benefits of different technologies and solutions. Business Analysts also work closely with technical and IT teams to understand the resource and technology limitations of the company.
But on the other hand, Business Analysts must also understand how their recommendations will impact the business as a whole, especially the bottom line. They need to effectively communicate with the company’s stakeholders and senior management by presenting how changes will impact the company’s goals.
In other words, Business Analysts help close the gap between business management and the company’s technical systems.
In addition to typical data analysis tools like Microsoft Excel and Google Analytics, Business Analysts also use a variety of programming languages to make their lives easier. Here are the three most important ones:
Business Analysts work extensively with databases, which means that Structured Query Language (SQL) is a must-know programming language. While some datasets can still be stored and analyzed within spreadsheet programs, the rise of big data and data protection have made relational databases a far better solution. While most Business Analysts don’t need to be experts in SQL to design and create new database systems, it certainly helps to understand the basics of searching for and extracting data.
The most successful Business Analysts know how to program in Visual Basics for Applications (VBA). Unlike Visual Basic, which programmers use to create stand-alone applications, VBA is used exclusively within Microsoft Office applications like Excel and PowerPoint. Business Analysts use VBA to quickly generate customized summary tables, stunning graphs and visualizations, and detailed slide presentations in seconds. In other words, VBA saves Business Analysts a lot of time, so they can focus less on creating and formatting documents and more on working with the data.
There’s a lot of debate on whether Business Analysts should learn Python, but it makes sense to have at least a basic understanding of Python. Why? Because business analytics involves a lot of repetitive, complex tasks with large datasets. And when datasets are too big for a spreadsheet program to handle, Python can save a lot of time and frustration. Not only can Python work with large datasets, but Business Analysts can also use Python to perform and even automate key tasks such as web scraping and data merging.
Secondly, more and more companies expect Business Analysts to cover multiple roles, including data analysis. By learning Python, you’ll open up more doors to Business Analyst job positions.
Now that you know what a Business Analyst does, you might be wondering how to get started. We recommend beginning with an online course in programming, especially in SQL or Python, which are both skills a Business Analyst should have. Once you know the fundamentals, consider learning more advanced skills, such as analyzing business data with SQL or financial data with Python. And if you’re not sure where to go next, our developer career paths will help you decide which skills to learn as you start your next chapter.

Go (Golang) is a programming language used for a variety of purposes, including servers, web development, cloud infrastructure, and command-line interfaces. It’s also beginner-friendly and easy to remember.
Ahead, we’ll explore Go’s uses in different industries, and the pros and cons of using it compared to other languages. Then, we’ll show you how to get started learning and using it.
Go was designed by Google in 2007. Google was rapidly growing then, and the code its engineers were using, C++, was difficult to manage and overly complex. This slowed down the development process.
So Google engineers Robert Griesemer, Rob Pike, and Ken Thompson, developed something easier to manage and learn. This new language was Go.
Go became open source in 2009 and was released publicly in 2012. It quickly gained popularity among developers and engineers for its ease of use.
Today, Go is one of the most popular programming languages. Unlike dynamically typed languages, like JavaScript and Python, Go is statically typed. Statically typed programs won’t start up until errors have been fixed, while dynamically typed languages like JavaScript will start up even if they have errors.
If you’re looking for a new language to add to your tech stack, Go is a great choice. There are plenty of reasons to learn Go. For example, it’s versatile and can be used in a variety of settings, including:
Many organizations have migrated to the cloud from traditional IT environments. This means there’s less to keep up on-premises, which lowers costs. One popular cloud service is Google Cloud, which is built on Go and offers scalability and high performance. Other cloud services use Go as well, including Dropbox and SendGrid.
SendGrid is a cloud-based email service that delivers high-volume emails for companies like Uber, Airbnb, and Spotify. SendGrid’s APIs (application programming interfaces) were developed using Go.
Uber used Go to build many of its services. For example, Go is used to help Uber load maps more quickly and match riders to drivers. Trivago and Delivery Hero also use Go.
Several finance companies have put Go to work. Capital One used Go to develop their Credit Offers API. American Express used it to modernize its payment and rewards networks. And PayPal uses Go to simplify coding and improve the performance of its payments platform.
Go’s usefulness in server and cloud environments makes it a perfect fit for cybersecurity. 1Password, a popular application for saving passwords and other sensitive information, uses Go for its Administrator Tools back-end server. This allows administrators who use 1Password for business to easily manage 1Password and recover accounts.
Keybase, an open-source key directory that lets users verify identities and encrypt messages, uses Go because its libraries work together well.
Go is efficient and supports the most frequently used file and encoding formats, which makes it a good choice for streaming music and video. SoundCloud, for example, maintains about six services and over a dozen repositories written in Go.
According to Peter Bourgon, one of SoundCloud’s engineers, “We were one of the early adopters [of Go]. We were using the pre-1.0, actually, and every test we’ve put it up to it passed with flying colors.”
Twitch uses Go for its chat, which delivers hundreds of billions of messages daily. Its Web APIs, Search and Discover services, revenue systems, and administrative tools are also written, at least in part, in Go.
Slack has become a critical part of many of our work lives. Go is used by Slack’s engineers for a variety of projects, including scaling its job queue system. The system is used for every message post, push notification, calendar reminder, and more, processing over 1.4 billion jobs at a rate of 33,000 per second. Incorporating Kafkagate, a stateless service written in Go, was key to ensuring Slack could continue at this pace and beyond.
Libraries are tools that simplify writing code. Some of Go’s existing libraries were developed for gaming, including Nano, which is a game server library. This makes Go a popular choice for gaming companies like Riot Games, the makers of League of Legends.
Aaron Torres, an Engineering Manager with Riot Games, says that they chose Go as one of their programming languages because Go code builds fast, has a large and powerful standard library, and has excellent third-party support.
Go is clearly a good fit for many organizations. Let’s take a look at the benefits and drawbacks of writing code with Go.
Go is a beginner-friendly language, but it’s also well-suited for more experienced developers. Regardless of your coding background, we can get you up to speed with our Learn Go course.
This course covers:
In the course, you’ll build several projects, including printing out ASCII art, simulating a bank heist, and calling the functions of a space-traveling agency.
Ready to get started? We’re here to support you in reaching your goals. And if you need a little extra help as you work through the course, visit our forums or join our Discord server.
Go Courses & Tutorials | Codecademy
Go, or Golang, is an open source programming language developed at Google. The designers of Go wanted developers to have a programming language that made it quick and easy to develop applications. Go is used on servers, web development, and even command line interfaces.


Data is changing the game for the professional sports industry, giving athletes new ways to track biometrics and optimize their performance. Competitive esports is no different: There’s high demand for Data Scientists who can interpret all of the data coming out of video games and help coaching staff make informed decisions.
Evil Geniuses is one of the oldest competitive esports gaming organizations, with rosters of pros in games like League of Legends, Dota 2, and Counter-Strike. Even if you’re familiar with esports, you might not know that the organization employs as many Data Scientists and Engineers as it does Coaches — a fun detail that CEO Nicole LaPointe Jameson recently shared with The Washington Post.
Ivan Sheng is one of the Data Scientists at Evil Geniuses, where he focuses on the games League of Legends and Counter-Strike. “I take data from video games and I create predictions and business use cases in order to have an edge over our competition,” Ivan explains. (Ivan is also a Codecademy contributor and worked on our recent course Introduction to Big Data with PySpark.)
Here’s how Ivan uses Python and SQL to help esports pros strategize and succeed, plus the programming languages you need to know to become a Data Scientist in competitive esports.
“I’ve actually known about Evil Geniuses since I was in middle school. I had a friend who was really into this one game called StarCraft: Brood War. We started watching clips on YouTube and this concept out of South Korea called ‘esports’ popped up. I got addicted to it, and one of my favorite players was signed with Evil Geniuses.
My introduction to data was kind of interesting. As a junior in college, you’re kind of desperate for internships, so I just shot my resume everywhere. One day I got a call from an unknown number, and it was apparently an interview for a data analyst internship at a marketing agency that I forgot that I applied to. Going from a mechanical engineering major into a marketing agency where everyone’s super young and sociable was a culture shock for me. I kind of fell in love with it.
I had two really great mentors that I still keep in touch with today — one who is also a Data Scientist, and taught me pretty much everything I know about data. Once I entered the job market, I had a manager who gave me my foundations in Python and natural language processing, and then that’s pretty much where everything kind of just skyrocketed.”
“I did some contract work for Evil Geniuses prior to actually going full-time with them. I would do some data science work, write about it, and submit it to one of our ESPN-like websites called Factor.
That eventually evolved into me doing some software development work; Monte Carlo simulations and things like that. And then that blossomed into a conversation of, ‘I’m graduating and I’m going to start interviewing.’ Our Chief Innovation Officer basically said, ‘Hey, do you want to come over here?’ I was like, ‘Yeah, I’ll entertain it. Of course!’
It’s super cool to work with products or companies that you’re familiar with, because you have some personal stake in it. I came to Evil Geniuses from Disney Streaming, where I got to see the birth of Disney+ and all that fun stuff. I had the same good feelings coming over to Evil Geniuses, because I’ve known about this since I was a kid as well.”
“I am basically sitting down in Python, just coding up lots of different things. As for what I’m coding, it depends on the day and the task. We’re a bit of a small company, so I’ve done work all the way from creating automated data pipelines to creating models in the deterministic and non deterministic side of things. On our team, we’re kind of split between gaming and marketing: I’m working with gaming data like 60% of the time, and then 40% on the business side of things.
I’ve also done some software development work in terms of flagging interesting in-game events to kind of let our coaches know like, This thing happened at this specific time point in the game. Maybe you guys could check it out? Maybe this was a big turning point in the game? I don’t directly talk to our pros. I usually talk to the coaches or an analyst who works directly with the team — those people are the main stakeholders.
Now I’m following more esports, because I have to learn about all these different games. Like, I never really got that into Counter-Strike before, but that’s my biggest responsibility now. So I’ve been watching that endlessly.”
If you’re interested in becoming a Data Scientist, it’s a good idea to learn Python. Ivan strongly recommends that you learn SQL too, because it’s frequently used in Data Science careers. “I think it’s criminal to underrate SQL as a language,” Ivan says.
Inspired to start your journey to becoming a Data Scientist? Here are the courses and paths that will help you pick up the skills you need for the field:
There’s more to being a successful Data Scientist than just programming and software engineering: Communication skills are a must, because you’ll often have to translate data and findings for people who aren’t data-oriented, Ivan says.
Once you reach a stage where you’re applying to jobs and landing technical interviews, don’t skimp on practice, Ivan says. “With a lot of these tests, especially the SQL ones, there’s a pattern that you can figure out — because they always test very similar concepts,” he says. Our skill path Data Analyst Interview Prep is a great way to get familiar with common interview questions and practice formulating answers.
Ivan’s other tip for slaying a technical interview or live programming test? “Be very open and communicative with your recruiter,” he says. “They’re there for you and want to see you succeed, so it’s important to have a back-and-forth with them if you’re ever confused.”
Data Science Courses & Tutorials | Codecademy
Data Scientists try to make sense of the data that’s all around us. Learning Data Science can help you make informed decisions, create beautiful visualizations, and even try to predict future events through Machine Learning. If you’re curious about what you can learn about the world using the data p…


Natural language processing (NLP) is more important than ever before as computers become more integrated into our daily lives.
In the past, you’d need technical knowledge to interact with computers. But now, thanks to NLP, computers can understand and decode human language to respond to our verbal and written commands.
NLP refers to a range of methods for processing language using artificial intelligence.
Today’s users expect to be able to speak to their devices, which means devices need to be able to understand and accurately interpret speech patterns — including different languages, accents, slang, and regional terms. But NLP’s utility extends far beyond speech recognition. You’ll find it in chatbots, hiring tools like applicant tracking systems (ATS), email filters, and more.
Many programming languages can be used to conduct NLP, but Python, in particular, has many high-quality NLP libraries that are used extensively in the industry. These tools include language models and functions for analyzing language and finding insights.
NLP’s importance can’t be overstated. Over the last decade, it’s grown to power many computing interfaces that make daily life more convenient. It also plays a huge role in accessibility, making it easier for people with physical and cognitive impairments to navigate and interact with their devices.
A wide range of tools are used within NLP, ranging from algorithms for processing and analyzing text to large language models. Still, whether you’re using numerical or text-based data, the first step is always to prepare the data by standardizing it. This makes it possible for the software to analyze it and find patterns.
Before any analysis can happen, the source data has to be cleaned up to make it optimal for NLP tools and models. Text preprocessing is the term used for the preparation of this data. Key parts of preprocessing text include:
All language includes filler words that don’t help determine a statement’s intent, such as “the” or “me.” Removing these words helps focus the analysis or modeling on the words with the most significance or predictive value. You can use libraries like pandas to automate this process to some extent if you’re working with a large dataset.
Text segmentation, the grouping of text into meaningful units, plays a huge role in a computer’s analysis. This can be achieved by parsing statements to identify speech, verbs, and proper names.
Prioritizing these high-value words (in lieu of considering each word in a given statement) can streamline text processing. For example, by parsing text, an application could identify the proper name “The Empire State Building” and the verb “walking,” which would indicate a query regarding directions to that location on foot.
We train applications to understand our language, speech patterns, and the structure of our commands through a process called language modeling. Language models allow a system to predict which words will be used and in what order they’ll be introduced, improving the accuracy of NLP. Commonly used models include:
Language modeling can help devices process simple commands and straightforward statements, but it becomes harder to use these models as the commands grow longer. This is where topic modeling comes in. Rather than focusing on the order of the words, topic modeling tries to find hidden topics and meanings within a statement.
Unlike language models that count the frequency of each word and use this count to assign importance, topic models prioritize the words that are used less frequently. This kind of topic modeling is known as term frequency-inverse document frequency (TF-IDF).
Another form of topic modeling is called latent Dirichlet allocation (LDA). This model, based on statistical analysis, determines which words are often used in the same context.
Working with NLP, programmers and developers are likely to run into issues surrounding privacy and other hot button topics. Collecting data that powers NLP can be seen as invasive, particularly if it’s then shared with (or sold to) third parties.
For example, prediction software can be powered by location-based data, leading users to wonder how much the app developers know about their movements. And some language models contain memory cells with sensitive information that can identify a user if programmers aren’t careful.
The possibilities for a career in NLP are only growing as smart devices become more popular — and more complex. Interested in working in this exciting field? Start by learning Python, then jump into our natural language processing courses like:
You can also check out our Data Scientist: Natural Language Processing Specialist career path. Codecademy Data Science Domain Manager Michelle McSweeney says that NLP Specialists hold a unique role compared to other types of Data Scientists. “This is the entry point for artificial intelligence,” she says. “Working with chatbots and taking data science to the next level of what’s possible in this new world of NLP and language and getting computers to act more like humans.”
In our NLP Specialist career path, you’ll gain all the skills you’ll need to launch your new career. You’ll learn programming with SQL and Python, the fundamentals of supervised and unsupervised learning, text preprocessing, language parsing, and more, as you build your own chatbots and other projects you can use to build a portfolio that’ll help you land a job.
Ready to get started? Sign up now!
Data Science Courses & Tutorials | Codecademy
Data Scientists try to make sense of the data that’s all around us. Learning Data Science can help you make informed decisions, create beautiful visualizations, and even try to predict future events through Machine Learning. If you’re curious about what you can learn about the world using the data p…


The internet’s become a crucial part of our daily lives. We use it to connect with other people, stream our favorite songs and TV shows, and even work from home.
But for many of us, how it works remains a mystery. The good news is: It’s not as complicated as you might think. Ahead, we’ll go over a brief history of the internet’s development and explore how it works and its key components.
The concept of the internet goes back more than a half-century:
And so the internet, based on ARPANET, was born. Now that you understand its origins, let’s take a closer look at how it works.
The internet is composed of many computers connected to each other and exchanging information. These connections establish what’s known as a “network.” When you connect to the internet, you’re connecting to a huge network consisting of many computers.
So we know the internet is computers talking to each other, but how do they do this? While the way information is sent and received can be complex, the basic structure behind the internet is very simple:
Computers need hardware to interact with each other, and the hardware they use is controlled by software. If you want to learn more about hardware and the technology that drives computer processing and communication, check out our Learn Hardware Programming with Circuit Python and Computer Architecture courses.
The following components are vital to how the internet works:
Let’s explore each component in further detail.
Computers use Internet protocol (IP) addresses to connect with one another through the internet. Conceptually, they’re similar to the addresses we use to send postal mail.
Every computer has some form of an IP address depending on what network they’re connected to and what they’re doing. For example, your computer may have an IP address that allows information to be sent to it from your printer. It also has another IP address that’s publicly available, which is used while you’re connected to the internet.
When you connect to the internet through your internet service provider (ISP), your IP address is assigned to you, and it identifies your computer, as well as its location. Your computer’s public IP address is used by applications to make sure it gets sent the right information.
In some situations, this can affect the kind of information you receive. For example, Netflix will only show certain content to computers with IP addresses from the United States. If you’ve ever been in another country and connected to Netflix, you may have noticed that the kinds of shows you’re allowed to see are different. This is because your IP address has changed, reflecting where your computer is.
All computers and devices connected to a network are nodes. Hosts are nodes that run applications that send and accept information from other nodes.
As the internet evolved, the connections between nodes got too demanding, and there was a need for new protocols to be developed to make it easier for information to travel. As a result, Network Control Protocol (NCP) and then Transmission Control Protocol/Internet Protocol (TCP/IP) were invented. TCP/IP is used extensively today to make it easier for computers to exchange information.
A protocol is a way of transmitting data between computers and other devices. Computers can’t listen or talk. All they can do is process data, which comes in the form of bytes. These are just strings of 0s and 1s.
The easiest way to understand bytes is to imagine switching a light bulb. “On” is 1, and “off” is 0. These electrical signals cause the light bulb to either illuminate or turn off. Bytes do the same thing, except in far more complex arrangements.
The only way for one computer to turn the bytes sent to it by another computer into something people can understand is to use a protocol. Without protocols, the only thing you’d see on your screen would be hundreds of thousands of zeroes and ones — and even rendering that on your screen would require some sort of protocol.
Here are some of the most common protocols used to send data across the internet:
Data packets are how bytes of data are packaged before traveling through the internet. They’re similar to normal packages that contain the parts of something that must be put together.
For example, if you order a bed, the furniture company probably isn’t going to send you the legs in one box, the headboard in a different box, and the frame in another one. All the components are sent in one package. This makes it easier to assemble them into what they’re supposed to be.
And if you order an entire bedroom set, complete with a bed, bedside tables, and an armoire, you’re not going to get one gigantic box with everything in it. Most likely, each major component will be packaged by itself. Otherwise, it would be too hard to deliver — the box would be too huge.
Data packets work in the same way. Instead of one huge file, such as a high-definition movie, being sent in a single transmission, the data is broken up into smaller pieces. Those pieces are put through protocols that allow them to be understood by the computer receiving them. The receiving computer, which may be your phone, TV, or laptop,, understands the protocol and uses it to turn the packets of data into images, text, and sound that you can understand.
Much of cybersecurity, which involves keeping people safe while connected to the internet, hinges on technology that studies data packets. Tools like firewalls can read the information in the data packet and tell if it’s malicious. (To learn more about cybersecurity, check out our Introduction to Cybersecurity course.)
Networking infrastructure refers to the physical devices that networks use to transmit data. In the case of a network set up by your Internet service provider (ISP), the following steps describe how data flows through the networking infrastructure. We’ll use a movie on Netflix as an example and assume the network consists of fiber optic cable.
Sometimes something goes wrong, and what you see doesn’t look right, the sound doesn’t line up, or the video freezes. This is because at some point in the process, between Netflix’s server and your eyes and ears, the data was mishandled by an element of the networking infrastructure or the software that sends and receives the data.
The infrastructure of the internet is built and supported by network service providers (NSPs). By “infrastructure,” we mean the physical components that carry data through the internet. For example, these would include core routers, which take data and send it someplace else, and fiber optic cables, which carry data.
NSP’s install these core components, allowing internet service providers (ISPs) to connect to them. ISPs then provide internet service to people and businesses.
Some popular NSPs include:
Some of the major ISPs include:
In order for data to be sent to the right place over the internet, each data packet has routing information that tells it where to go. In this way, data on the internet is similar to mail you send through the post office. Each packet of data has information that tells it where it needs to be sent. Then a router, which sends data along the right route, takes the data, reads the information that says where it’s supposed to go, and sends it there.
Each time the data goes from one router to another, it’s called a “hop.” Eventually, the data hops to your computer or another device.
Obviously, when you connect to a website or web service like Google or Zoom, you’re not typing in the IP address of the computer that provides the data. For example, one of Google’s public IP addresses is 8.8.8.8. While this number is relatively simple, IP addresses are often far harder to memorize.
So if you don’t know the IP address, how do you connect to the server that has the website’s data and services? This is where domain names and domain name servers come in.
A domain name is what you type into your browser, such as “Google.com,” “Yahoo.com,” or “Codecademy.com.” Domain names generally consist of two parts: Top-level domains (TLDs) and second-level domains (2LDs). TLDs are what follow the period in a domain name, like “.com” or other common TLDs like “.gov” or “.edu.”
There are rules and regulations surrounding the use of certain TLDs. For example, “.gov” is typically reserved for governmental organizations. Some TLDs are country-specific, like “.ca” for websites based in Canada or “.de” for those based in Germany.
2LDs precede the period in a domain name. For “Codecademy.com,” “Codecademy” is the 2LD. Generally, a 2LD can be whatever you want it to be — as long as it’s not already in use.
A domain name service takes a table of all the domain names and their IP addresses. Then, it takes what you type in, looks it up in its database, and finds the IP address. This allows you to connect to the site you want.
It’s easy to confuse the internet with the World Wide Web, or “the web,” for short. But they’re two distinct things. As described above, the internet is a network of computers connected together and exchanging information with each other.
The collection of websites that use the internet to send and receive data is called the World Wide Web (WWW). In other words, the World Wide Web uses the internet to transmit its data. It needs the internet to survive. But if all websites disappeared, the internet would still exist.
To recap:
Want to learn more? Try our Introduction to IT course. You’ll learn more about the internet and how it works, along with the basics of networking, software development, and cybersecurity.
And if you want to start building applications that live on the internet, check out our programming courses.
All Courses & Tutorials | Codecademy
Explore our full catalog of programming courses, Skill Paths, and Career Paths for complete beginners, advanced learners, and everyone in between.


Data is revolutionizing the world as we know it. As we produce more and more data every day, businesses are finding new ways to put it to good use. But in order to utilize data, you need to know how to analyze it to find data-based insights. That’s why data analysis is so important — and why Data Analysts and Data Scientists are in such high demand.
Ahead, we’ll take a closer look at the different types of data analysis, how it’s used, how it’s performed, and the different careers that use it. (Or if you’d rather learn how to analyze data yourself, check out our Data Scientist: Analytics Specialist career path).
Data analysis is the process of collecting and analyzing data for insights. Many businesses use these insights to improve their systems and products — boosting operational efficiency, improving how services are delivered to customers, and refining products.
A Data Analyst is able to examine data and discover how to use it to boost the bottom line of an organization. Because businesses today generate so much data, a Data Analyst has a lot to work with. As a result, they often play a key role in the operation of an organization.
“We’re seeing data transform our society and everything we do,” says Codecademy Data Science Domain Manager Michelle McSweeney, “whether it’s measuring how well something performed or deciding what we’re going to do next.”
As the name suggests, big data involves large amounts of data, and it’s often used to both improve basic processes and generate machine learning models. Machine learning is a branch of artificial intelligence that enables Data Scientists to predict outcomes and mimic the learning processes of humans in machines. The collection of big data gives Machine Learning Engineers enough information to build very accurate prediction models.
For instance, the artificial intelligence systems that control self-driving cars learn based on huge storehouses of image data. Images are aligned with categories, such as “people,” “vehicle,” “animal,” and “road element,” allowing the vehicle to decide what to do based on the kind of object its cameras are viewing.
Big data also plays a critical role in figuring out how customers use products, their buying habits, and how they may react to the release of services or products. For example, a company with a rewards card program can collect data regarding the kinds of products customers purchase, when they do, and where. They can then use that information to create promotions aimed at giving customers exactly what they want, when they want it.
Real-time data refers to data that is collected as it’s generated. When real-time data is used in a process, it gives the application using it more agility, allowing it to adapt to changing circumstances.
A common example of a source of real-time data is the stock market. As the prices of different stocks rise and fall, the data has to be received, processed, and analyzed in order to ensure investors can make the best decisions possible.
Real-time data also plays a central role in certain medical care environments, allowing computer systems to tell doctors and nurses whether they need to respond to a situation immediately or if a patient’s needs don’t necessarily have to be tended to right away.
Machine data is data generated by machines, but this includes a wide variety of industrial and personal tools. Machine data can be generated by:
Machine data is one of the most diverse categories of data, and analyzing it can improve operations, safety, and the quality of services.
Quantitative data analysis involves examining data that can be measured. For example, say a spreadsheet contained a collection of customer ratings for a given product. A Data Analyst could use this data to produce tangible, measurable insights.
Qualitative data analysis is different in that it’s based on data that cannot be easily measured using numbers. For example, if a customer responds to a survey asking them to describe their experience, their responses would be qualitative data. Even though qualitative data analysis involves, in some ways, a very different process than the analysis of quantitative data, the insights produced are just as valuable.
Using machine learning, qualitative data can be transformed into quantitative data when the machine learning algorithm studies patterns in the data sets. For example, if 30% of customers included the word “great” in their reviews in March, and that number progressively decreased over the next six months, a machine learning algorithm could observe the trend and even provide recommendations. A customer service team could start implementing the suggestions in time for the holiday season and significantly boost sales revenue.
Data analysis is important because it gives decision-makers tangible information on which to base their strategy. This information has a wide range of applications, from improving systems and processes to better understanding clients and even human behavior.
For instance, if a high-end coffee chain were selling a new flavor and customers were buying 35% less of it than the company projected, they could take action to scrap the new flavor in favor of a different one. They could even use customer comments and buying habits to craft new flavors.
In some cases, data analysis can mean the difference between a safe environment and one that threatens people’s health or well-being. For instance, you can use data analysis to study the movement patterns of people on a factory floor.
The distances they get from dangerous machinery can be studied in relation to the person’s speed, the time of day, and even the habits of specific employees. You can then use this information to set up boundaries and guidelines that keep people out of harm’s way.
Data analysis also plays an important role because it provides objective information as opposed to subjective, emotional perspectives. While emotions are a crucial element of the decision-making process, they can sometimes get in the way, especially when somebody is personally invested in an outcome.
For example, if an executive is personally invested in the success of a product they helped conceive, they may fail to see some of its flaws. On the other hand, with data analysis, the reactions of end-users can provide concrete numbers that can produce decisions motivated by facts instead of feelings.
Note that while data analysis can provide objective information, data professionals need to be mindful of biases in the data that can influence analysis and insights and lead to poor outcomes.
There are several techniques you can use to analyze data and a variety of technological tools that can make the process faster.
There are many types of data analysis techniques, but the most popular include regression analysis, Monte Carlo simulation, and cohort analysis.
Regression analysis refers to finding the relationship between different sets of variables. Whenever you do any kind of regression analysis, you’re trying to see a connection between independent and dependent variables. A dependent variable is a factor you’re trying to predict or measure, and an independent variable is one that may affect the dependent variable.
For instance, if you’re studying people’s voting habits in a certain town, one of your dependent variables may be the percentage of registered voters that show up to the polls. Your independent variable could be the temperature outside on voting day. You may discover a correlation between how hot or cold the day was and the number of people that went to the polls.
Monte Carlo simulation involves a computer analyzing a set of data and then producing a report that outlines the chance of different outcomes happening. In most situations, the data a computer is analyzing has been organized into a spreadsheet, and the computer figures out the percentage of times a certain outcome occurs and then uses that to predict what may happen in the near future.
For instance, if a city’s traffic light system has been set according to configuration A, and there are 165 accidents over the course of two months, but with configuration B, there are 232 accidents, the computer can use this data to predict which configuration is safest. Configuration B produced about 29% fewer accidents than configuration A, perhaps making it the better choice.
Cohort analysis focuses on separating large data sets into smaller groups that are then examined individually. This helps Data Analysts study the behavior and tendencies of specific subjects.
For example, suppose a university has a freshman class of 2,000 people. You can divide these into several smaller cohorts. For instance, you could group the students according to their high school grade point averages. Data Analysts at the university could then follow students in each grade point average cohort and observe how successful they are in different kinds of classes.
You could use this information to provide tailored support services to students based on their cohort. You could also design support systems around specific types of classes or within certain majors, all using the data gathered from the cohort analysis.
Computerized tools make data analysis faster, easier, and more accessible. Some of the most common data analysis tools include Microsoft Excel and the programming languages Python, R, and SQL. Our courses can provide you with a strong foundation to build a career as a Data Analyst. Some of our best courses for data analysis are:
Using these tools, you can create your own databases, complete with rules and configurations that allow you to generate data-based insights. You can also incorporate these kinds of databases into other programs.
For instance, you could design a database using SQL that allows users of an eCommerce clothing app to search through products, specifying elements such as size, color, and style. The end user’s search experience can then be tailored in any way you want, ensuring they get the search options they need and stay engaged with the app and the company’s products.
In reality, nearly any career that brings you into contact with substantial amounts of data can use data analysis. Even if your role doesn’t specifically require you to analyze data, having some background in it can position you to:
That being said, there are some professions where data analysis is a must. These include:
The best way to work with data analysis is to get comfortable using the tools and techniques that power data analytics. You can get started today with our Data Scientist: Analytics Specialist career path. In this course, you’ll learn how to use SQL, Python, and various libraries including pandas and Matplotlib, to analyze and visualize data and share your discoveries. Sign up today to get started for free.
Data Analytics Courses & Tutorials | Codecademy
Data analytics is the process of taking raw data and turning it into something meaningful we can understand. By finding trends and patterns, you can make predictions and uncover new information that helps inform decisions. There’s a great demand for Data Analysts in healthcare, marketing, retail, i…
