As a manager for a software development team, how do I deal with developers who don't seem to understand what their job description is?
In particular, I am currently dealing with a junior developer who wants to be "challenged" and asks for "creative" tasks for me to give him. Furthermore, he constantly makes input and recommendations on processes that are simply not his responsibility. The other day, he wanted to talk to me about possible speed-up improvements of a particular piece of code. This is annoying, because even if it could be sped up ... so what? That's not what you were hired to do. If we wanted somebody to speed that part of the code up ... guess what? We'll bloody hire somebody to do that. The fact that we haven't, should tell you that we have other priorities!
And that's the issue. He has been hired, along with a few other guys, to .... code. On our latest projects for our newest clients. We have deadlines to meet, and I'd like him to focus on Coding. That's his job description. I respect the fact that he wants to be challenged, but then maybe he should get a job as a SWAT agent. But in our deparment, our junior developers are nothing more than code monkeys.
How do I explain this to him?
DO NOT misunderstand me. I am not saying his attitude is bad, or anything, but I just need him to understand that this isn't Facebook or Google where we can afford to give him "challenging" tasks like a superhuman chess engine. We are a mid-size company constantly struggling to meet deadlines. We need him to code.