My wife is a Certified Family Nurse Practitioner and she recently joined the medical staff at a hospital here in town. As she started her work, I was amazed at the hoops that she had to go through just to practice medicine. There was licensing with the state board of nursing and certification and verification with the hospital. There was the accounting for all of her continuing education hours. She had to prove that she had the education and experience to back her credentials. In short, she had to prove that she was the professional she claimed to be.
While she was running the gauntlet of verification, it made me consider the last time I had a similar experience. While not even close to her experience, the closest that I could come to that level of scrutiny was my last job interview. Obviously, the ramifications of a medical professional not being properly experienced and taught would would be much greater than that of me as a software developer, but it made me consider that perhaps we developers, too, should be held to a higher professional standard.
Merriam-Webster defines profession as
a calling requiring specialized knowledge and often long and intensive academic preparation
Most of us in the software development profession have had substantial training, ranging from on-the-job training up through doctorates in some computer science or information technologies field. We have a set of specialized knowledge and have had long and intensive preparation, but that was for yesterday’s technology. Just as new techniques in other professions are continually created and taught, perhaps we should continually be taught as new technologies emerge in our field.
As we consider how other professionals (in this case medical professionals) keep their skills up-to-date, there are a few things we might consider:
1. Continuing Education Units
Every two years, medical professionals are required to accumulate a specified number of continuing education units (CEUs) by attending classes, seminars, and online courses to maintain their licensing and accreditation. They must have many hours with several of these hours reflecting their specialization. In like kind, what if we software developers were required to have a certain number of CEUs to maintain our jobs? How would our profession be different if keeping up with the latest technology – even studying it at a high level – was a requirement for continued employment? While CEUs may not be required of us as developers, we should be staying abreast of the latest in our field so that we know which tools are at our disposal.
There are many sources that we can use to meet the goal of continued education without even leaving home. Sites like Pluralsight have an entire library of rich content on a gambit of software-related topics. Channel9 and MSDN from Microsoft have courses and videos to cover their entire stack. Oracle has a wealth of material available for learning Java. There are also conferences that can be attended in-person or online, like Google I/O or Microsoft Build. These are just a few sources from which we can get our “Software CEUs” and we should make it a point to utilize these and continually grow as professionals.
2. Employers Monitor Skills and Training
You can bet that when you go into the emergency room or under the surgeon’s knife that the hospital has THOROUGHLY vetted every person that touches you. The threat of malpractice is so real and liabilities are so great that hospitals and practices are extremely picky as to whom they employ and they continually monitor these employees performance and training. Likewise, we should take very seriously the people we hire and we should take their continual training seriously. Companies and managers should provide incentive and reward employees who make life-long learning a priority.
3. Credentials Matter
In the 2002 movie, “Catch Me If You Can”, Leonardo Decaprio plays a con-artist who poses with several aliases, including an airline pilot and a doctor. In the doctor scene, he faked a diploma from Harvard and was welcomed into a hospital as a doctor with some humorous (and some not-so-humorous) consequences. I have seen developers come and go in my career who were a lot like the character played by Decaprio in that movie. They seemed to have the credentials to develop software, but their credentials were just not for real. Hospitals work hard now to ensure that doctors and nurses are fully credentialed. Perhaps we could apply this to the software development arena through proper degrees, professional organizations, and certifications. I know there is some debate here as to whether these things are required to be a good developer, but perhaps we should consider these when we hire developers and as a way to increase our credibility as developers.
While there is not a perfect correlation between the medical field and the software development field, there are things we can learn from the medical profession that we might be able to apply to our advantage. Anything that we can do to promote developer proficiency and higher quality software will only prove to move the field forward and improve our ability to deliver quality solutions.