Tuesday, August 6, 2013

Understanding the different IT trainings

IT sciences have been around for quite a while but it has known an incredible growth in the pas 20 years. In fact the growth has been so quick that the trainings related to this "new" profession have been a little foggy for a while. The demand has been so strong that anyone could (and still can) improvise himself as an IT specialist without any real training.

Is this a problem? Not necessarily. However, it's worth taking a deeper look in the different IT trainings to understand their differences and what each are meant to accomplish.

1- Computer Engineering

A computer engineer has at least a bachelor's degree in engineering. The engineer will learn much more than just how to handle IT tasks. In fact the engineer learns how to come to solve problems as best he can within the means available to him. He will be taught many disciplines that he will never even cross in his professional career in order to make him appreciate the diversity of problems that he can come across.

The engineer also has a civil and ethical professional responsibility as specified by his Order.

In practice the engineer will only learn the fundamentals of programming or other IT tasks. His training is more focused on how to evaluate, approach and solve a general IT problem according to the given situation: economics, schedule, actors, etc. The methodology takes precedence over the knowledge of the tools.

2- Computer Science Bachelor Degree

Such a degree is more focused on the practical application of computer sciences. For example, for software, the Computer Science Bachelor Degree will teach several programming languages as well as the different IT roles and their relationships (quality assurance, development, support, architecture, etc.).

The university graduate therefore has all the tools to start a career in the IT sector.

3- IT Technical Degree

The technical degree allows the student to learn a particular sector of the IT sector in less time. Generally the graduate will have all the necessary knowledge to tackle a specific sector (i.e. multimedia, quality assurance, 3D programming, etc.). He will, however, possess less knowledge of other surrounding IT areas and their relationship with his own.

4- IT Certificate

The holder of the certificate is taught a very specific part of the IT business. Examples of certifications are: Project Management Professional, Virtualization Professionnal, Cloud Professional, Systems Security Professional, etc.

Depending on the type of job, this can be more than enough if the job requires only this ability or if this ability complements other knowledge.

5- Self Taught Training

Also known as autodidact. The self taught has no certified training but has learned through tutorials, books, seminars, etc.

Each training has a purpose. My role is not to judge which training is better than another. It depends on the candidate and the employer's desires and needs. Someone who wishes to specialize in a very specific portion of the IT sector will be more than satisfied with a Technical Degree or a certificate. Whereas someone who wishes to learn a wider scope of the IT world might go for an engineering or computer science degree. From the employer standpoint, the training is often more pertinent in the first few years of a candidate's career (except for specialized certifications requiring a certain level of expertise). Depending on the position he wants to fill, odds are that someone who has training is better prepared versus someone who has none.

This is all very theoretical. In practice, I have seen great incompetence in IT engineers as I have seen some of the most brilliant and structured IT specialists to be self taught. I've learned to evaluate IT specialists based on practical skills rather than their theoretical trainings.  I will not deny that in general I find engineers and bachelors to have a better structure and organizational approach in their work. Technicians, that are self taught or that have uniquely a technical degree, will often find a way to solve the given problem but without necessarily thinking through the medium or long term impacts. I have often refused contracts from clients who wanted my company to take over a project simply because these projects were developed by amateurs making the projects "irrecoverable". But these are generalizations...

In my opinion, training gives us a good indicator on the dedication, the structure and the ability to adapt of a given IT Technician. That said, we all end up learning a lot more with our job experiences through out our careers than though our trainings. We must therefore find ways to judge the individual and his experiences rather than his trainings...