If we start with the premise that a “Software Developer” is someone who can..
- Interact with the business
- Understand when/where/why to use X/Y/Z (technology, pattern, process, etc)
- Create a solution they can be proud of
and a “Coder” is someone who can..
- Sit in a chair and write the code that is requested of them
then I think as a team lead it’s important that you decide what you want your team to be made up of. There are probably places out there where a “Coder” is exactly what the company wants/needs but personally I never want to work at a place like that.
The reason I bring this up is because I am trying to move from “Team Manger/Paper Pusher” to “Team Lead” and for me a large part of that is worrying about the other team members and helping them to improve. Team members (whether they be Permanent or Contractors) need/want/should be allowed to improve their skillset. And I’m not talking about whatever new shiny framework the Front End world has spit out (though those are fun and important as well) but also other important skills like..
- Interacting with the business
- Understanding why you/the solution architect/whoever are making the decisions they are making
- How the solution you are building together will be something they can be proud of
- A million other things not related to writing code but critical in creating a correct and maintainable solution
So if you’ve been managing a team and are also interested in starting to leading them then I’d suggest there is value in sitting down and deciding if you need to make more of an effort to help others develop the skills they may be missing on their path to being true Software Developers.