Software Certifications

April 29, 2010

At the APLN Chicago meeting on Thurs, April 21, 2010 we had a good discussion on Certification and Certificates. The discussion focused on the reasons for and against certification as follows:

Reasons for Certification:

1)      As guide to learn a domain

2)      To get past hiring filters

3)      To demonstration that the individual has learned a domain

4)      To socialize with peers w/similar knowledge, challenges and interests

Reasons against Certifications:

1)      Doesn’t show true capability – especially when Certification occurs after a 2 day class without a test (or even 1 week class with a test – I’m thinking of PMI here);

2)      Certification turns skills, knowledge, experience and knowledge work in general into a commodity

Some of my thoughts on the issue that were not discussed at the APLN meeting:

I believe that Certification has turned knowledge work into a commodity without adequate proof that it can be turned into a commodity.  The use of Certifications for positions like Project Manager, Tester, Business Analyst and Scrum Master has made the life of a hiring official easier, but I doubt that it has improved the quality of the workers hired.

Certification is not the way to solve the problem, especially when Certification means attending a 2-day class (or even attending a 1-week class and test).  Pretending that a Certification will fix the personnel selection problem is foolish and dangerous.

Where’s the Beef?

I would like to see a hiring official show me defensible personnel selection data that shows that Certifications has improved the quality of the work force hired.

In fact, I believe that Certification in the Computer Industry has led to the outsourcing of many US jobs to cheap foreign labor without adequate demonstration that the foreign labor can in fact deliver the same results.

Assessing Talent is difficult.  It is difficult in the software development area and it is difficult in sports teams as well, as most fans of Chicago area teams know.

Interview based personnel selection systems (which most organizations use) have low validity with correlation coefficients between 0.20 and 0.30. This means that the interview based selection systems account for between 4% and 9% of the variability between interview ratings and job success.  Not a number you would want to “bet the farm on”!

Improved interviewing skills, job simulations and greater focus on grooming internal employees will provide some improvement, but current personnel selection techniques are just not very effective.

It takes many years of continued demonstration of good skills, knowledge and experience in real life situations to become a licensed Medical Doctor.  If we want to formally assess talent, than we should State License Software Engineers in a way similar to the Medical Profession!

Software Engineering

April 25, 2010

I have been consulting in IT for over 30 years and have been teaching Software Engineering at the graduate level for most of the same time.

During that time I have noticed a disturbing trend among the individuals I meet within the IT Industry.  Many individuals only have a narrow knowledge of some specialty within IT.  They may know a specific software language such as:  C#, Pearl, PHP or Python; they may know a specific operating system such as: Linux or MS/Windows Vista; or a specific software development methodology such as:  Waterfall, RUP or Scrum, but do not have a broad range of skills.

This lack of overall knowledge of the entire software development, operation and maintenance process often leads to micro-optimization, inappropriate solutions and failed projects.

In other professions such as medicine, an doctor in training in addition to needing a college degree, and a medical degree needs to practice his trade as an itern to learn the general practice of medicine before they learn a specialty.   Learning a specialty takes years more of learning and practice.  Among the trades such as Electrician, Plumber or Carpenter, there is a requirement to learn the general trade over an extended period as a Journeyman before learning a specialty.

Not so in the IT profession.  Individuals in IT often learn a specialty, begin work  and never learn the general principles and practices of software development, operations and maintenance.

Computer software is becoming more complex and integrated with the business organization.  As a result, there is a need to identify individuals who have a broad range of expertise, look at the overall problem and develop a comprehensive solution to that problem.  These individuals should be called: Software Engineers. They should be taught the broad based of knowledge necessary to develop, operate and maintain software solutions.  Then they need to learn to practice software engineering over an extended period of time.  Once this is done, they can focus on a specialty and become certified in that specialty.

I try to correct this lack of general knowledge by teaching Software Engineering at the Graduate Level, but I can not reach every individual going into IT. We need focus on teaching Software Engineers if IT is every to become a true profession.

1st Post – IT Excellence!

April 25, 2010

This is my 1st Post.  This Blog is about IT Excellence!

In today’s global economy, business organizations must constantly pursue excellence to remain competitive by:

  • Creating new products and services
  • Improving existing products and services
  • Reducing cycle times and cost
  • Improving quality and productivity
  • Innovating and constantly improve

The IT organization needs to supports the business’s quest for excellence by striving for IT Excellence, by striving to become:

  • Agile, Lean and Green
  • Customer, staff and people focused
  • Innovative and constantly looking for ways to improve its capabilities
  • Able to rapidly identify, develop, adopt, introduce and deploy new concepts, technologies, tools and practices
  • Constantly measuring its performance and using that information to better manage itself

The pursuit of IT Excellence requires hard work, people oriented change management techniques, agile and learn practices, excellent project and process management, and breakthrough & continuous process improvement and measurement.  The business can use many of these same techniques in its pursuit of business excellence.