Posting with a throwaway account since my main is known by some of my colleagues.
I'm on the lead developer position in our indie game company. Not because that I'm fully qualified for the position but because I'm one of the programmers with most experince on game development and the one with only engineering degree in our company. Our managers trust on my decisions and estimations, I haven't been asked to change my approach on neither planning nor the software design for the project yet since I've titled as the lead (nearly 10 months).
Recently I've told them about some of my concerns regarding to one of our colleague and they said I can decide whether to continue with him or not as well, that they would respect and trust my decision regarding to this, forming our programming team, since I'm the one with in contact with them most. Here are my concerns/the things that I'm not happy with:
– He doesn't try to understand what he is doing when he gets help from internet. I'm not against getting help from anywhere if someone is stuck somewhere. But I would expect people to understand what their code is doing at least at a higher level, even if they can't fully understand the concept. His work feels more like just copy paste (which I'm still okay if they are aware why that solution is the solution we need).
– He doesn't try to understand how other parts of the project is working. When his task is intersecting with another part of our project that's done by someone else he is lost on how to do it. He doesn't try to trace how that part is done and which point he should be dealing with. I got a call on my vacation like "Hey, so, I didn't read the documentation yet, can you explain how to use this component?". Which I believe the documentation would answer the question, as others are able to work with that same component without problem.
– If he is asked to do something that he doesn't want to do, he complains and tries to get away from the task, either by saying there are other things he is doing/needs to do or recommend someone else to take the task. So I need to explain that either the other person is busy with something else or the new task has more priority than what he is doing or that he shouldn't be updating his tasks to done if he still have things to do related to them.
– Besides the technical capacity, his behaviors are sometimes rude when he's not happy with something, whether related to work or not. The way he expresses his feelings are not liked by some of our colleagues as well. Also I feel like he is looking down on our programmer colleagues with lesser experience than him or joined to our company later than him. (Although I think they are performing better than him)
Ideally, I would fire him yesterday, or wouldn't even hire him (I wasn't included in his recruitment process). As I stated, less experienced colleagues (whether within the company or in game development in general) are improving faster and performing better than him. But at the same time I'm considering if it's my fault that he isn't improving as I expect him to, if I'm having unrealistic expectations or doing something wrong.
One mistake that I'm aware I did is, I didn't acted on this earlier and had talked with him to tell my expectations. I'm planning to do a private talk with him about my thoughts on his work to give him a chance to improve himself. I would like to get your opinions about if it's worth keeping someone I think like this as well as getting different perspectives on the topic to see if I'm missing anything or doing something wrong. Thanks for reading and your inputs.
submitted by /u/softdevthrowaway_
[link] [comments]
from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/Jr3WvDz