Certifications vs. Experience

There is a constant debate in the tech landscape (and in many others, I’m sure!) over training/certifications vs. experience.  Certifications, on the one hand, expose folks to a wide range of concepts and ideas, and give a bit of weight to someone as the certifying body says they know enough to be certified.  Experience, on the other hand, is an excellent (if sometimes painful) teacher that provides deep knowledge.


The Case For Certifications / Training

Certifications give other folks some indication that you have satisfied the certifying body that you know something. These certifying bodies tend to either be an equipment manufacturer (e.g. CISCO, Google, etc.) or an independent third party (e.g. CompTIA). I find that the harder, more specific skills tend to be manufacturer based (which makes sense since CISCO likely knows the most about their own hardware), while broader, softer skills tend to be third party (e.g. PMI handles project management). Many of these groups have been around for years, and are recognized as industry-standard, which gives the certificates they issues some extra weight.

This makes certifications a great tool to demonstrate your skill set to someone who either doesn’t know you (or your work), and provides a way to validate experience.  Going through the certification process also tends to involve some amount of training and studying, providing more tools and broadening your knowledge base. This, to me, is one of the best aspects since it helps round out knowledge. This both improves my skill set, but also gives me more common ground when working with others in my field.


The Case Against Certifications / Training

One of the weaknesses with certifications is the reliance on the certifying body.  You can, for example, buy a doctorate in your field for around $1,000 from an online university.  While you’re technically a doctor, it doesn’t mean you’ve put in the same effort as someone who went through, say, Stanford’s programs.  In a less extreme (and likely more common) case, you may end up earning a certification from a group that isn’t well known, well respected, or is so basic it doesn’t really prove anything (while I love by “Lucid Chart Expert” certification, it only took about 10 minutes to earn and covered bare basics).

A certification’s worth is entirely dependent on what the certifying body puts in the exam, and how others value the certification is dependent on what they think of that governing body.  A Cisco certification, for example, doesn’t mean you know everything about Cisco, just that you have passed the exam (many of which have low barriers to pass, like 60%). This reality makes many people wary of trusting certifications since they only prove that you’ve passed a test, not that you necessarily know the field.  Some groups mitigate this by including experiential requirements in the certification (e.g. the PMP issued by PMI required some number of project management hours verified by your manager). 


The Case For Experience

Experience is a great teacher.  I’ve learned a ton about programming simply by trying to solve problems on my own.  The frustration of running into dead ends and the joy of (eventually) overcoming the challenge is a great journey.  As a result, I’ve worked on many interesting problems and expanded my skill set in a number of directions that may not have appeared in official training or certification.  This gives me a deeper background in some areas that I can more easily apply to the next problem that pops up.

The great part is once others see what you can do, they’ll tell others.  Even better, they’ll think of you in the future and send work your way or help recommend you for other roles or projects.  Others having personal knowledge of your experience is an incredible asset that cannot be bought or learned in a test.


The Case Against Experience

The flip side is that unless someone knows you personally (or talks to someone who does), they have no idea what your experience actually is or what it is worth.  There’s no way for them to know if you can do what you claim without some kind of validation (e.g. a certification). This is why many companies have a coding challenge component to their hiring process - they need to know if you can walk to the walk.

Experience can also result in you missing key concepts or tools that someone who went through training would know about (a huge problem for me!).  This results in blind spots that may make things hard to figure out since you are missing key information. This is one of the challenges I’ve personally run into learning how to code, although it has led to some great “I could’ve just done THAT this whole time??” moments. At best this helps you learn how to find information (but takes a LONG time), at worst you are unable to continue.


My Approach

While I do really enjoy earning certifications (admittedly I enjoy the ego boost, but I also enjoy learning more about what I’m involved with), I do also recognize the value of raw experience.  Over the years I’ve tried to take pieces from both sides of the debate. I’ll use both personal exploration to build experience, and studying/certifications to build general knowledge. This is especially true when I’m given a new piece of tech to work with - I’ll take time to play around with it, while also digging into the general training. I’ve found this approach is great since these approaches compliment each other (the hands-on stuff gives context to the training, and the training guides the hands-on).

One area this has been very useful is in project management.  There are many different concepts/tools/ideas that may be applied, and it’s challenging to get those any way other than training.  Since it’s such a soft skill though, I cannot rely just on the textbooks, I have to get out there and experience it to see what else there is to it.  By having both the hands on experience, and the background concepts I’m able to be a much more effective project manger.

I also find both sides very useful for hard skills, particularly when I was learning Google Apps Scripting (GAS).  I had no background in programming, which meant basically a vertical learning curve. I did learn a lot about programming by experiencing it, but this was best described as smashing my head into the keyboard until it worked, I was missing out on some really basic concepts (data mapping blew my mind… until someone showed me that I was running several nested FOR loops).


Parting Thoughts

There’s arguments on both sides, but in the end it is up to each individual’s preference.  This may also be influenced by our working environment (e.g. some jobs may prefer or require specific certifications, many for good reason!  I wouldn’t want to go to a medical doctor that only learned by experience…) Some folks get by great on experience alone, others knock it out of the park with training.  It’s up to each of us to determine the best approach for ourselves, and then to apply ourselves to it.

There’s always someone better...

Defects - What to do with them