Skip to content
0

How Are Tech Salaries Shaping Up in 2020-2024? Part 1

by John Mike Asuncion

Executive Summary

This Level 1 analysis examines tech salary trends from 2020 to 2024 using a dataset of 57,194 salary records. The report addresses three key objectives to provide actionable insights for an international HR consultancy:

  • Dataset Scope: Dataset contains 57,194 salary records spanning 2020–2024, offering a 5-year view of tech salary trends.
  • Salary Comparison between Data Scientists and Data Engineers: Data Scientists earn an average salary of $159,397 (USD), surpassing Data Engineers at $149,315, a 6.8% premium reflecting the demand for data science expertise.
  • Remote Work in the US: Of the full-time US-based employees, 11,163 work 100% remotely, highlighting the prevalence of remote work in the tech industry.

Brief Recommendations: Offer competitive salaries above $160,000 for Data Scientists and $150,000 for Data Engineers to attract top talent, expand remote work options to align with industry trends, and enhance data collection by including company revenue and industry sector for more granular insights.

I. Background

Tech companies face fierce competition for talent, making salary insights critical for attracting and retaining skilled professionals. This analysis leverages a global salary dataset to uncover trends in job roles, experience levels, and remote work, helping an international HR consultancy stay competitive. With remote work surging and tech roles diversifying, understanding these drivers is more vital than ever.

II. Objectives

This report aims to provide actionable insights into tech salary trends by addressing the following goals:

  • Determine the dataset's scope: number of records and years covered.
  • Compare average salaries (USD) for Data Scientists vs. Data Engineers.
  • Quantify full-time US employees working 100% remotely.

III. Data Description

The dataset, sourced from a survey hosted by an HR consultancy, is stored in salaries.csv. Each row represents an employee’s salary record for a given year. The columns are as follows:

Column NameDescriptionExpected Data Type
work_yearYear of workint
experience_levelLevel of experience (e.g., EN, MI, SE, EX)str
employment_typeType of employment (e.g., FT, PT, CT, FL)str
job_titleJob title of the employeestr
salarySalary amount in original currencyint
salary_currencyCurrency of the salarystr
salary_in_usdSalary amount converted to USDint
employee_residenceCountry code of employee residencestr
remote_ratioRemote work ratio (0, 50, 100)int
company_locationCountry code of company locationstr
company_sizeSize of the company (S, M, L)str

Let's load the data to begin our analysis.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

salaries_df = pd.read_csv('salaries.csv')
salaries_df.head()
salaries_df.info()

IV. Data Preparation

Data Quality Check and Data Cleaning

Data preparation ensures reliable analysis by addressing potential pitfalls. Each check builds a solid foundation for trustworthy insights.

  1. Checking Column Headers

Headers guide our analysis. Missing or misnamed columns, like salary_in_usd, could derail salary comparisons.

salaries_df.columns.tolist()
  1. Checking for Missing Values

Missing data, such as blank salaries, skews results. Checking ensures completeness for accurate averages.

salaries_df.isnull().sum()
  1. Checking Data Types

Incorrect types, like text for salary_in_usd, prevent calculations. Verification ensures compatibility.