I'm a sad, frustrated programmer working in a world-wide known electronics company. I'm a bit confused and stressed about the situation that our company is forcing on programmers like me.
Year ago, we were asked to take an internal "Software Certificate" test. It was supposed to be only used for our own assessment of ourselves and nothing more. However, later it turned out that only a very few people passed and the upper management was very unhappy about it. So, this year, we are required to take the "Software Certificate" test again, and an e-mail that was sent a few weeks ago said that "every engineer working at XYZ is required to pass this certificate test".
The "Software Certificate" test consists of three programming tasks, very similar to the ones available in programming contests like CodeChef and SPOJ. Unfortunately for me, I've never been good at tasks like these, especially since they usually don't have anything to do with the fields that I do the programming in. Obviously, daily tasks at work don't involve matters found in "contest" programming either.
All my performance reviews so far have been positive. I also think I am skilled for the job that I'm actually doing, since people often come to me for advice.
I've never witnessed a company wanting to "certify" its own programmers just for the hell of it, using metrics clearly not having much to do with the actual work performance. So my question is : is it normal for companies to expect something like this from their employees? Or have I stumbled upon a very specific situation here? Also, what shall I do if I don't pass the certificate and the management will want to fire me?