. Certification
This document is intended to reach multiple, different readers. It presents arguments which address the particular complaints commonly received. This argument is leapt into without introduction. For a more thorough, linear introduction to official Python Training and Certification, read the PCP.
I think certification is inherently bad. Anyone doing it should be caught and given a stern talking to.
Well, I think we can all agree that bad certification does this. If the certificate is based on poor training and simple targets, it then becomes easier to gain Python Certification than it is to actually become good at Python programming. This is to be avoided. But, is it necessarily so? Will certification always punish good programmers and reward the mediocre? Can certification be used to enhance ones own skills? Can it become a real badge of honour? If it can do good things, should we in fact do it? It seems to me that it is deserving of consideration that a certification scheme could be used to advance positive goals, if done properly.
Let's suppose that it is an open question that certification may be able to advance positive goals. What are the positive goals which might be advanced through certification? Are they important enough to take a risk with a certification scheme? Do they outweigh the possible downsides? I will start with a list of the possible downsides, not least to convince readers that these objections have, in fact, been considered during the construction of the certification PCP
- . -- Downside Risks from Certification --
- 1. The certification scheme may reward mediocrity 1. Good programmers may be excluded because it will cost money 1. Contribution to the Python community and language may be less valued than certified programmers 1. It may cost a lot of money to implement 1. It may cost a lot of time to implement 1. It day distract from other, more important PSF activities 1. Commercial goals may be placed ahead of community goals
Now that we have established that we recognize, and need to respond to, these downside risks, it would be appreciated if readers would take the time to consider with an open mind these upside possibilities:
- . -- Upside Possibilities from Certification --
- 1. The certification scheme will encourage programmers to better themselves 1. Good programmers will be formally recognised under the scheme 1. Certification can be used to strengthen the connections within the Python community through recognition of community activities 1. Certification may be profitable 1. Commercial goals and community goals may be linked sustainably 1. Certification will help establish Python as a significant part of the commercial world
So, how can we possibly evaluate the alternatives? Is certification a black box with uncertain outcomes, a risky and dangerous undertaking? Or can we look under the hood and draw conclusions about the likelihood of achieving a good result? Let us first look to some other objections...
I think training is inherently bad. It's a free world, but we shouldn't do it ourselves.
Okay, so why is training so great?
1. It can give opportunity to Python programmers 1. It can raise the visibility of the Python language 1. It can make Python a more acceptable commercial choice 1. Python trainees can contribute directly to the Python community 1. Python's brand can be enhanced
Marketing is evil. Training is evil. Real programmers discover Python through direct binary insight.
Well, a lot of people like contiki tours. I like contiki tours of languages and technologies. They are comfortable, well-run and give a degree of insight into a new technology or idea which just might not fit into my tight daily schedule. There are many exciting new technologies which I fail to take advantage of. The flipside of that is those same new technologies /fail to gain traction/ in my work. Somebody probably worked really hard on those technologies, and I couldn't even be bothered recompiling it to suit my build environment.
Well, there is an element of Python's culture which supports contiki tours. Python comes with batteries included. That doesn't need to stop when the programmer checks in their code. It can be extended all the way out to how Python treats new users, how Python treats those who are in a rush, how Python treats commercial organisations. Offering official Python training gives a stamp of recognition to those who have gone to the effort of learning Python's ways. For those who need to learn new technology quickly, for an organisation wanting to make sure it can skill up its workforce, or for someone seeking recognition as an expert, Python training is part of what it means for the batteries to be included.
Why the Foundation and not Somebody Else
I'm still reading. Go through your arguments, I'm listening. Convince me already!