4

Describing Software Engineers (SWEs)

 3 years ago
source link: https://medium.com/on-technology/describing-software-engineers-swes-ff2b4a407f98
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Describing Software Engineers (SWEs)

On Titles, Levels, Salaries and Effective Experience

What’s the difference between a “Software Engineer” and a “Senior Software Engineer”? Is a Senior SWE in one company better than a plain SWE in another company?

The problem with “titles” like “SWE” and “Senior SWE” is that there is no standard convention around what they mean. Technically, anyone can use any title.

This article summarizes how I think about “titles” in general and how I “translate” titles into other particular factors.

Titles and Levels

Most established tech companies have a progression of titles. Titles are also usually associated with some numerical “level”. For example, Google has (had?) the following titles and levels.

1*RqVju16eLI1p7SRmvmKgQA.png?q=20
describing-software-engineers-swes-ff2b4a407f98

Note, Google does not hire E1 and E2s. Google hires Entry-level SWEs (e.g. “straight out of university”) are usually as E3s. Facebook (my former workplace) used the same levels but did not use publicly visible titles.

Salaries

There was an unwritten rule at Facebook that anyone at level X + 1 about 1.5x more impact than anyone at level X. Since it was reasonable for the organization to compensate employees in proportion to their impact, salaries also reflected this “exponential”. An E5’s salary (roughly) was 1.5x the salary of an E4.

I haven’t done a proper analysis of SWE salaries in Sri Lanka, but here is a rough mapping of levels and titles to salaries for presentation’s sake.

1*A_1_eeFIeALwkFR7vpz9nw.png?q=20
describing-software-engineers-swes-ff2b4a407f98

The critical takeaway is less the actual numbers and more the multiplier between levels.

Why 1.5x? Why not 1.25x or 2x? The 1.5x is somewhat arbitrary. It seemed reasonable for Facebook but might be different in other circumstances. A market with slower growth would have a smaller multiple and vice versa.

“Effective Experience”

Many associate titles with experience. Some companies “promote” SWEs purely due to how many years they’ve spent at the companies. I’ve even heard some SWEs demand promotion based on their “seniority”.

Experience is essential; but not “raw experience” measured in time; instead “effective experience, which is time multiplied by how effectively you spent that time. For example, one year spent in an exciting role learning many new skills every day is far more “effective” than one where you do the same thing every day. “Effective experience” can even be negative; especially when the experience consists of mundane and obsolete technology.

“Effective experience” is also directly proportional to the SWE’s impact capability. Hence, ideally, it should be proportional to salary. Hence, this is my rough mapping of Title, Level, Salary and Effective Experience.

1*CeCl75YDPzgEga5upQIwPg.png?q=20
describing-software-engineers-swes-ff2b4a407f98

Like Salary, Effective Experience also follows the 1.5x exponential rule. Hence, gaining effective experience for higher levels takes more time and becomes increasingly difficult. Often, once a SWE reaches a certain level, the new skills they learn are barely sufficient to compensate for old skills that have become obsolete. The SWE’s effective experience remains constant, and they remain at the same level.

How come an “Entry Level” SWE has 4.5 years of experience? Because they already should have acquired a range of skills from University, School and Coding Projects relevant to the SWE role. “Work” is not the only means of “effective experience”.

Finally, where do you get 77 years of effective experience? You either live (and work) till you’re passed a 100, or you are a genius who can acquire several years of effective experience every raw calendar year. Both are highly unlikely, and, not surprisingly, there are almost no Fellows at Google or E10s at Facebook.

Concluding Thoughts

So “What’s the difference between a “Software Engineer” and a “Senior Software Engineer?” It is difficult to say, merely based on titles. But a combination of Levels, Salary and Effective Experience, will give you a better picture.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK