I'm a Senior Software Engineer in my company and we thinks in terms of “context” when applying theory. We understand that there is no “Right Way” to build software, and that the only way to build good software is by adapting theory to fit the needs of the client, code base, team, tools, and organization. We understands that everything in our field involves trade off, and will look for what that is for design patterns, libraries, frameworks, and processes.We thinks of more than just our selp. We are aware of how our organization and our clients work, what their values are, and what is both important and not important for success. When a ball is dropped, a senior developer will do what they can to pick it up. The phrase “this is not my job” is never, ever said in those situations.