Developer Thriving: Four Sociocognitive Factors That Create Resilient Productivity on Software Teams | Synapse