This will vary by company and what they value. I've worked at LinkedIn and Amazon. At both, the common thread is generally that PE's have impact across several teams. Coding is often minimal and typically focused on highly complex / mission critical code or prototyping. Majority of time is spent reviewing / developing architecture. The problems and solutions they tackle become more ambiguous. In many cases, PE's are the ones identifying problems proactively. Often at smaller companies, this role may be more code heavy.
I'm co-founder of Levels.fyi - we think of this a lot and have developed a 'Standard' leveling based on what we've observed the roles and responsibilities are across many companies. This is the description we have for Principal Engineer:
Impact spans across organizations within the company. Entrusted with business-critical projects and for setting technical vision for an org or multiple orgs. Responsible for reviewing and providing feedback on technical designs across an org. Little to no day-to-day coding. Role depends highly on organizational / company needs and becomes loosely defined. Expected to operate fully autonomously.
I'm co-founder of Levels.fyi - we think of this a lot and have developed a 'Standard' leveling based on what we've observed the roles and responsibilities are across many companies. This is the description we have for Principal Engineer:
Impact spans across organizations within the company. Entrusted with business-critical projects and for setting technical vision for an org or multiple orgs. Responsible for reviewing and providing feedback on technical designs across an org. Little to no day-to-day coding. Role depends highly on organizational / company needs and becomes loosely defined. Expected to operate fully autonomously.
You can see descriptions for other levels at: https://www.levels.fyi/standard/