Skip to content
0

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

by John Mike Asuncion

Executive Summary

This Level 2 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:

  • Top 5 Job Titles by Salary: The highest-paying roles are Analytics Engineering Manager ($399,880), Data Science Tech Lead ($375,000), Applied AI/ML Lead ($292,500), Head of Machine Learning ($288,701), and Engineering Manager ($262,526), as visualized in a bar chart.
  • Remote Work Salary Trends: On-site workers (0%) earn the highest average salary at $162,402, followed by fully remote (100%) at $149,675, and hybrid (50%) at $81,867, indicating a surprising premium for on-site work.
  • Salary Distribution by Company Size: Medium companies (M) offer the highest average salary at $159,725, followed by large companies (L) at $152,617, and small companies (S) at $87,672, with a box plot illustrating the distribution.

Brief Recommendations: Offer competitive salaries above $375,000 for top roles, consider on-site work incentives given the salary premium, and benchmark against medium-sized companies. Enhance future data collection with variables like industry sector for deeper 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:

  • Create a bar chart displaying the top 5 job titles with the highest average salary (in USD).
  • Compare the average salaries for employees working remotely 100%, 50%, and 0%, and identify patterns or trends.
  • Visualize the salary distribution (in USD) across company sizes (S, M, L) and determine which company size offers the highest average salary.

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 issues. Each check builds a 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.