Sunday, June 17, 2007

Sun Certification: To dig, or not to dig? (part 1 of 2)

Certification can be an almost religious debate amongst the technical community. One faction believes whole heartedly that the measure of a technologist is his ambition, and list of accomplishments. The other camp believes to death that certifications are a demonstration of professional commitment and a common ground from which to base skill assessments. I am currently a Sun Certified System Administrator (SCSA) for Solaris 7 and Solaris 9, as well as a Sun Certified Network Administrator (SCNA) for Solaris 7. I have been studying avidly for the upgrade exam which will add Solaris 10 to my SCSA listing which I hope to pass soon so I can reclaim the studying hours for other more interesting tasks.

I think just about everyone who has been in the field for a reasonable length of time has encountered the certification specter... You know, the guy who has his Masters degree in CS or IS/IT, MCSE, CCNA, SCSA, and a few others tossed in for good measure. They look like a lesser god on paper, but then you notice that once they log on to a system they can't write a script to save their life, and forget that shutting off the SSH daemon during business hours is a bad thing. These academic savants are a big reason why certifications have a bad name. In my mind they demonstrate the basis for the phrase, "just because you CAN doesn't mean you SHOULD." A certification, in my mind is a commitment to understand the best practices and core tools within a product and apply that knowledge actively to your solutions and daily work. A classic example is the proper use of init scripts - something that the majority of system administrators I have crossed paths with never learned. This information is found easily in the Solaris System Administration documentation collection, so why is no one practicing it? In this case, it has nothing to do with it being a bad practice to follow... It's just a topic people do not bother to understand beyond the minimum required to make it work.

On the other hand, I have known many top-notch Solaris professionals who are not certified. They can run circles around me in both theory and practice, but never took the additional step. I don't respect them any less because they have demonstrated a commitment to their field through practice. What I don't respect is the "average" SA who believes they could write the kernel scheduler in half the lines of code, but hasn't accomplished anything more advanced than setting up Apache Virtual Servers and using Veritas' Volume Manager to unencapsulate a root disk.

I've listened to this type of person lecturing from their soapbox about how they don't need a certification to prove their skills. Uh huh. But it might take the edge off the cowboy hat, and create a spark of thought-discipline. You see, being certified does not mean that you have to practice everything you learned. It means you have taken the time to understand in depth one way of doing things. The alternative is spending no time studying, and simply absorbing that which you cross paths with.

Another reason certifications have a bad name is that they do not address the real world. Exactly how could a one-hour exam possibly compress all the operational knowledge one gathers by the time they are ready to be certified? By now anyone reading my blog should be free of an doubt that I love Sun Microsystems. Having reminded you of that point first, I will now say that I am not a fan of Sun's certification strategy in the Solaris Operating System Track. I am basing my study on Sun's Web Based training curriculum, which I find generally outstanding as a substitue for instructor lead education. My beef is not with the vehicle, but the curriculum.

As an example, I would estimate that one third of the training materials consumed my time with how to accomplish a task in the Solaris Management Console (SMC). SMC is an interesting idea which flew about as well as a snail tied to a brick. It's not all bad, but it's not all that useful. I don't mind the option to use a GUI, but the amount of time spent on it in the curriculum is rediculous when considered against the amount of use SMC gets in the real world.

Is it good to know how to use SMC? Of course! Especially for it's ability to manage local accounts (but it stinks for network information systems like NIS+ or LDAP). But let's not worry about memorizing all of its menus and screens. One of UNIX advantages is its ability to be remotely managed over a serial connection. I'd never hire a UNIX SA who couldn't do his job proficiently over a 9600-8-n-1 connection.

Here's another sore spot for me... One of Solaris 10's most incredible features is ZFS. I have not begun to expand in my mind the full effect it will have on the industry, and it's not just a series of commands to memorize - it's an entirely new way to manage storage. And yet, there is NO coverage of it on the Solaris 10 exam. Are you KIDDING me?

Thankfully zones are covered, and I'm told that the exam had a good number of related questions. However, the coverage isn't very deep, and sticks to the commands more than the theory. That's unfortunate because it's easy to look up a man page, but hard to design a well thought out consolidation platform. I'd say that sentence sums up my thoughts on certification strategies on many levels.

Resource management is another feature which seems conspicuously absent from the certification curriculum. Although it is very complex (aren't zones as well?), it is a very powerful Solaris feature which I believe is a competitive advantage for Sun. So why not expect a certified administrator to know how to use it? The idea isn't to make everyone feel good with a title on their business card, it is to demonstrate that someone has differentiated themselves by demonstrating a defined level of skill.

What else would be important for an SA to have cursory knowledge of? DTRACE, any one? I don't expect every competent Solaris administrator to be able to write advanced D scripts, or memorize the seemingly infinite number of probes available in Solaris, but for the love of McNealy, can't we even expect them to know what kind of problem it solves? Can't we even establish what a probe is, and why Solaris is WAY ahead of Linux in that respect?

Finally, the emphasis on memorizing obscure command line options really grates on me. This is really what undermines the technical merit of Sun's Solaris Certifications. There are so many commands and concepts that deserve coverage, it seems a shame to take up space with questions like, "What is the option you must give to ufsdump in order to ensure /etc/dumpdates is updated when usng UFS snapshots." I don't know anyone practicing in the field who wouldn't look that up in the man pages even if they THOUGHT they knew the option.

I could go on, but I think the point is made: The exam is lacking in strategic substance. As a result, most folks describe it as a memorization excercise. That's a shame, because the exam COULD be a differentiating ground for Solaris professionals as well as a way for Sun to ensure the compelling features of Solaris are being leveraged to their fullest. And yet, I'm getting ready to take my third SCSA exam. Why?

I maintain the currency of my Solaris Certifications because I believe a professional seeks to understand standards in their field, whether good or bad. As a professional Solaris system architect, the SCSA and SCNA exams are at the core of my practice whether I choose to follow or deviate from their content. I also believe that a certification tells my customers (or employers) that I demonstrate a certain level of competence, even if the bar is not as high as I would like to see it.

I believe deeply in the importance of standards and certifications as a vehicle to advancing the maturity of Systems Engineering practices as applied to system administration. And although Sun's certifications are not there yet, I will continue to support them for what they do provide, and what I hope they will provide in the future; A vehicle to advance the maturity of the industry.

Part 2 of this article will discuss my recommendations for improving Sun's Certifications. As usual I have a few ideas up my sleeves. Stay tuned...

9 comments:

Carlo said...

and then there is hands on, lab based, performance certification, like the ones from Red Hat.

TonyT said...

Great post and I agree with your all of your points. I have been told that the Sol 10 upgrade test has a number of questions regarding RBAC. To me, that tool is similar to SMC, in terms of usage. I have never used or seen it used anywhere outside a training classroom.

Christopher Hubbell said...

Actually, I would argue that RBAC belongs on the certification as it (especially recently) is far superior to the more prevalent sudo solution. I will write more about this in a future posting. One of the benefits of the Certification is making sure that practitioners are knowledgable in the core features of Solaris, and I believe it's important to know the differences between RBAC and sudo. It's ok to choose sudo, but only if you understand the pros and cons.

The unfortunate part is that because the nomenclature surrounding RBAC is so obscure it's difficult to grasp, while sudo is quite simple to get started with. The ironic thing is that RBAC is very easy to get started with if you use SMC, but SMC is so obscure that people never caught on to it. Stay tuned - I definitely plan to write an RBAC article as I'm a big fan of it.

hoanginlove81 said...

Unix Solaris 10 online tutorials

http://www.learning-solaris.com

Fredrich Maney said...

Good post. I agree with most of your points - especially the bit about the heavy dependence on GUI based tools while largely ignoring administration through an RSC or via command line over SSH.

I hold the SCSA for Solaris 7 and 8 and I am studying for the SCSA/SCNA for Solaris 9. My main gripe with the certification exams is that they are a one-size fits all solution.

For example, I, as a hardcore, big iron server administrator, never mess with things that nearly exclusively in the workstation realm (printing, CDE/KDE/Gnome, graphics adapters, etc) and I know a lot of guys who spend all day doing workstaion/thin client support that never mess with the server side of things (fibre attached storage, clustering, IP Multipathing, file system performance, etc).

I am glad to see that they've at least started separating the exams out based on the platforms (SPARC vs. x86). Why can't they do the same thing for the desktop vs. server split?

As to the differences between sudo and RBAC, I would say that the big one in sudo's favor is that all of the configuration is in one file and that file can used for multiple machines - RBAC is spread acros multiple files in different directories and is machine specific. Also the command structure is not as a intuitive (i.e. "just put 'sudo' in front of the command you want to run").

On a side note, I would point out is that this paradox also exists with regards to formal education. I have met many people who feel that, in IT, a degree is a waste of time and money because experience is what matters. I have also met an equally large number of people who feel that experience (and certifications) don't mean anything compared to a 4 year degree (associate degrees seem to only be acceptable for entry-level credentials).

In the end, to please everyone (which will of course never happen), you need to have all three: education, certification and experience.

I'm eagerly awaiting Part 2.

Christopher Hubbell said...

Actually, the exam combines both Solaris and x86 - they are not separated. It was frustrating having to learn about supporting PXE on JumpStart when all I work on is Sparc, but I can understand why it is necessary to understand the concept.

Solaris x86 fits some nice niches... I think it would make an excellent JumpStart server, and does great in edge and front-end applications, as well as anything that has a high floating point demand.

Having passed my S10 exam this past week, I can say that the practice tests were much worse than the real thing.

I'm starting to prep for the SCNA for Solaris 10 exam now. Time to update my old S7 SCNA before the parchment crumbles.

Fritz said...

Great information! Thanks to all. Question for Christopher, and anyone else who cares to respond. I've used two other OS's for many years and want to train for Solaris 10. I do not have either a working SPARC box not Solaris 10 on any x86 box. I am interested in the Web-based training offered from Sun and would like to begin the SCSA course. 1) Can I get away with an x86 approach to this as far as the industry-at-large is cncerned (or should I remain married to SPARC)?, and 2) does anyone have any info on thieir Web-based SCSA course for "beginners" (to Solaris, NOT Unix)?, and finally, 3) if anyone has information on this approach as a Web-based program, do students ssh into a Solaris environment at a Sun site or am I expected to install and then enroll? Thanks to all who respond.....I really enjoy this post! ~Fritz

Christopher Hubbell said...

Fritz,

You can absolutely study on an x86 box and do just as well as someone studying on a Sparc box. The only real difference is in the boot process, and I think you can study your way through those details. That being said, it is very inexpensive to get an old Sparc workstation off eBay, and even cheaper to find an old x86 box. Then you'll have both.

The onyl thing you'd need these for is "independent study". The web based courses are slideware with voices, and contain occasional demonsrations where a terminal or GUI session is animated. Those are usually followed by a lab where you simulate "doing it". You'll want to experiment outside the simulations though if you really want to nail down the material, and that's where having your own equipment comes in handy.

Steve said...

I have to say i agree that certification may look good on paper but you can't beat real world experience. I see earning your certification as enabling you to get your foot in the door.
Just my opinion.
Ian
My Site:CCNA Salary