January 17, 2007
Name any prominent software technology, and you'll find a certification program for that technology. For a fee, of course.
It's a dizzying, intimidating array of acronyms: MCSD, SCJD. RHCE, ACSA. And the company offering the certification is quite often the very same one selling the product. No conflict of interest there.
But do these certifications actually work? Are they valid credentials? Do people who have these certifications perform better than those who don't? Imagine yourself as a prospective employer, interviewing a candidate who presents you with this:
My reaction is always the same. That's nice, but show me what you've worked on.
Your credentials should be the sum of the projects you've worked on, and specifically how much you learned from your failures. Certainly your actual experience, your portfolio, counts for a lot more than whether or not you passed some arbitrary, one-time test.
That said, I am of two minds on certification.
I've worked with so-called "web" developers who didn't understand how HTTP POST and HTTP GET worked. It's developers like this who make me pine for standard certification. Even if they're borderline incompetent, if they were certified, at the very least they would have a grasp on the basic concepts needed to do their jobs. In theory, anyway. At the junior level, it seems rational to require certification in a particular technology before they're even allowed in the building. It's the same reason most companies won't hire anyone who doesn't have, say, a high school degree, or a college degree.
On the other hand, I've worked with senior developers who had plenty of certifications under their belt, and they still had no idea what they were doing.
The certification debate has raged for years. This 1998 letter to the editor from Tom DeMarco illustrates how contentious the topic of certification can be.
Though the rationale for certification is always societal good, the real objective is different: siezure of power. Certification is not something we implement for the benefit of the society but for the benefit of the certifiers. It is heady stuff be be able to decide which of your fellow human beings should be allowed to work and which should not. Those who hope for a share of that heady stuff are the core of the camp that favors certification.
The entire discussion is somewhat dishonest. The term "certification," for example, conjures up the image of fresh faced young people lining up to be given their mantles of office while parents in the audience blink back tears of pride and a choir softly hums complex harmonies. But the real issue here is not certification; the real issue is de-certification. Certain people are going to be kicked out of the fold, not because they are not useful to the needs of the market, but because they don't jump through the certifiers' hoops. Lost in the shuffle here - at least in Nancy Mead's view - would be people who do not have degrees. Sorry about that Mr. Gates, in the brave new world, you wouldn't be allowed to write software. You can just sense the frustration of the prospective certifiers that companies like Yahoo are hiring kids right out of high school, kids who don't even know what a Data Division is, for gods sakes! Something must be done about that!
DeMarco goes on to humbly suggest that the market is a perfectly fine selection method all by itself:
I vote that we let poor old Citicorp and poor old Aetna and poor old Microsoft figure out for themselves who they should hire. I suggest that we have a perfectly fine selection mechanism at work today; it's called the market. Some people get hired as software developers and some people don't. It is a lot more competent than any appointed elite would be and a lot more ethical.
Personally, I agree with DeMarco. I don't believe in certifications. The certification alphabet is no substitute for a solid portfolio; you should be spending your time building stuff, not studying for multiple choice tests. But that doesn't mean they're worthless, either. I don't think certifications get in the way, as long as you can demonstrate an impressive body of work along with them.
Posted by Jeff Atwood
I am a developer. I have been my entire life. I have exactly zero degrees and certifications.
I have noticed, at least from my travels, that the bigger the education, the smaller the usefulness. This is not always true, but often is. I do not know how many people I have worked with who were completely useless despite doctorates and masters degrees. On the other hand, I have worked with many briliant self taught programmers.
I think I know why. Some people say "computers pays good, but I don't understand them. I should go to school." These are also the people who do not have PC's at home, and would never consider programming "for fun." There are also others who truly understan them, and think in the way necessary (and it is a different way of thinking than the general public) and write software out of a love for it, and not just because they think that it will make a nice fat paycheck.
All certificates and diplomas are leaky abstractions.
You left out my *favorite* one, the PMP "(Project Management Professional)"! This one means that you can make a Gantt chart in Microsoft Project, and that you have all of the skills necessary to expect that your projects will not fail, and to inform your subordinates that the project is "really important beacuse ..." in order to motivate them when your schedule slips.
Of course, it's important not to mix up certain industry designations with certifications (which I'm sure many are wont to do). For example, a Microsoft SQL Server MVP pretty much has the cred to be on a SQL Server project of mine any day. Anyone else know of/believe in any "instant credibility" designations?
I myself give designations professionally, though I don't supply my awardees with certificates. The latest one I have awarded is that of FSO (Fork Spoon Operator) for professional conduct under and below the call of duty.
Perhaps I should not respond to blogs after 4 beers.
Certifications have to be judged with a grain of salt.
I was working on the PMI (Project Management Institute) certification in the mid 90's. Although PMI realized at that time that their Quality Management concept was outdated, certification was still performed against the outdated 'Body Of Knowledge'.
What does the certificate say about the individual that passed during that time?
And yes - I did not get the certification (what does that say about me?).
I'm studying right now for the CISSP that I'm sitting for on Saturday. Why? It's a simple matter of not getting "lost in the shuffle" as DeMarco put it. Will it help me with my job? Judging by the example questions in the book, that's a resounding *no*. Will it help the company I work for get more contracts approved based on the collective bios in the proposal? Maybe.
To me, a certification's worth is directly related to how it's administered. I have an RHCE, and I'm proud of that. It was a full day of real, actual, troubleshooting and configuration. Over 50% of the people in the room didn't belong there, and they didn't even finish after 6 hours. You know it was challenging. I can't say that for any of my Microsoft exams.
A good rule of thumb is:
- All multiple choice = bad.
- Mostly hands-on labs = probably good.
If you come across a cert that you haven't heard of in an interview, ask the candidate how they earned it. Their response will tell you all you need to know about its credibility.
I think that just saying "certifications are worthless" is a bit too broad of a generalization. Speaking as someone who has a ColdFusion Advanced certification, an A+ certification, and is working on my CCNA, I have to agree with Hartmut about taking them with a grain of salt.
The CF cert is a pretty good indicator of competency in CF. Sure, it says nothing about coding style or product lifecycle management abilities. But, if I'm hiring someone to do some maintenance on existing CF code, then a CF cert goes a long way towards making me feel comfortable. Obviously, if I need a rockstar developer, I'm going to look for skills far beyond just having a cert.
Conversely, having an A+ would not have any effect whatsoever on my decision to hire someone. I've got the cert. I know it's completely memorization with no practical knowledge.
As for the CCNA, it would definitely influence my hiring decision. That is a *tough* cert to get, and by the end of it you know your stuff. Far too many web programmers don't truly understand how the web works, so when I see one with a CCNA, I know they aren't going to bug me every time their network card hangs. Sure, a CCNA isn't *meant* for web programming, but there are certain skills that you can't be missing if you have a CCNA, and they are all at least *applicable* to web programming. (Even the routing stuff.)
So ... yeah. They have their place. But they're not "Get Out Of Interview Free" cards, either.
Well, it depends on heavily a certification is weighed against other credentials. Does it mean more to have a 4 year comp-sci degree with a decade of real engineering experience or a certification and a few years experience? I'd pick the degree any day over the certification.
I see the point of tech specific certifications (ala SQL Server), but would still choose the degree.
I'm not knocking self-taught programmers, it's just that I (from a tech manager's point of view) weigh the degree + experience heavier than just experience.
what the hell is idempotent, and why should I care? do you agree with the differences between a POST and GET?
BTW.. wish I had your office.
At my first company, we had a drive to get our developers certificatied not because we felt they would ensure our developers were good, but in order to get Microsoft Gold Partner status in the hope it would drive us more business. It really didn't work.
I think one of the easiest ways to determine the credibility of someone's certification is how much they're publicizing it.
I've seen it in e-mail addresses, "from" fields, signatures, Messenger display names, and anywhere else someone identifies them self.
Just based on personal experience, if I encounter someone's name appearing as "David MCSE" my expectations are lowered immediately. The person in question may know what's in the book, but beyond that they seem clueless and unable (or unwilling) to even do simple Google searches to assist themselves. A quick search through the newsgroups for MCSE or similar monikers will quickly validate this. However, just to clarify, I do know that there are some exceptions and some great MCSEs out there.
All of this reminds me a lot of the so-called "experts" and "analysts" who end up on news broadcasts giving their advice on the latest "virus" or other problem. The information is either completely wrong or dumbed down so much it is useless. I of course am aware of their error because this is my industry and my passion -- but other topics where I am not such an expert in I have to take the word of other "experts", and in turn I question their credibility now too.
The scary thing about certifications is that some companies completely ignore experience instead of certificates.
When I first graduate from college, I had a tought time getting work so I applied at Geek Squad. I figured I spent 5 semesters as a computer/electrical engineer I was more than qualified. The manager at Best Buy looked at my resume and said "I'm sorry but you're just not qualified. You need to be A+ certfied."
Apparently programming robots and building my own USB devices was easier than replacing a video card or installing Windows.
As someone who is currently studing the for SQL server (2005) exam. I'll throw in my two cents.
I work day to day as with Oracle and writing apps to talk to the DB. I'm wanting to expand my area of knowledge into sql server. I find the cert provides a cheap and easy curriculum to follow. (That being said I'm disgusted that the 1st level SQL server has barely any transact sql in it). If I follow the study material to learn for myself why not get the baubble to hang on the wall? Having loads of Oracle experience and a cert in hand may convince my next employer that I at lease won't drop a table by accident.
The key to the cert is the person holding the cert. If they quit their dish-washing job, got a cert from a 3 week bootcamp and now think that they now know everything about computers "Cuz I got my A+" then it's a waste of paper.
I interview so many people whose resumes say "MS Certified", who even have logos on their resumes, and know so little. And I mean basic questions I have come to distrust people who flaunt them.
I've held down various technical jobs for the last decade and the only certification to my name is a GED from Missouri. I'm 26, I've been working in technology since I was 16, and I got my GED at 21. That means I spent half my career working without so much as a high-school diploma. I'm completely self-taught, and I've gotten to where I am today through my own knowledge.
That said, my thoughts are pretty concrete: college degrees are completely useless if you're not going into a field that requires some level of timeless knowledge: ie - engineering, C++ programming and pirating. Those have all pretty much remained the same since they were formed from the original primordial ooze.
Certifications are mostly useless. Technology changes too quickly for any one technology to really reign supreme long enough to need to be certified. If anything, I think certifications on understanding of principles would be far more useful. Who would you rather hire:
Guy A, who has a certification for Networking Using Specific Company's Products
Guy B, who has a certification for Network Operations, Management and Administration, Those Principles That Are Key to ALL Networks.
I may be biased, because its my opinion, but I'd rather hire guy B. Yeah, he may have to take some time to learn my particular network, but what happens if I hire guy A and what I have isn't what he knows, and isn't close enough to quickly compensate? I'm taking a chance that he's bright enough to segue into my system without completely taking me down and out.
Certifications merely prove that you know one specialized thing. Being able to prove you know a lot of specialized things really isn't the same as being able to prove you grok the underlying concept and can then learn any implementation.
This topic hits home with as all but two developers (including me) at my company are studying for microsoft certification. the problem i have with certs, is the same problem i have with standardized testing, your studying for a test. it's all about memorization. most of the stuff your tested over, in asp.net at least, is stuff you will never use. And if you do use it, then you'll more than likely find your answer from google not your certification.
I actually certified myself as a RHCE (red hat certified engineer)AFTER I got my job. It was a bonus to the education I was offered from my company.
I should also mention that the test for my certification was a practical one with lots of troubleshooting and I learned a lot studying for it and by doing the test.
But I agree with you all, experience beats certifications.
I tried to hire an accountant for my company's finances. For some reason, I couldn't find any that didn't have certification.
I tried to hire an engineer to build me a bridge. For some reason, I couldn't find any that didn't have certification.
I tried to go to a doctor to get a checkup. For some reason, I couldn't find any that didn't have certification.
Yes, IT absolutely needs certifications. A governing body needs to hand out those certifications. The tests need to be hard.
I wouldn't trust my car to an uncertified mechanic. Why the hell should I trust my company's application to some IT d00d that claims he knows what they're doing?
I'm tired of working with morons in the IT industry. I'm tired of reading blog article after blog article about how 99% or whatever of IT projects fail. I'm tired of hacks snaggling themselves into the IT industry from wherever just so that they can get a higher salary.
When I interview someone, I have to ask basic questions such as "What's HTML?". Most interviewees fail that question. That's what the IT industry is riddled with. Posers. People who hang a shingle for business. How do I tell the good from the bad?
I agree, having certifications alone is worthless. It doesn't hurt having certifications, though, if only to get past the HR part of the hiring stage.
Once you have an interview with people who actually know what they're doing, then you show them examples.
I set little or no store by any sort of certification. Interviewing experience leads me to conclude that there is little or no correlation between candidates having a certification in such-and-such a technology and actually having the first idea about that technology when asked technical questions about it. The fact that the exams tend to be (a) multiple-choice and (b) as much focussed on tools (IDEs etc) than the actual concepts are also strong reasons to be skeptical.
It's real-world experience and technical nous you want, things that can't be vouchsafed by a piece of (electronic) paper.
I sometimes wish that I had got some certification. Never once in my career I have been offered one, but at the same time I have seemed to need one. Except maybe when applying for jobs, the job recruiters and other non technical people seemed to take the certifications very seriously. But when talking to other developers at job interviews they never seemed to care, they just wanted to see my track record and see what I could do. I don’t know how much the salary are affected by certification, but it is frustrating when you help certified developers over and over and then in the back of your head you wonder if they get paid more? (I know it is crap to think like that)
It is my experience that people whom have taken certificates know all the names and methods of how to get things done, but they often lack the skills to actually do it, unless they have gained their own experiences. Also it is my personal opinion that certified .Net developers know how to do it the Microsoft way and often believe that is the only way. From an outsider it can very well look like the companies are training army’s of developers with the general being a monkey jumping around and throwing chairs. #61514;
But anyway, I think it would help me take a certificate, because I suck at multiple choice tests, because I always forget the name of some class or method. But then again I could train that myself without the certification, but when I have time to study I don’t spend my time remembering names on stuff I already know how to do. I look into future stuff like new development methods, new programming languages, new development software, etc.
For me, it was leave school at 18, skip university, go straight to work as an analyst for a software firm. Gradually I became interested in the development side, and started to do more and more of it. In the following few years that I would have been in uni, I was learning Visual Basic, SQL, PL/SQL, Java, on top of all the analyst tools (Excel, etc). When I eventually left that company, I had 3 years more experience in the industry to take me to my next job. There I learned VB.NET and C#, and now in my 3rd company, C# 2.0 is where I'm settled.
I haven't a single qualification, and am a bit of a jack-of-all-trades, but I've decided to settle on C# and try to be really good at something, instead of just okay.
Experience counts for a lot, I think.
Obviously I'm not the most objective witness for the defence :)
In studying for my MCSE, it became pretty painfully obvious that despite my own high opinion of myself, I really had no idea about half the stuff in most of the products.
If certification gave me nothing else, it showed me more aspects of the subjects than I'd exposed myself to willingly.
So I'd argue value is at least that from the certificant(?)'s perspective, there are benefits.
Picking an MCSE from a guy without any certification that's been running a network for years... well, it still comes down to the interview.
Most of the time in IT - especially in Support and in this age of Just In Time learning - it's not what you know (outdated!), it's how you learn and process information...
1) Dilbert cartoon...
"Step away from that network server! I'm certified!
I SUMMON THE VAST POWER OF CERTIFICATION!!!!!!
Well, this is embarrassing; that's all I remember from the classes..."
2) From "The Illuminatus Trilogy" (Shea and Wilson)...
Hagbard Celine is at a Naval college. He looks around at his fellow 'students' and realizes: "they are not here to learn; they are here to get a piece of paper that qualifies them for certain jobs."
Background: B.SC. in Comp Sci. MS C# developer. No certifications (yet). When I graduated, so did Java. I’m going on 10 years of post-grad experience in software.
I’ve known many coders that have all the certifications and they’re absolutely useless, but here’s the reason why I’m going to get mine soon:
Agencies, HR PHB’s.
I work in London as a contractor and there’s this immense buffer between people who know what they want and people who know how to do it and they’re called agencies. Agencies are keyword obsessed and it’s Chinese Whispers between their client and you. It also doesn’t help that most of them are useless at evaluating your potential worth because they don't have a clue about technology. If the agency/hr/phb can’t tick all the keywords, you don’t get to the interview stage. So the putz with certification is going to get the interview and be paid more because of it.
So, money is why certifications are valid. You pay for the privilege of saying ‘I might have a clue’ and you also get paid more for it. It saves the agencies/hr/phb’s time because they don’t have to think, they just score your CV for how well it matches keywords and you get the call for the interview because all those long-named certifications sound impressive.
Incidentally this is why networking is still the best way to land a new role, because networking cuts through a lot of layers of BS. It’s seems that half the battle is trying to prove you’re legitimate, and that’s partly what degrees and certifications provide.
Perception is everything. Programming is an art.
In france, there is two exams for the licence driving.
First one is a theoritical test with choise answer:
There is a red light, what do you do:
- I stop.
- I continue.
Second is the pratical test in town with real cars and real peoples. Most people pass easily the first test, and need two or three times to pass the pratical one. Few people who pass the pratical test on their first attemps was the autodidacte (yes there is in france even for car) and the mans-who-pass-anything-and-always-win-at-casino-like-James-Bond.
I believe now that certification are like theoritical driving license: you just have to learn answers. You pass your exams, but you knows nothing for the real life.
Experience is always better, but you've got to think that if you're new to the game straight out of uni or school, how are you going to appeal to prospective employers.
As someone not that long out of uni I found it difficult to land a dream job because they all demand 5 years experience. Certifications and qualifications make you stand out (hopefully) from the crowd of graduates.
I'm considering Java certification now. More as a refresher on the latest changes and maybe move towards Java from my current PHP based job.
Yeah Dan, if they demand 5 years experience, it's beacuse theorical knowledge is not enought.
In general, those who spout some combination of: "we don't need no degrees/certs", "I be self taughtt", "college is for dummies", "college is for folks who need timeless knowledge, like engineers", and the like are the source of the Decline of American Civilization.
There's a trend afoot: stupid people get paid more to do stuff than smart people get paid to do stuff. Pyramid schemes of various types, plumbers, Wal-Mart managers. These are the folks who vote for Intelligent Design to be taught in schools and G.W. Bush. Bend over, America, and Kiss Your Butt Goodby.
The nice thing about certifications is that the typical entry level person has to study for one. In studying for some technical cert, your introduced to a wide variety of topics that you may rarely encounter as a self taught techie. So the cert exists to give you something to study for, the studying gives you the breadth of knowledge you'll need to succeed, and experience gives you the depth of knowledge you need to become a rockstar.
My son is can tell you all about POSTS and GETS because he has been working on web projects since he was 11 years old. He learned PHP on his own by reading various books, talking to other PHP developers, and asking good questions.
If I need someone to put together a website, I'd hire him in a minute over someone who has a stack of certificates "this high". Heck, I'd even hire him to be a junior developer although he doesn't know any real programming language. He shows a willingness to learn, the technical intellectual ability to pick up the needed knowledge, and the hunger of wanting to do the best job he can. Give him a couple of weeks, and he'll learn whatever language the project requires. Within a couple of months, he'll be indispensable.
I learned about programming, QA methodology, configuration management, and program architecture because I was in various projects, and I took an interest in learning a bit more than I needed to. I started out as a QA tester, learned shell scripting and Perl, picked up C and C++, and learned quite a bit about networking just because I wanted to be able to do better testing.
Shell scripting and Perl helped me do more thorough testing. Being able to read C and C++ code allowed me to show developers why their programs had bugs. From there, I started writing my own C and C++ test programs to do functional and unit testing. My experience in QA and now as a developer allowed me to start moving over into CM and System Administration.
Oh, I have certification out the wazoo. I am certified in ISO 9000, CMMI, Six Sigma, and MIL-STD-973. I've been through mandatory quality training programs, System Administration certification programs, and I even took and passed all the required tests for an MCSE (One company wanted me to evaluate the course work, so I took the e-courses and the tests, but I was not registered, so I didn't get the certification -- although I was offered the option of paying $2000+ of registration fees in order to get the certification.)
Taking these courses only hardened my opinion that certification programs are merely a way for companies to make even more money on the stuff they sell, keep the competition from outsiders out, and to quiet opposing points of view. Who are you going to believe that vagabond ruffian or me -- someone who's certified that he knows what he's talking about? Sure, he might have a decade and a half experience, but I have a certificate with a GOLD seal!
Well I have a CCNA and a CNAP, both from Cisco. I can assure you that the CCNA had exactly ZERO benefits for me.. I tried getting into the networking jobs but no one hired me because my resume stated mostly web development work and no hands-on experience (which I couldn't get without a job).
Right now I forgot almost all of the cisco IOS stuff and it is even more useless.
Certs are good as a starting point to give you a nice overview of the technologies and make your cv stand out a bit.. then you have to complement that with hands-on experience. They're not useless, but a certification alone isn't a sign of mastery.
People who know their stuff and/or are Truly Talented won't be bothered by getting certs 'cos it's a minor nuisance for them to do so; they can knock an exam out in a week just casually studying in their spare time. They have the brains to do whatever they need to do at any job, so this is just a pass to get by HR types, as other commenters have noted.
I "taught" Microsoft Official Curriculum "classes" for a while, and based on many conversations with many students, I can tell you this: if companies and agencies did not ask for certifications, no one would get them. The whole thing is, as David noted in his comment, an artificial demand. I have seen the profit margins for selling MOC classes, and they can be pretty huge. It's about money, not learning.
I blame 1998.
Use my example as to why certs are pretty much useless.
I got an MCSE in NT4 back in 97. I had to retake a few of the core tests. I cheated on the IIS test. I had crib notes stuffed under the band of my watch. I was brand new to the field and wanted to make "MCSE money". It was all the rage back then.
Anyone who hired me was not getting an MCSE. I was an amateur.
Happy ending, clever got me this far.
Today I am very successful working as a Net Admin in a pure Novell shop. The past 9 years of experience is where I got my education.
I just got my CCNA. It seeems Cisco does things very differently than most other organizations that are just giving tests to generate more revenue.
When I left school and college, it was because I wanted to work on real problems for a living.
I certainly don't want to go back to the drudgery of tests and exams again!
Experience is my teacher and my back catalog are my qualifications.
My contribution to this discussion is that I go to continuing education to keep myself current, and I notice that some classes teach memorization. For example, my girlfriend was in a class, learning web design basics. On her in-class exam, they'd ask her (with a multiple choice question of course) which tag you'd use for an ordered list item. That kind of test is so remarkably useless, because if you were a real web designer, you may or may not have a tag memorized, but you *can* use it on a page to display something properly. Usage is the real test, not whether you pick it out of four items on a sheet of paper.
Certifications mean little if they aren't backed up by real knowledge and practical application of that knowledge. It is the same as when my former employer was all hot on CMM, CMMI, Six Sigma, Six Sigma Lean, etc. Buzzwords, in the end, and only done because their customer - the US government - was also fooled into believing any of it meant a hill of beans. Yes, in theory, any and all of these might be useful, but in practice they were an exercise in hoop jumping and money wasted. It put the company in a position that was advantageous, based on the requirements of the moment. Not unlike a job that requires certification for certification's sake.
Now, I've got an MCTS study book and it is thick and it does have a LOT of information in it. I have started to read it and found myself saying a few times "oh, I didn't know that" at certain points, despite the fact that I write C# code all day and have been doing so for maybe nine months now. I've got 12 years of C++ experience and maybe 20 years of programming experience, but I certainly don't know everything. There - that is the value in the exercise of going through the certification process: learning something, especially if it is *directly applicable to your job*. If it is just head knowledge for the sake of passing a test, it will likely be lost once the test has passed, like those hundreds of Latin words I learned in high school and the theorems and why I care about moles in Chemistry and all the rest of that stuff that I learned for the sake of a quiz grade or a final exam. Maybe it made me think better, maybe it helped me in the long run, but the *specific knowledge* is long lost, replaced by something else that is relevant for the moment. I suspect that often, certification knowledge falls into the abyss if it isn't coupled with experience.
Amo amas amat... umm.. what did that mean again? ;-)
Certifications are a crazy thing.
I've got a SCJD for some reason - yet I've never worked on a java project. I got it based entirely on book learnin'. (there was a corporate need for it at the time, although we never did transition to java).
I once got sent out on a contract to fix a dozen IIS webservers that had been infected by the Nimda virus. I, the humble developer, had it sorted in two hours, despite the fact that a room full of MCSEs had been trying for two days. Seems the MCSE exam at that time didn't really cover Weird Internet Things.
That tends to be the problem, though - usually the cert exams proscribe a very narrow way of doing things. There's a "right" way to pass your certs. Except most employers and clients don't do things the "right" way because they happen to be doing silly things like wanting to get all their legacy data off the mainframe or something. People who concentrate on their certs are often paralyzed when thrown into heterogeneous environments.
That said, I've worked with some people who went from zero to certified and because of it are pretty decent programmers/dbas/etc. They didn't have a 4 year university course or anything, they just had a natural talent and through a few months of certification training got a good handle on the tech.
Certifications _COULD_ benefit both employers and employees IF they were administered with an ounce of credibility, by which I mean independence.
There are exceptions, as there are to any rule! The CCIE is almost universally respected in spite of a very narrow focus. That focus is not questioned because in order to even sit for the exam you need to demonstrate a pretty thorough knowledge of internet working sans Cisco specific terminology (ok, mostly anywayG)
There are a handful of other certifications that I think have some value, including most of the Red Hat certs, and unbelievably, most of the IBM Unix certs.
I have worked as a programmer, administrator, and manager of programmers and administrators. I have enjoyed unbelievable good fortune as a hiring manager. I would love to claim expertise here, but I really have no idea how I managed to find, and hire the people I've hired!
I can tell you that from big-5 consulting firm to itsy-bitsy startup I've used the same criteria...
First and foremost, if you don't show up to the interview with some passion for the job the interview is over. I had one guy show up for an interview with a well known "button down" company in t-shirt, shorts, and sandals. I did not throw him out because the t-shirt was from a very early perl conference, I was pretty sure he liked writing code! In the end I did not hire him because he would have been miserable in our environment, but we were able to figure that out together. I later hired him at a startup, and he was GOOD!
Second, and nearly as important, bring good organization skills! I don't mean project management, I mean thinking. My standard test for any technical position is to develop an algorithm for how you got to the interview. No two have been the same, but I learn a lot about how someone thinks, and how they organize their thoughts! Almost all of them enjoy the exercise, after they get over the shockG, and only one candidate ever walked out. Probably best!!!
After that it does come down, to one degree or another, to what you know, but the importance of what you know is seldom a make-or-break issue. It's more how you know what you know, can you think critically, can you reason things out, do you learn by example or does someone have to walk you through?
It doesn't really matter to me what the answers are, so much as do the answers fit the job.
Sometimes, if I have a senior person I will sometimes ask really trivial, arcane questions, mostly for fun. If I ask those questions to a junior level candidate it's just for fun...
And certificates... the topic at hand... I look to see if they have any. Some will get my attention, the RH, IBM, and CCIE especially.
If the candidate has little real experience, and has demonstrated passion and good organizational skills, and has a slew of certs it probably reinforces the depth of their passion. They may not realize that the certs are meaningless, they are trying to demonstrate their competence. Good for them.
On the other hand, if they parade their certs as proof that they are good, well, let's just say that those interviews are pretty short!
I'd love to see a certification program for programmers that was (a) topical, (b) current, and (c) independent. It should also be more than a computer based multiple choice quiz.
But I don't think it will happen because the market has yet to demand it.
I got my OCP 9i three years ago jsut to keep my job. Did it really matter? No. I was laid off the next year. In combination with my cert I had 4 years solid experience with Oracle. Did the company I was contracted to care? A big, solid NO. Now, I am working in a COMPLETELY Microsoft shop (except for tools not made by MS). Is my Oracle cert doing any good now? No.
The best thing about my cert is I didn't pay for it.
The way I look at certs is it should be used to ENHANCE your current skills or to show you know what you already know. But, obviously that is abused. That is a "perfect world" scenario where everyone is honest and not deceptive.
I really like the PMP cert. If only there was an i in Project. You could have certified PiMPs... (Thanks for the smirk, Dave Markle!)
Other than that, I'm still jealous of Jeff's office.
How many of the folks expressing negatives about certification actually hire people? Sure many of you interview, but do you sign ze papers? For a hiring manager a certification is never a negative. The prospect may have plenty of other negatives but the cert itself is not one of them. On the other hand, for a borderline candidate, the fact that they took the time and trouble to get certified may make the difference in getting hired or not.
Certification, of one type or another, has existed for most of recorded history for most trades and crafts. Get used to it, it's not going away.
Being now middle-aged, I've reached the point of "Senior Architect" who's been programming for 25+ years. Many languages, platforms, etc., (including current ones.) Tons of experience (good and bad).
Did all this experience, knowledge, and expertise help when I got laid off during the dot-com bust? No, because no one would look at my resume. After I found work via networking (always the better path, but can take a long time), I tried an experiment: I added a certification acronym to my resume. Next thing, I'm getting called back for the first time. (I didn't interview with those companies.)
The impression I ended up with: Many hiring out there think if you don't have certifications, you must not be serious about your career. Or worse, if you're older and don't have certifications, you must be out-of-touch with current development technology and tools.
I'm seriously considering getting some certifications. The primary reason is that it should help me both 'stay in touch' with the latest development gizmos, while also providing a tangible record that I've done so.
Microsoft now has a new and interesting certification level: Microsoft Certified Architect. MCA is a peer-review (and expensive) certification process, which sounds like it could be something much more than just a framed certificate. Has any of you readers gone after MCA or other advanced certification?
Oliver, your right in that case purely theory wouldn't be enough. But if in 5 years time you apply (with experience gained in that time) A certification as well might make you stand out compared to a similar candidate without the cert.
Even experience isn't perfect look how long we've been writing yet people still can't spell.
I have been consulting for decades without finishing college or getting any certificates. I have to turn away work due limits on my time, have started multiple software companies and am the first person my peers go to when they need a question answered.
Yet, there are some companies that can't see what I have done because of the lack of a degree and certs. Instant disqualification. The good news: this is a great way to filter out places I wouldn't be happy working in the first place. If a portfolio of successful implementations isn't enough, they probably have a similar closed group-think in other areas that would just be annoying in the long run.
However, I'm not sure that I will be able to do this forever. So far the efforts to put "software engineer" barriers to entry have failed, but I am a member of both the IEEE and ACM specifically to weigh in on "no mandatory requirements for the field" side of the fence. Trust me: if you are self taught, you should consider joining these organizations so your voice can be heard... there is intense pressure within these organizations to get laws passed that would require mandatory education and certification levels to work in this industry.
Certifications *should* be a good thing, but "certification" as a concept has been devalued by the companies that are so keen to offer them. The worst offenders (Microsoft I'm looking at you) made the certifications too easy to learn by rote, and the spate of "cribbing" sites hasn't helped.
- Certifications can be a good thing if you're doing it to *learn* something rather than just get the letters.
- The Offender (Microsoft) seems to be growing up. The MCA is a good start, certifications are starting to get more simulation-based, and it is getting harder to cheat.
About 5 years ago I did my MCSE and MCSD. The MCSD I did the "bad" way (rote learning and cribbing), and I gained nothing from it. The MCSE I did the right way - courseware, then the study program from the Transcender tests which was fantastic, then more studying, and I learned a lot from that. Certification is no substitute for experience, but experience is no substitute for Experience + Education.
Well, the argument here isn't whether one can gain any useful information from certification programs. I think most people here would say that what you get out of a course or a certification is heavily dependent on the student.
My perspective is that most certifications probably aren't terribly useful from the perspective of hiring. Unless that certification has a reputation or an association with effective people, (probably gained through both theory and practice to get said certificate) it's just a test that you've passed. Otherwise, for people who take tests well, like Aaron, (no disrespect, Aaron), this may or may not translate to skill. That ambiguity makes certifications unreliable.
i have my BS and working as senior software engineer for almost 4 yrs now..
currently on .NET but had projects on Coldfusion and a full life cycle J2EE project these last 4 years..
Can any one suggest me ..
MS or Certifications or..........
just to make sure that im not lagging behind or become one among the crowd..
thanks in advance..
I'm enrolling in an A+ course next month. I'm going after this to get out of retail and make enough to finish my degree. Right now, I can install almost any piece of hardware (in PC-type machines, don't know about Macs), almost any OS. And, I never had any formal training. That certification is just a way to grab a prospective employer's attention. Now, I just need to find some classroom-style training for a PHP cert. Again, for the documented proof.
You can save a lot of money on actual certs and just buy a couple more reference/study books, if it's a field outside your main interest. The studies, experience, and practice tests are what are important; the cert is just validation to people who probably don't care. Whether you list those on your resume ("Certs studied for"?) is up to you.
The biggest problem with certs is how easy it is to get them and then let the skills rust for years. You don't want to come in on a big critical project just to realize you've forgotten everything and don't have time to brush up.
Certifications should be exactly like a degree (I have both). By that, I mean they both speak of the START of understanding, not the end. Having a cert does not mean "you have arrived."
Both degree and cert can help you get an interview at an ENTRY-LEVEL POSITION and not necessarily a job. (Of course, there is at least one obvious exception: CCIE should be given more weight.)
A degree means you are willing to study, spend four+ years on a project, and are presumably ready to enter the professional workforce. The better the degree, the better the perceived preparation.
Certifications means you have studied and tested on specific subjects and may be ready for a starter job. The tougher the cert, the more work you presumably spent on it.
A good body of work means you are a professional and can do X job. This is where the paper-certified folks are separated from the actual professionals.
BTW - Haven't developed web stuff for a while, but HTTP GET passes data and args over the request string ((.*?).com?page=requested_page) and HTTP POST passes stuff in the body of the request. Unless I have that backwards. :)
Time Magazine had a great article about how schools are changing, it said that in some progressive schools they recognize that memorizing facts that are easily found on google/wikipedia is pointless in this day and age. Instead they are incouraging the kids to work in teams and explore the theories and the 'whys' of things.
I think the same applies to certifications, if they are all multiple-guess (A+, Security+ any MS test, etc) then the cert is worthless, but if it's hands on like a CCIE or apparently the RHCE then it's likely worth more. Some certs (PMI) require that you have worked in the industry for 1000's of hours, those I think are definately worth something.
When you ar elooking to hire someone it pays to know what getting the certification involves.
Funny this exact subject was on /. last week, but I'll repost my refined opinion.
Real experience is the the thing ALL professional positions desire above anything else. The problem is for physicians, engineers, and a great many other professions, the experience can come at a fairly significant cost.
The shortcut is to go to school, learn from other people's experience, and the school will vouch for the fact that you learned it. This is much more practical for physicians than prescribing medication for their neighbors for 10 years and learning from the one's that died. It's certainly cheaper than building skyscrapers for 10 years and then learning from the one's that didn't collapse.
Of course, it is certainly possible to be a self-taught physician or engineer, but most people won't hire you because it's a huge risk, mostly a liability issue. On the other hand, except for in nuclear power plants and things like that, software rarely carries the same risk of liability. Sarbanes Oxley may remedy that, but it remains to be seen.
I've come to the conclusion that, for any job, the best thing is to be able to "get things done". I've met and worked with plumbers, electricians, physicists, actuaries, mathematicians, physicians, and even architects. The "good" ones all have the same characteristic, they get things done. Some jobs can or must be learned in the field, some in the university, and for some it doesn't matter. The bottom line is, if I'm review 100 resumes I need a way to quickly filter them, a certification is better than nothing.
I can say for sure, a cert won't get you hired (if it does, that company most certainly sucks), but it might help get you an interview. When I'm interviewing, it's easy to tell who gives a shit and can get things done, and who thinks that showing up most of the time warrants a paycheck.
"you should be spending your time building stuff, not studying for multiple choice tests"
Couldn't agree more. If you can pass a certification without studying for it, by all means go for it. That means you already have the knowledge the test is looking for. To study for it and then pass it is really a facade on top of what your real skills are.
Boy is this ever an age old question! I once asked a boss who hired me over a dozen pre-specified candidates what would they value more a certification or college degree (in related field). He actually said certification, I then went on to find out he had no idea what half the certifications actually meant. To him Microsoft Certified Systems Engineer (MCSE) sounded much more technical than a plain jane B.S. in Computer Science.
This led me to believe to common non-technical folk a certification is probably preffered. So if your going to work for yourself, or be a consultant or perhaps want to post your resume and work within a big organization have certifications ask as keywords might be the best course of action.
However, to us technical folk we know that just because a person posses a cert doesn't mean they actually know much about what thier certs in. Case in point, when attaining my College Degree I took MANY courses in different subject areas. In order to pass these courses I had to pass a test. I simply memorized text from a book and when asked a question during test I'd repeat what I memorized, did I remember all this information? NO.
My wife, who knows squat about IT could take and pass any IT cert course and still be useless out in the field. The point is the value is in the experiance and not certification.
I worked for a certification bootcamp back in 98-99, and I can tell you that an MCSE is worthless. We had an agreement with the local unemployment board to re train the unemployed. If I had a cut of the money we recieved to turn cabbies and plumbers into "Network Technicians" in 3 months....wow, life would be sweet. In any case, ever since that eye opening experience, I place little or no credentials in the Microsoft Certs.
I wouldn't mind a non corporate/business affiliated body putting out something with the equivilent of a CPA exam, with the requirement of say 5 years industry experience as a prerequisite to even sign up for it. I have 10+ years of ms coding under my belt and wouldn't mind the distinction, more as a way of separating myself from the rifraf that have invaded the industry than anything else. Certified Public Programmer, it has a nice ring to it.
idempotent? I don't know about the word specifically, but the page you linked included the quote:
" If the processing of a form is idempotent (i.e. it has no lasting observable effect on the state of the world), then the form method should be GET. Many database searches have no visible side-effects and make ideal applications of query forms.
If the service associated with the processing of a form has side effects (for example, modification of a database or subscription to a service), the method should be POST.
A great example is that Google, of all companies, misuses GET a lot. I can craft a URL that you can click on (triggering a GET) that changes your google language to Gaelic until you clear your google cookie or find a way to change it back.
Until you clear the cookie or change your settings, every time you visit google with that browser, the page will be in Gaelic and all your results will be Gaelic-weighted.
This is just one example, completely unabashedly stolen from a Slashdot comment I stumbled upon a long time ago(yes, he included a demo link, and yes, it really did change your language).
That's a very low-importance example though.. but people put databases online behind web interfaces that allow you to modify data from your browser. what happens if you're logged into one in one browser window, and visit a malicious website that attempts to send a GET request w/ a SQL statement that adds a new SQL user? That isn't possible if you make it only use POST. Granted, they could craft one and POST it, but most browsers put a lot more restrictions on how you can POST without warnings and other issues. Sure you could check referrers, blah blah blah.. the bottom line is, a malicious GET can come from a LOT of sources, a malicious POST is harder to get at. (You can embed misleading links in IM, email, .url files/shortcuts, etc... POST has to be triggered from within the browser session in all browsers that I know of. No, it isn't a huge massive security hole(usually), just a small annoying one that could be almost completely avoided by following the standard!)
"How do I tell the good from the bad?"
A portfolio of successful implementations and word of mouth recommendations? That's how my company works.
Lots of dodgy comments by brash young brats here dismissing certifications.
For the more mature among us, CERTIFICATION ARE A DIFFERENTIATOR.
Kids, you won't be able to coast on attitude and experience in your 30's and 40's. Hiring Managers want to be assured that you are "current". Certs are that currency.
If you let only dictate who you hire you will get nothing but salesmen that talk about 7 habits and repeat the same damn bullet points, at least with certifications you know the person can fucking learn something and most jobs don't give a FUCK how much experience you have it that you can LEARN what it takes to do the job and then do it!
The answer is - it depends. Certifications help to differentiate the resume more than anything else, but experience really helps too. I have only been a Unix admin for ~12 years (mainframe before that) and what I have observed is having a certification - helps. It displayed that I was willing to put forth the effort. During interviews when I add on that I am back in school - that also adds a lot of weight. One scenario where certifications come in handy is trying to fill junior positions (this is likely more true for system administration positions) where showing someone should have enough experience to perform the basic tasks is all you need - technical questions in the interview should shake out the rest. When applying for programming (and lightweight at best)/scripting positions I bring a portfolio with examples, noted open source contributions and anything I can think of - which always seems to work.
Nice post!! I totally agree with you that the interviewers should not use certifications as a plus (nor a minus) to a candidate and what important is the real knowledge required to get the job done. I shared similar thinking in my reaction (http://www.buunguyen.net/blog/mcsdnet-certification.html) to another guy who said that he would automatically fail anyone with an MCSD.NET certification
I've been getting certified all my life, at least since earning my Bobcat badge (Cub Scouts, for any unfamiliar). Rank Has Its Privileges. I don't consider myself a better professional because I have passed some tests. At best, they can be equated to the tests for getting a driving learner's permit. You knew at one time the minimal to be marginally safe. There's no question that your portfolio of successful jobs serves as the best credential. However, it is just one more arrow in the quiver, especially for marketing purposes. My business cards have had various logos on them over the years, and it influences some people to believe that you might be more of a professional in this for the long haul, and not a guy who's just between jobs. It's not the end-all and be-all and won't resurect that dead server, but it might get your foot in the door somewhere.
Former MCP, MCSE, MCSD, Novell CNA, and Water Safety Instructor
... ugly girl said: beauty is in soul ... yeah, shure!?
I know that I'm late to this conversation, but I have to add my two cents worth.
After all these years, I'm still on the fence re: certification/degrees/etc. When I was consulting, I started stockpiling certifications because I "had to have them" to get my foot in the door for new projects. Some of them (like the PMP, CISSP, CISA, etc.), I think have some value because they at least ensure that there's some common terminology and ideas that a certified person will understand. I don't beleive that they provide any indication of the quality of education or the depth of knowledge in any area. But they do show that the person has a foundation and enough of an understanding that they should be able to find the information that they need if they don't have it in their heads.
I also agree with the opinion that it's easy enough to get the cert when you've been doing the job for x number of years. It took me about 10 minutes (total) to write both of the required exams for my A+ and about 15 to do each of the Network, Server and Security exams. It took longer to drive there than it did to take the tests. The problem is that it costs money, signifies nothing and more often than not, tags you as an entry-level person trying to cover for a lack of experience.
With that said, I have worked with PMPs that couldn't manage a project if their lives depended on in, MCSEs that can't set up a basic server and CISSPs that leave their passwords taped to their PCs. I also have MBAs that can't create a budget and an MSc that thinks that data can get stuck in a length of network cable. Degrees and certification are not cures for stupidity.
The catch-22 is that you need the certifications to get past the idiots in HR. Then when the resume gets to a hiring manager, they get turned off because they know how meaningless the certs really are. In one case, my 20+ years as an engineer was undermined because I recently got my MCSE. They looked at the date of the MCSE and automatically assumed that the 20+ years of experience was bogus because I couldn't possibly have done the work before I got my cert. (d'oh!) Another, I got blown out of a technical job because I had my PMP and "obviously was more focused on management than technology".
As an FYI, I have all of my certs photocopied 4 to a page. The 1/4 inch stack is proudly stuck up in my cube and fondly referred to as my "emergency toilet paper".
PMP, ASQ SSBB, MCSE, MSCD, MCT, Security+, Server+, Network+, iNet+, A+, CISSP, ITSM-SM, CISA, PMP, CQE, MIC-KEY MOUSE.
Tip #6: Don't be a Certified Loser
Don't ever, ever use the word "certified" your resume. It's far and away one of the most prominent red flags in resume screening, bordering on a dead-giveaway round-file 86-that-bad-boy no-review-required situation, if you know what I mean. (If you don't know what I mean, well, you know the old saying about not knowing who the sucker is at the poker table.)
Certification is for the weak. It's something that flags you as a technician when you really want to be an engineer. If you want to be a television repairman, you can become certified in TV repair. If you want to work for Sony and design their next big-screen TV, then you clearly don't need a busy-working-adults course on how to repair the fugging things.
Same goes for tech certification. It means you had to take a course to learn something you could have read in a book. If you know something, just say you know it, and then be prepared to answer questions about it during your phone screens and/or interviews. If you feel compelled to add that you're certified in said skill, it's just broadcasting that you lack confidence in your own self-assessments, which doesn't help you in the slightest.
Seriously. Take all mentions of certifications off your tech resume. It's actively hurting your chances of getting an interview.
Its funny how most of the people that say certifications are *bad* and 'take them of your resume' are people that don't have any.
When I graduated college with a bachelor's in MIS, it was difficult to immediately find a job. With a suggestion from a friend that was an MCSE, I decided to go for the basic entry level MCP certification. I mean, why not?? I have no experience, and no one is knocking my door down to hire me, so I went for it. During my interview at my current job, the MCP that I had earned was brought up. The interviewer said "I noticed that you took the initiative to get a certification while interviewing for jobs." While I am not sure the reason that I was hired to an entry level technician job, I'm sure my certification didn't hurt me at all because other people with my same degree didn't get the job.
In the 4 years since graduating college and during the course of working for my current employer I have earned: A+, Network+, MCSA, MCSE, MCDBA, and CCNA certifications. I have also managed to get a position as a systems engineer along with several raises and many other perks along the way. As I was taking these tests, most of the time I had to use my vacation time to study. Other co-workers made fun of me and said 'certifications don't mean anything'! I kept on studying and learning and taking tests. Tests almost seemed like a reward for learning to me. The same people that made fun of me, don't say as much anymore since I am in a different department with over twice the salary that I started.
One of the biggest things that I have learned is that there is *NO* substitute for experience, not school, degrees, or tests. However, why wait till you have 20+ years experience to get a good job? Why not learn and get paid along the way? I might not know anything more than the guy beside me, but hard work and initiative *AND* something that makes you stand out all go a long way.
I will continue to get ceritifications and continue to get pay increases and promotions and calls from other companys and smile while people write blogs on how they don't matter and to 'take them off your resume"!
Kasmier, I think you are right that the certifications may have helped you. But couldn't it be that it was more that you learned those technologies and was able to apply the knowledge? It might be that you are just an upstanding individual whose skills and ability to learn is just above average and why you excelled over others. I know quite a few people who have 6 - 10 certifications for various things and are not employed (even though they have 4+ year degrees). Those people are the same ones that couldn't get a job because when asked anything outside of what was on those tests, they couldn't even formulate an answer. Nor could any of them deploy any of the material they "learned" by studying for the exams. Conversely, I have managed to land and keep several jobs with no college degree or certifications, and I feel I have done quite well. It hasn't stopped me from going back to school to get my degree(s) in computer science, however, nor has it stopped me from learning as much and as often as I can, about anything related to what I want my career to be.
I found these posts today when searching for ideas on what certifications meant to people, because I am trying to decide if I want to actually sit down and take the tests for the MCPD. I know I can pass them strictly from work experience, but I don't know if they would benefit me since I now have over 5 years of experience doing exactly that (with a nice portfolio). Maybe I'll save the money and use it to just buy books on WCF and WPF...
In order to make the exam easy, one should take many example tests, which are usually available on the Internet. Simply cover the answers (we can use a software like Screen Concealer) and try to guess the correct answer in an acceptable time.
The examples improve our skills with minimum fatigue.
...not to mention that anybody can get one of those brain dumps from the internet, memorize the answers and pass the exam with golden stars. I'm a .net developer with no experience *at all* in Cisco, but if I want to get a CCNA, all I have to do is pay the $70 or so that cost to get a PDF with all the questions answered before hand. Or even better, keep the $70 and just go ahead and download the PDF from the pirate bay or a BitTorrent site ;)
Hey actually, i have nothing to add here but to pose a question. I have 5 years of pc support/net admin/web development work at various companies. I have 0 certs and less than a year of college. But now im at the point where people making three times as much as me are pissing me off because i know far more than they do but they have some paper to get the raise. Fair enough, now its mine turn. My question if you dont mind giving me a few opinions, is would it make sense at this point to spend the next 4-6 years in college while working full time or spend that 4-6 years instead working on certs and moving up in a few different organizations. Basically im just to the point where going back to school may not be the best course of action but would like a second opinion.
I've got a (UK) BA Hons in Communication IT.
And I've (just) got my MCP (Vista) and I'm training towards an MCSE (or MCTS/MCITP), along with a CIW.
And I really need to have those little letters after my name cause I am at a huge disadvantage in the IT world, simply cause I am female and that alone means that despite having spent the last 4 years working in IT, people assume I know nothing about what I am talking about.
My Vista exam wasn't passed by what I read in the book, but by what I knew already, same with my XP (and to an extent Server 2003) exams (hopefully). The other courses have taught me a lot more about areas which I knew.
Of course my BA degree in IT taught me nothing about IT in the real world (unless my job needs to design a sheep screen saver!) but it does show I can do the university thing, which in UK is most certainly needed.
Many people have made comments along these lines, but I wanted to add my voice to the notion that is not the idea of certification that is bad, it's the actual certifications we have which are bad.
It's a sign of computer science's infancy that we can still hear stories of people without format education and certification who are successful in the market. I'm not saying that as a slur against the uncertified or self-taught - I'm saying the fact speaks for itself. Eventually education and certification will improve to the point that they will so advantageous that they will be virtual screening processes, if not literal ones, for certain types of coding jobs.
Imagine an architect (I.M. Pei architect, not software architect) with no formal schooling. Who would hire such a person? I'm sure some exist but they are the exception that proves the rule. Whereas in construction it is much more common to find laymen with no formal education who begin as apprentices and can work their way up to headmen.
The analogy maps to software architecture pretty cleanly. There are certain principles in design which are learnable through experience but which you would be much more comfortable knowing your master architect had been schooled in. As program design gets more sophisticated and design principles become better understood and formalized, formal education will become more and more useful.
I am a senior enginner for a major search engine and have to add my two cents. Let me ask a few questions?
does bjarne stroustrup have a certification? does sergey brin? does larry page?
I spent a lot of time earning a PhD in computer science and during that time I was also working at companies like Sun, and AOL. During that time I learned real programming fundamentals and also solved real-world problems in a team environment.
All I know, is that if your resume shows up on Google's doorstep and its littered with lots of fun letter combinations and not much real programming experience i dont think you'll get the interview call. and if you did, you would be totally overwhelmed when the engineers from the team you are applying for start bombarding you with questions about things they are really working on. If youre not prepared to sit there and write some code or draw on the whiteboard to help solve the problem at hand you will be dismissed.
My suggestion is to start spending some more time learning the right way to program, spend time programming for fun, yes fun! if you dont love to program then what is the point?
Anyway, do what you will -- if you are serious about getting a job at a cool place then i recommend creating some projects on your own. You will always learn more by doing then by cramming some crap into your brain to pass a test.
I totally agree with you, Steven, that it's the knowledge and experience that will be necessary to actually do the job when the time comes. However, like Cristopher was saying earlier, the fact is (and we all know this, because we've all encountered it) that, no matter how good you know you are, and how good you can tell a prospective employer you are, they want to see a piece of paper. It stinks, it may not make sense, but that's the way it is.
I guess that the best we can all hope for is methods of cutting down on the time that it takes to get certified, so that we're left with as much time as possible to do the actual practice that you're talking about, Steven.
One thing that I did see recently that was kind of cool was a chart of information about average salaries based on certification, and how they had changed between 2006 and 2007...kind of gives a little peak into the trends. *searching through browser history* It was at http://careersaver.com/SalaryByCertification.asp
Actually, now that I think about it, CareerSaver (the people running the site) was saying that it's one of those companies that cuts down on cert prep time.
Well, frustrations aside, everyone keep up the good fight as warriors of the working class, adrift in the sea of technological development. (Sorry...felt like waxing poetic, as it were.)
Yeah, I see what you're saying -- maybe it depends on what kind of job you want to go for. If you're looking for a business Enterprise job then maybe a certification will get you in the door. If you're looking for a research job where you're going to be working on new and exciting ways to crawl the web I would recommend staying in school and interning at companies that do really interesting stuff. Getting a PhD was a major commitment and pain in the arse but it's been well worth it in the long run.
Also what kills me about people that tout their certifications all over the place is that they seldom know anything more than what is in the certification study materials. To be an effective developer you need to master a variety of different languages and technologies. On a daily basis I can use C, C++, Java, Perl, and work on both Unix and Windows to get my stuff done. Anyhoo... this is just my opinion and it could be total crap... just want to maybe open up some eyes.
Code because you love it, not because it pays the bills.
So where do you start? If certification is crap, how are we juniors to start on the path of being a good developer? What's the career path... Saying "just be good" is a cop out. HOW? Offer a solution please.
According to spolski we should all learn C and write a compiler... great, except noone cares. Noone in the industry is gonna be like "Ohh you wrote a lisp compiler in lisp..." It's academic CS masterbation.
I knew more about OOP than anyone I worked with for the first two years out of college. In 2007 I'm trying to explain inheritance and why objects are good to a bunch of C veterans trying to write an asp .net app using embeded techniques. Imagine a big web app where every object is just a record and all methods are static functions... have fun debugging.
This industry is an unregulated joke. When I got out of school I read patterns and practices books and considered getting a cert or two. I had NO experience and though Gee this is what OTHER industries do... but guess what, the reading and a cert was a waste of time.
Senior devs sit on their obfuscated code thrones, invaluable to the company because only they and god can read their code. They dont use industry standards. These "genuises" usualy go on and on how coding is some mystic art and how certs are crap, make snide comments about user groups, and say "what did you read a pattern book or something" in a code review. When in reality they have no fricken clue about jack.
If you are a company that throws away resumes of people with certs, guess what i dont want to work for ya anyway. I want to work where people better themselves. Not somewhere with a 90% fail rate.
So again. What is your answer? Anyone can point out a problem. The solution is what counts. What magic fairy dust do junior programmers need? The guru's say not certs, what then? Make yet another open source rss reader? Write my own language and compiler(give me a break)?
And yah, I do it for love of the game. But coding as a career is a joke.
I just got my CCNA. It seeems Cisco does things very differently than most other organizations that are just giving tests to generate more revenue.
lol. I got my CCNA about 3 years back (could take classes in high school for free and get actual certs) and at the time I could barely have logged on to a router, much less do ANYTHING once logged in.
Whenever I have to hire someone the very first thing I do to the stack of resumes is to remove the resumes with Microsoft Certifications. I've found over the years that, 98% of the time, those are the people that are trying to buy a job with a magic certificate. People that actually know what they are doing know because they DO. Not because they took a class.
Of course if they have years and years of experiance I don't hold the certs against too much them but it is a red flag that simply means, This guy might be more trouble than he's worth.
Brian, it sounds like you don't love programming but that you're in it to make a buck. Nothing wrong with that but it goes to why you're not understanding how to get experiance. Do you dream about programming? Do you write programs to solve problems that didn't really need a program just because it's an interesting problem? Do you think what if? whenever you're working on a piece of software or hardware? Do you often think about how something physical works and how to build it in code?
So what does that all mean? It means if you love programming you'll make up stuff to do that YOU find interesting and that will give you experiance. If you can't think of anything to do just for yourself then you probably don't love programming and nothing I tell you will mater because it will all just be different version of , Write a compiler.
I started the MCTS course and after reading the material, i dropped it. It's basically learning by rote and teaching you nothing other than how to pass the final exam.
How many of you folks are really certified in a technology to comment on...??? I guess 1 out of 10. If you would really pass your emotions on these, go get a certification and then writing or making these comments.
I totally believe there is an intention behind having these different types of certifications in the market..I know it may not tell anything about the personality of the person who has the certification but atleast gives you an idea of how to assess that personality. If anyone think certifications are all useless....then the whole system of TEST is wrong...and I think the word TEST wouldn't even have originated.
Well my personal point of view is that some certifications are good to have, for instance the SCJD test you in developing a project, it is not about answering multiple choices questions, the same goes for SCEA second part.
So, maybe some certifications may be get only by reading books even without having experience in what you are getting certified, but at least they will show to the interviewer that someone approves that the certified person knows the basics.
I dropped out of highschool in the 9th grade, and have completed something less than 2 years of college. I've been writing code since I was 10 years old. I am a professional software developer.
At my last gig, there was a revolving door of certified professionals who couldn't sum columns (seriously!).
I don't particularly feel that because some hiring manager had to suffer that that means I should have to suffer too. I -own- the skills that I have listed on my resume and I have the references to prove it. I'm not going to jump through hoops for anyone. If one guy doesn't want to hire me because he needs some piece of paper, then his loss is another's gain.
Isn't the task of a developer to figure it out? It is almost a given that I don't know how to do whatever is asked of me. I don't get paid to know how to do it, I get paid to get it done. If everyone else is in the same boat, shouldn't we be more concerned with problem solving ability than certification?
should i do certification??
Common sense or book smarts, that is the true question being asked here.
Those who have had a lot of experience with a subject are usually the best ones to do the job, because they have had the failures necessary to realize that yes, there is more to learn. Whereas those who went to college say "yes, I've finished college. I don't need to learn anything because I got this piece of paper saying I've learned enough". This is the error that causes general ignorance, leading to people who are "certified", but have no practical knowledge.
I was particularly irked when a colleague of mine spent the better part of 4 hours investigating the user permissions database when a user was presented with a "Page cannot be displayed" error!
I tackled a similiar case seperately (and found out what happened with him only after my case) and I traced it after a few emails to the fact that his DNS wasn't resolving the address.
I'm pretty sure he knows how to "code" in .NET just fine, but perhaps it was just me griping over the fact that he was up there as a "developer" and I had just drawn the short straw for "support".
The integrity of certifications is suspect especially when you have to pay for them. Turns out it's just a way for companies to make more money and provide no value. The worst are the ones that are made artificially hard by keeping marking schemes and processes secret. Salesforce Certifications are really bad for that.
It's sad, but most companies do not know how to hire IT or development staff. Lately, managers are more impressed by paper than actual experience; this is just how they're programmed to evaluate people by the media, and their own "training".
I've had the (mis)fortune of being on the hiring panel a few times in some of the companies I've worked for. At least eight times out of ten; the person waiving their paper certs/degree's/etc has proven the be a bad choice.
Having the paper is not a bad thing, it helps avoid the cut when an HR person is evaluating your CV (those without experience hiring tech staff anyway). But it should not decide your end value.
This is one of the few posts that I agree with. You hit the nail on the head when you said: "...you should be spending your time building stuff, not studying for multiple choice tests."
I am only 25 but I have been developing for fun and for my job since I was 15. I have many certifications and I don't believe I deserve a single one (deserve is a strong word). Let me explain. I have a way with multiple choice tests. I took my SATs in 7th grade as part of a John Hopkins study. Believe it or not but I scored 1110 (higher than most seniors) on my SATs in 7th grade and that is without ANY algebra background (I got a 650 in the math section). I also am able to pass certification tests without studying for them or taking any classes; I can reason multiple choice tests quite well.
Granted certifications are wonderful if you actually took the time to study because it gives you a background knowledge that you can use to gain more "useful" knowledge. However, if you didn't take any courses or study any of the material but still passed then the certification is useless.
I am probably way to early in my career, but I agree that the Certifications don't mean a whole lot. However, as bad as it sounds I do see some benefit to them, mainly because they do get me to get more experience and allow me to build apps of all shapes and sizes with newer technology that I wouldn't otherwise be able to use in my current position.
I do have a question however, even though you can pass a lot of the certifications with pure Book studying why do a lot of companies stress and push the employees to get them? Seeing the letters after a person's name when pitching them to a client can't be that big can it?
Certifications are resume filler. They don't mean anything. You could still be a total idiot and pass the certifications.
Licensing is much better. Take the driving exam for instance, there's a written exam and an actual driving test to see if you can drive the car. You pass both you get your license. Plus its standardized, there is only one place to get your license, the registry of motor vehicles.
For certifications to carry any weight they would have to follow a path similar to earning your driver's license.
I think this is a slant on an old coaching joke:
Those who can, code, those who cant get certified.
-- just to lighten it up a bit
I'm seeing certifcations that cost a minimum of $1000 to take the exams once and maybe a set of study materials creeping into craptackular entry level positions.
You're eliminated if you don't have the designated approved keywords.
I have the old A+, Various MCPs, and MCSE-NT. Also have 9-10 years of support experience. I can't seem to even garner a single interview in the last year. Either I'm overqualified or I'm completely ignored. I wonder how many have lied/bs'd on their resumes/cv in order to defeat the keyword filter.
Meanwhile I'm working another soul draining brain dead factory job. Why did I get an engineering degree again?
Thinking about turning my experiences into a screenplay about a technical recruiter serial killer.
I have a job at a very small company doing network admin stuff, but also have my hands in virtualization, cloud computing, voip, lamp, consulting, etc. My problem is that I went to school for 5 years but never finished, and when I eventually look for another job, I need something to show for it because I do believe I have a pretty good self-taught understanding of networking. My friends laugh when I study for tests, asking if I'm going to get a raise, etc and I have to shrug it off.
Do they matter? yes and no. I know The MS tests are (mostly) retarded, and I can guess that the answer 90% of the time is the one that makes them look the best. The Network+ has a lot of stupid memorization of connector types and wire distances you would probably just google later.. BUT somehow I have learned a lot in studying, so I can't say they are totally worthless.
I currently have MCSA/MCITP/Network+ and taking my CCNA next month, and if wasn't so expensive I would do VMWare and RHCE too.
My plan is just to get an interview, and be able to talk fluently to someone who also understands it (typically they will bring a current network admin in on the interview to "sign off" on any new hires)
I agree with Brian,Mitur Binesderti you telling me to make up a project and do it. I love programming and I do it for the fun of it but I'm a fresh grad and need to survive I need a job so I make up a couple of projects and do them, then show up at ur work and u are inteviewing me, which might go luck this:
Mitur Binesderti->so have u got any experience
Me-> yeah 4 yrs
Mitur Binesderti->tell me about it?
Me-> I made up a bunch of projects and I did them
Mitur Binesderti->I'm sorry I meant commercial experience, good-bye
That is if I was lucky enough to score an interview, Certification is the best way to learn in a structured manner if you want to learn something thouroghly. I have tried to be self taught and by doing but programming is 50% knowledge and 50% problem solving even less problem solving if all u do is implement business processes. So why shouldn't those individuals who work hard for months get a fair go. You won't give me a job if I have no experience so how am I supposed to know anything and in this under-developed industry like Brian said who really knows everything to be an authority on everything?
I have almost 8 years of experience in Software devlopment. I am interested in doing some certification at this stage, what benefit will I get by doing certifications. Any suggestions will be highly appreciated. Thanks in advance.
Well, its the same now as it was 5 years ago, certs are very important and are getting even more prevalent. There is a lot of information about just this subject from http://www.Technologycerts.com it may be on the blog if not on the homepage, but either way this is still a great and valid post even if I am outdated inmy finding it :) Thanks!
A degree in CS might be valuable depending on how much the student really sunk himself into it. There are people that are proud that they don't understand binary and hex and do not understand memory hierarchy, processor architecture and all the underlying concepts that everything is built on.
If you don't understand the relationship between hardware and software you are practicing voodoo. Everything will be magic to you and are worthless as a programmer.
As for certs, I have met far too many Java certified programmers that couldn't tell you or misunderstand what references are and why Java does not ever use pass by reference. No, this is not trivia, it is critical to understanding what your code in doing under the covers.