| To me senior means ownership above everything else. Owning a part of the system implies that you’ll do (or organize) the risk analysis of new features, cost-benefit of bug fixing, coding (or at least outlining the design), support via documentation, communicating to product owner/stake holders/support. Elevating from senior to staff (or principal etc) would be projects with larger scope, moving parts, and higher risk/reward. I think its easier to see a junior to senior (if say we have two buckets). After senior it gets tough. Does their role involve purely tech lead/coding? Or some managerial politics, pushing engineering culture/direction in whichever way is best for the company. Really depends on the company itself, which I think is why it’s hard to standardize. CTO at my own startup? Really a glorified senior dev with some communication and business mixed in. Upper senior dev at Netflix? Most likely masters or PhD level (not necessarily with the degree) understanding of some C.S. concepts that matter at that scale. |