You've been programming for a while now. You know your way around the code, and you're starting to feel kind of senior. And it looks like someone else noticed, because you're the technical lead on your next project. Congratulations! But now what? It's a big job: The technical lead can be responsible for designing software architecture, writing requirements, interfacing with clients or management, mentoring less-experienced developers, or dividing work amongst the team-- and those are just the parts of the job they tell you about ahead of time.