Long-term earnings by college major

To take a school grade analogy, CS majors who received a lot of B’s during college still generally manage to find jobs in the industry; especially among those who have relevant work experience. However, those B students or students who do not ace every complex interview question may not necessarily be hired for the same software/CS positions as top performers, and/or may average a lower salary. There are a wide variety of different software/CS companies and software/CS positions at those companies.

Different senior CS/software employees often have completely different salary histories. Even at the same company, it’s common for tech employees with the same job title to have very different salary histories. This influences both the positions that they are applying for (many report salary range on job posting) as well as the size of the offer. For example, Payscale reports that ~half of “experienced” (between mid-career and late-career) “software engineers” have salaries below $100k… below the average starting salary for new CS grads that were mentioned in all of the salary surveys of this thread. Many employers do not automatically assume an experienced employee will be to expensive to hire, especially if that experienced employee should already have a good idea of the expected salary for the position.

As listed at https://viglobal.com/2018/06/13/tech-industry-battles-highest-attrition-rate-in-the-world-and-its-costly/ , well known tech companies have an extraordinarily high attrition rate for software/CS type employees. Facebook, Google, Amazon, Microsoft and similar all average employees remaining for only ~2 years. I’d expect the attrition rate is highest among younger employees, rather than senior employees. In hiring decisions, employers will certainly consider if the employee is likely to break the trend and stick around. For experienced employees, one of the most important ways to identify who is likely to leave and who is likely to stick around is looking at how long they stayed at past companies on their resume; rather than making assumptions based on experience alone. For example, they’d likely draw very different conclusions about an experienced employee whose resume showed he rarely remained at any one company for more than a year, and an experienced employee whose had been working at the same past company for more than a decade. The employer may ask related questions during the interview as well.

There are many types of tech/CS positions. Many companies work on somewhat unique technologies, which have few direct competitors. These technologies are often not taught well (or any many case at all) at colleges. However, employees who have worked at the company previously or its few direct competitors are far more likely to possess such knowledge. This can lead to common job pathways among experienced employees. It may be common for employees from company A to switch to company B. This leads to person in hiring decision at company B already being familiar with the applicant who previously worked at company A, with related referral bonuses. Persons at company B knowing that the applicant A gets the job done and is pleasant to spend time with throughout the day can be very influential in hiring decisions, even if the applicant is not “elite:”.