As a developer, assume that you are given technology or tool X and told that you need to create Y using it. Sometime it’s just getting down to business and getting it done. Sometimes you realize that using said technology is a mistake. It could be that the technology isn’t appropriate for the task. It could be that there are simpler cheaper solutions (things that take less of your time). It could also be that you feel that it’s outside of your job: Like asking an accountant to do the floors.
What you feel as professional, refusal to waste money and resources, could be interpreted as unprofessional. Your refusal could be interpreted by your manager as behaving as a child: “Developers who act like children (refusing to use a tool mandated by a customer!) are not good developers no matter what their coding skills. …” The above answers sounds a bit childish: Since my parents refuse to let me eat candy, they are not good parents. Another answers deals with the role of a developer (slightly rewritten): “you hired developers and you are trying to get them to do something else”
A more experienced coworker told me that the best action is to endure. If you get to do more interesting things later on, then it could be worth hanging in there. If your manager starts to give you more of the same work, since you have done so well before, then it might be time to look for a new job. It could be that your skills as a developer are less valued than work with technology or tool X at that company.
Developers are usually driven to do a good job. I’ve done things I’m not proud of. I’ve helped create solutions that are shoddy because the underlying technology is wrong for the customer. But I’ve done it since the customer wanted it. I’ve tried to do the best job I can. I’ve informed my superiors about the problems. It could be that the shoddy solution is good enough for the customer. It could be that you realize that technology or tool X is really good when used specifically to do the things it’s designed for. You can then help customers use X when it’s appropriate.
It could be that the request to work with technology or tool X is simply the request to get work Y done. If that’s the case, then you can reason with your manager about not involving technical terms when talking about what needs to be done. It could be that a change of requirements can make the technology or tool a better fit. In that case, you should try to get your manager to steer the customer in the right direction.
Do you want to send a comment or give me a hint about any issues with a blog post: Open up an issue on GitHub.
Do you want to fix an error or add a comment published on the blog? You can do a fork of this post and do a pull request on github.