Many factors contribute to developer happiness. However, as engineers, we’re often singularly obsessed with the idea that our job satisfaction comes solely from solving only the most interesting technical challenges.
Feedback is one of the most important skills when collaborating with others. Giving and receiving feedback with honesty, integrity and empathy is hard. Doing so consistently takes practice and requires learning and practising feedback and listening techniques.
The path from being a developer to a Tech Lead seems like a scary transition. As a developer, you could focus on constantly learning new tools, libraries, frameworks and programming languages.
As a developer you are used to certain constants in your life such as battling with a compiler/interpreter or debugging a production issue only to discover a single, tiny error.
To build great teams you need to understand people. One of your core skills as a leader should be the ability to have effective conversations with your team, the rest of your organisation, and your customers.