It has been a while...
It has been a while since I've last posted. Was waiting for inspiration I guess. I'll be a bit more regular in writing in the future, just hit a dry spell for a bit.
I received inspiration this morning in the form of a question on asktom. Nothing like a good rant to get going again... I really fear for our "profession" sometimes. I'm not even really sure some days it is a profession - because if it were a profession - that would imply, well, qualifications.
Ok, so here it is - the question du jour:
i need your help on how to write applications for mobile banking usin sql, pl/sql or any other product availabe, i am a applications developer and a junior DBA just starting and it is one of the targets i heve to meet in my job,the deadline is getting closer.
your help will be appreciated.
thank u tom for given me an oppurtunity to ask this question.
will be expecting ur reply
Ok, here we are - I want an education on how to write applications for mobile banking. Now, "mobile banking" isn't really something you want someone to cut their teeth on is it? I mean - I really really want my bank to use developers that already sort of know how to build a transaction processing system. Also, what sort of financial institution would use a single "junior DBA and part time application developer" as their development team?
"The deadline is getting closer" - and they do not know how to develop a database application. That is something they should have possibly considered before accepting the job.
The IM speak of "ur" and "u" were just the icing on the cake.
Cary Millsap just wrote about something similar. An application interface in the UK that offered him the first 2,000 qualifying bus trips he could take from one airport to another. What were they thinking as they "designed" this - what were the developers thinking when they said "yeah, we'll make this user interface to find a bus easy - we'll be super efficient and terminate the search after 2,000 hits". 2,000 hits. Seems like anything more than 10 would be overkill.
Another recent thread on asktom got under my skin as well. A reader wrote in part:
My problem is that I have critical servers (24x7 with a 99.999% SLA)
I suggested, perhaps, that implementing some HA features would be useful in helping them get to 99.999% (a hard task indeed). They write back:
I think that my customer don't have budget to HA.
The only thing I can think to say back to that is
So, stop saying "I have to have 5 9's" if you are going to say "don't have budget" - they are oxymoronic.
I really don't think that people understand what they are signing up for some days. "teach me mobile banking - I have a deadline". "Give me 5 9's, without any money". Five nines takes a lot of up front design work, a lot of infrastructure, a lot of effort - it doesn't just "happen"
I am not generally in favor of "certification", but I seriously think we have a real problem here. If just anyone is allowed to put themselves up as a developer - everyone will. Regardless of ability, training, whatever. Doctors and Lawyers and many other professionals have to meet some basic minimums in that area - perhaps the people that write the stuff that manages our money, our health, our airplanes, heck - virtually every aspect of our lives in many cases - should have to do the same.
Updated: I think this link is somewhat relevant... Long but relevant...
69 Comments:
I completely agree Tom. There are so many developers (and DBA's) out there who don't even have a basic understanding of application or database design. They think that knowing how to program "Hello World" in java will allow them to develop enterprise database applications.
The biggest beef I have is developers calling themselves "software engineers." It takes ecuation (an engineering degree), professional knowledge and skills and experience to be designated an engineer, and unfortunately most in our field do not have the levels required.
My 2 cents.
The problem with certification is who is going to do the certifying? Most (not all) IT certifications prove little more than the ability to cram for an exam that lacks any real-world relevance. If you are talking about government administered professional certification or licensing (like engineers, architects, doctors, lawyers, teachers, accountants, massage therapists - the list goes on), then not only will you eliminate a majority of the IT workforce, but those who do qualify will then be opened up to disciplinary proceedings, loss of their license and yes, malpractice and/or negligence lawsuits based on errors or omissions (we used to call them "bugs") in their code. For the most part, I'm more comfortable with the current situation, and suggest that those hiring IT "professionals" carefully consider who they are asking to build the infrastructure to support their business. In this case, you probably do get what you pay for.
Ouch. A big time ouch.
Seeing questions like these always have the way of making me wonder "what in the world are/were they thinking"...
As for your question for "what sort of financial institution would...", the answer appears to be: alarmingly many. When my company was offered a possibility of being part of a "quality assuring" team of one online banking application, I was forced to recommend us not to touch it with a three feet pole as soon as I realised it was not even bothering to check if the user had sufficient funds in their account before accepting a transaction.
It also seems that there are many online banking applications, where the inbuilt security features seem to be in order, but where the underlying human infrastructure is providing even greater challenges than computers ever could.
Just a few weeks ago I was listening to my friend have a discussion with his bank (a large player in the UAE). It went something like this: "Hi, this is N.N. - I need to access my account, but I don't have the credentials to access the site... Yes, my credit card number is xxx... No, that is my old address, I've moved to xxx... Yes, thank you". And he got the necessary info to access his account, do money transfers et all, on the phone without providing a single piece of personal information during the conversation other than his credit card number.
I was going like... you know... anyone who has had access to your credit card even for an instant could've done that. The whole experience was very unsettling - even if it wasn't my money we were talking about.
Mobile Banking Guy also posted this over on OTN forums and was met with howls of derision.
The scariest thing is that most of us are probably nodding in resigned recognition of the current situation.
-- big quote --
If you are talking about government administered professional certification or licensing (like engineers, architects, doctors, lawyers, teachers, accountants, massage therapists - the list goes on), then not only will you eliminate a majority of the IT workforce, but those who do qualify will then be opened up to disciplinary proceedings, loss of their license and yes, malpractice and/or negligence lawsuits based on errors or omissions (we used to call them "bugs") in their code.
-- big quote ends --
What's wrong with that - it would be heaven in my opinion!
Why you can sue an Engineer that makes your $10,000,000 bridge collapse out of sheer incompetence, and you can't sue a self-proclaimed Software Engineer that makes your $10,000,000 web site collapse out of sheer incompetence ?
The real problem here isn't as much with Certification. That's a honorable goal.
The real problem here is that the development of software has become essentially a 'commodity'. Like with any 'commoditized' product, knockoffs are a common result. Something is so prolific, that the essential care and introspection one would take upon utilizing said item, has been discarded as they become more commonplace.
Developers like these, are an equivalent to a knockoff of an item. They are touted as being able to do so-and-so, but in reality only have a fleeting grasp of not only the technical aspects, but the resulting business implications.
Certification is a definite process for determining whether or not you're getting a 'quality' product. However, at the same time, it is a double-edged sword. Those that can afford to certify will, and those that can't afford won't bother... in the end it may not change much other than affirming the piece of mind you may have after hiring someone.
The essential fixes for such situations, is to more closely guard the 'input' process into the organization. More thorough vetting through HR, and practices which vet your contractors prior to engagement. These will do a better job of ensuring you have quality talent than any potential 'certification' would. Essentially you certify them yourselves, to your own satisfaction.
One solution we had to a customer was to have all new contractors be immediately be put into a 'mentor' system, in which a senior (known-good) developer would sped a few extra hours watching closely over their shoulder. Not only did it offer a good training opportunity, but it immediately identified those contractors that the customer clearly didn't need in it's organization.
As for Tom's problem, he's in a difficult situation. He doesn't have the time, nor the inclination to vet those that attempt to post questions on the board, and might never want to do so, in fear of alienating those that are just new and really trying to learn.
Fortunately, there's a generally easy solution, in that you just 'ignore' them.
Unfortunately, that doesn't do much good for the poor sod that hired the person....
The bottom line is, You get what you pay for.
My guess is they are not paying very much, so they are not getting very much return.
It's only through practice that you gain the necessary skills and experience needed to perform.
Testing and certification would not bring about the changes you desire. It would only raise the barriers to entry and set up false wage floors for positions. Both are negative economic factors.
Let the market perform and duly punish the company for it’s bad decision making process. Any way, banks are not playing with their money; they are playing with your guaranteed up to 100k money.
Why you can sue an Engineer that makes your $10,000,000 bridge collapse out of sheer incompetence, and you can't sue a self-proclaimed Software Engineer that makes your $10,000,000 web site collapse out of sheer incompetence ?
You can sue the incompetent "Software Engineer", but if the contractor had any sense, their contract would limit your recovery to what you paid for their services, not your valuation of your website at $10,000,000. There is a touch of irony in that, isn't there? You hire the lowest priced contractors you can find, their incompetence destroys your business, and you just get back what you paid for their "serivces". If programmers were licensed "professionals", then it would not be as easy to contractually disclaim liability. Of course, the folks who write malpractice insurance would initially love to have a new industry to underwrite. Then, the claims would start pouring in...
Tom did you remove the post? I didn't see it on AskTom when doing searches.
-Alexander
@Michael
I've updated the post with a link at the bottom I think might be relevant. As things get more and more "automated", I want to have MORE confidence that the people doing the software had a clue.
@Anonymous Alexander
I didn't publish my response - didn't feel it was worth an entry on asktom.
My response was simply:
please tell me this is a joke - please....
Haha yeah got it.
Or maybe, "what bank is this in case it's mine so I can get my money the hell out of there".
-Alexander
An awful long time ago I started out in IT - I think it was kind of a "Craft" back then. Lots of smart people from different fields, even a few with newfangled "Computer Science" degrees! To write a Computer Program you had to have taken a few Math courses.... how old fashioned is that???
I had hopes that the field would become a profession - in fact there were several professional groups trying to gain critical mass at the time. I thought that by now I'd be telling stories about being in on the ground floor of a Brave New World.
Then sometime about the time Novell Certification became a meal ticket things seemed to start unravelling and have continued ever since.
I now feel that I'm part of a "trade" and a completely non-regulated one at that. I have far greater confidence that my car will still work after it's repaired then my database will work correctly after most so called "Database Developers" have been at it.
The impression I have is that for most organizations IT is heading straight for Commoditization Hell. There's lots of reasons for this, the single biggest is that overall IT has not "delivered".
This rant could go on forever so I'll just pack it in now. I'll just finish by saying if I had kids, I'd steer them away from IT...
What has been said here is no surprise at all. In fact you could believe it might even be the norm depending on how your day went.
When I hear vendors trumpeting their "database independence" as a selling point it is no surprise that the perception of value add of the database technology to the business is reduced. Ironic given how important database technology is now to the survival of companies.
I read both of these as more a failure by management. In both cases it looks more like planning failure, not lack of qualifications on the part of the IT staff. Maybe an inexperienced PM trying to keep or get these projects in the company portfolio by keeping costs unrealistically low or senior management trying to increase their bonuses by cutting costs where they should not be cut.
@Anonymous -
definitely a failure on part of management and many times - many many times - oversold qualifications on the part of the person rendering the service.
I don't know how many times I hear "help me, I just got a contract to do X and I need to learn X now". During the interview, X would have been one of their personal areas of concentration.
It's all about demand and supply. In good times everybody can be a developer. Think of the period before Y2K. When the economy is going down, who will be the first to go?
Certification wouldn't help either when demand is bigger than supply.
Although I prefer a system being well build from scratch, it also supplies the good developers work by correcting the bad code.
The down side of it: It gives the IT world a bad name. People only remember the failures.
I have a post here that talks about a guy who has been hired as a "senior dba".
He claims he is certified, he has all the knowledge about Oracle but he does not know what to do now.
This is becoming the norm these days.
Couldn't agree more.
Hi.
First, it's good to see you posting again Tom. I for one feel better when you are active. No pressure though. :)
RE certification:
I think some readers may be confusing current IT certification with what ceritifcation could be. I do agree that the current state of IT certification is woefully inadequate, but it doesn't have to remain that way. If certification contained regular testing, hands-on testing and work-based projects, you could have some confidence in the ability of the individuals to perform a task. Both RHCE and OCM require you to sit at a server and do the tasks for real. It's difficult to fake understanding in these tests.
Regarding this specific issue. I think IT has always been populated with these types of people. The difference now is they are creeping up the food chain to the point where they can really do some damage. I have no sympathy for companies who depend on unqualified developers/DBAs. I have lots of sympathy for people who rely on these companies.
The answer must surely be some form of legislation or certification process, but I don't know what form it would take.
Fortunately for us, the database is just a bit-bucket. At best it's a legacy app. :)
Cheers
Tim...
I don't think this is necessarily fair to the people asking the question. Particularly the second person.
I have been put in positions where a client has a silly requirement (such as 99.999%) uptime and no budget. Or has the budget and wants an insane 4 node rac cluster with 3 standby databases each with 4 rac nodes and wants it install on RedHat when no one has red hat experience and no one really knows how to configure redhat to work with the SAN. Then they want to move the SAN 1,000 miles a way to a place that requires a top secret security clearance and none of us have top secret security clearances so we have no ability to maintain it onsite(the data was unclassified so they refused to clear us, since clearing us costs money). If you complain, your fired. This was for DHS if your wondering. They are complete idiots.
I had the same customer contact me the DBA on a friday at 4 PM when I was the only one in the office. Demand that I make some application server and code changes to java and have it in production that night. I told them I do not know how to do it and I would probably break something. I was told my manager I had to do it. I did it. Broke a ton of stuff. They then threatened to fire me the following monday for talking back to a government employee (DHS idiot again).
I have had managers announce architectures and want a design document. Then they want me to defend their idiotic "designs" to other people and want it all done in 3 days.
I have gotten SLAs that require 2 second response time on queries, then get queries that require rollups of 25 GB tables that require full table scans and return 50,000 rows.
I have gotten requirements to do something hard. Give one option after the other. Had a manger go "no" and because I said so for each of my options, then complain that I can't meet the requirements.
I have had managers throw fits because we hit a bug in oracle. Database goes down and why was it down? Its your fault. As if I can protect us from every possible bug we might hit.
Managers and clients often point fingers and have retarded ideas. Smart ones listen. Dumb ones dictate. Either way I have to pay the bills.
As far as the guy asking about the banking stuff. His writing is terrible. However, he is a novice and thrown into something. He has to pay his bills.
The good thing about most people in this business sucking is that those of us who are good can command MUCH higher rates. I would make alot less money if it was easy to find good people.
@Anonymous -
oh, this is totally fair.
If you are a professional, if you know what you are doing and a client says:
I have been put in positions where a client has a silly requirement (such as 99.999%) uptime and no budget.
You either
a) EXPLAIN to them reality, PROVE to them reality, TEACH them reality
b) WALK AWAY.
You do not say "oh, ok, we can do that, please sign here and start paying me"
If you want to be Dilbert and stay - so be it, but you become an idiot as well at that point (just using your term, I do not use that word myself really...)
... He has to pay his bills. ...
that does not give you the right to rip me - a taxpayer off.
that does not give him the right to rip me off.
That does not give anyone the right to do the wrong thing.
This is totally fair. If you sign up to do something that is not feasible AND YOU KNOW IT - then you are in the same class as the class you put the requestors into.
Yes, you have to pay your bills, you also have to sleep with yourself at night.
Hi Tom,
I am interested to know from which part of the world the post is from as I could not locate the original post on AskTom.
My wild guess is it is from the Asian/sub-continental region where I see this quick-fix/hurried tendency very often.
@Tom,
Its fairly common for government projects to be like this. Its also fairly common for managers to fire contractors who talk back. There is a limit to what you can do. My take is I will start to look for another job when this happens. I am not going unemployed. My next job could very well be like this. This kind of thing is very common. I can't switch jobs every 2 weeks until I find one that is not like this.
the tax payer would continue to get ripped off with someone else.
aren't you in the Oracle Government division? I am sure you have heard this? Lots of companies make stupid decisions. Fannie Mae spent $600 million on a project and failed because they were incompetent. People need jobs.
Tom,
I have to admit, you are in a position of luxury being who are, where you work, who you work with.
You pretty much the best at Oracle.
If you have a security question, you can go ask David Knox.
If you have a pl/sql problem you can ask Conner McDonald.
If you want to know how every bit and byte of the kernel or optimizer works you can ask Jonathan Lewis.
And so on....
You work with/know the best people in the industry.
Not only that, but you're a VP so you can take a developer's head off if you want for doing something stupid.
As you know, dbas are just monkeys to most people, we get very little respect.
So I think it's much more difficult for us to get the things we KNOW should be done, done.
-Alexander
Little knowledge is a dangerous thing. In this case, it applies to the management team instead. The problem is with the management team who probably have done a little development in their time and think that the way to develop software is to line up junior developers and churn out software parts and assemble applications. We cannot blame the developers themselves, because obviously they do not know what they do not know. They are at least not afraid to ask.
Hi Tom,
You say that you are "not generally in favor of "certification", ..."
As someone who has recently completed the OCA certification and currently studying for the OCP, it is a little disheartening to have someone such as yourself voice this opinion.
Are you saying that the OCP certification path is merely a money spinning exercise for Oracle and of little "real use" to those who pursue it?
I'd be very interested to hear your thoughts specifically on the OCP certification path (as opposed to certification in general).
As another OCA...
Getting my OCA cert strengthened my Oracle fundamentals, though I had already been an Oracle developer/DBA for about three years. Without this hands-on experience, you couldn't just throw me into a DBA situation and expect me to be competent, at least not without guidance. In other words, these certs are icing on the cake, but not the cake itself (to overextend a metaphor). :) OCM might be another story, though I don't see how you could complete it without years of real-world experience (Catch 22?).
OCM is way too expensive. Its not worth the money.
$2000 for the test
Test is only offered in chicago and is 2 days (if your a contractor, that is 2 non-billable days)
2 oracle classes. $600/day for classes.
So total cost
$2000
$3600 6 days of oracle classes(you take 2 short classes
$5600
Plus
trip to chicago
to days in a hotel
if your a contractor 8 days without pay(including classes)
The cost is the #1 reason why so few people get the OCM. I don't see the need for the class requirement. You could take classes on anything. What difference does it make? Its whether you can pass the test.
Good to see you back sir.
Regards
Aman....
PS: I saw your other pic which is little black and white sort of.That's really a classy one.
Ok
I am in an industry which gives very poor quality products to its customer. Yes you all know what industry I am into.
It’s the well known software service.
Consider if Microsoft starts making car. How many of us will buy it? After all they made us to hit Start button to stop. And I don’t know why windows always asks for a million conformation. "Are you sure you want to delete", "Are you sure you want to shutdown" etc...Etc...
When I switch off my Air conditioner it does not ask me such questions.
Such million conformations make the user a very lousy user. The user will never take responsibility.
I think in a way the customers is also a reason for the creation of a very bad product. They have learned to live with bugs.
The quality that a customer expects when buying a car or building a house is not the same when he buys software. We live in a pathetic world where we look for a website where we can get the patches even before buying the software. So as a customer we are in a mindset that we will get a product which will not be 100% perfect. Leave 100% we can’t even expect 70% for that matter.
Ok as tom is a database guy and most of the visitors to this site have passion for database I want to ask you all a question. How many of us know "Codd's 12 Rules". Let me simplify it further how many of us even know something like that exist. To be honest I dint know that for a while even after coming into database and even after starting extensive coding. At lest I can be proud that today I know it.
Most of us come into software development with 0% ground work. And we have a culture of learning on the Job. On the job learning is very important but learning from the scratch I feel its ridicules.
In Information Technology industry we don’t expect a person to be well educated in whatever he is going to be doing. I have seen a mechanical engineer makes his living by writing java code.
I have not seen such a pathetic situation in any other industry. How about an engineer becoming a doctor and doing surgery. We can’t even imagine it. But in Information Technology alone this happens.
It’s “pathetic” (tom remember this word :-)
Karthick.
@Karthick
Most of us come into software development with 0% ground work. And we have a culture of learning on the Job.
That is my gripe, there is no barrier to entry - as I said "If just anyone is allowed to put themselves up as a developer - everyone will. Regardless of ability, training, whatever."
This is why I'm starting to think that formal training - in the way doctors, lawyers, civil engineers are - should happen. We rely on this software stuff way too much to have it be just thrown together in the way it is. It is too important.
RE : Certification.
As Dan said, the rise of vendor/tech specific certification has harmed rather than improved the situation.
I think there needs to be a transition from the voluntary and vendor/tech specific certifications in use now to the ultimate destination of those in use for 'real' professions like doctor, lawyer, architect and accountant. e.g. A software development certification which is about skills like lifecycle development, scalability and performance, testing best practice and such like. The same goes for admin and support skills - ITIL , best practices, customer communications, change control etc.
if you add barriers to entry you need to increase wages or people will not go into software.
barriers to entry mean we have a higher cost before we get a job. I would want a higher reward.
companies are not going to pay more.
Remember doctors and lawyers are licensed in specific countries. There are no "international lawyers, licensed to work in every country". When Oracle creates software in India, they are not using people who would be licensed in the US.
@Anonymous
barriers to entry mean we have a higher cost before we get a job. I would want a higher reward.
You get what you pay for I think. If you are not getting a good reward....
Also, look at teaching. High barriers to entry, low pay. But yet, people do it. Because they enjoy it. Many people do what they do because they enjoy it.
companies are not going to pay more.
let me finish that for you:
unless they have to, and unless they are getting something of value for it.
Remember doctors and lawyers are licensed in specific countries. There are no "international lawyers, licensed to work in every country".
correct a doctor trained in your country isn't allow to practice medicine in my country, nor are your lawyers. And I would presume that is bi-directional.
So, I don't see anything preventing a corrective fix.
Certification, hm.
It's interesting to me to note that in my "new" life, certification seems to run much the same way it did in my old one. That is to say that the testing required to become certified (or in my case, licensed) has as much relevance to what I actually do on a day to day basis as the OCP exams had to do with what I did as a DBA.
But, in the end, they have a least proven that a) I graduated from an accredited program and b) that I do know something about the field I am now in.
so I'm not sure certification is a be-all and end-all answer, but it is at least a start.
Oracle has developers - how do *they* do it?
Don't we all know someone who is the best [insert software specialty here] we know
and yet they have little formal software education?
Is that the exception that proves the rule, or the observation that shows the rule is not defined
properly? In this case, the rule being 'one must have proper formal training to be a good software person.'
Maybe things have changed since I came up in the ranks, I don't know. Maybe being popular and lucrative and
a large population have attracted more passionless workers. Maybe there has always been a stratification,
with realtime or safety-critical systems having a higher barrier, and the comp.risks-worthy screwups are simply
more rare and newsworthy. I think my favorite was the Airbus autopilot that would go into rollercoaster mode.
I have known banking software experts who I wouldn't trust to hold my wallet while I use an ATM, but have
seen they really know their coding. While I can see the issue with a newbie asking about mobile computing,
maybe there are some management controls that we aren't seeing in the technical query. And it's banking - everything
can be fixed post-screwup, right? Assuming that basic transaction rules would not make it into production
based on what was posted here seems a bit much - though I'm sure stupider things have happened.
But why does blogspot now blow off the post in progress every time it refreshes the word verification? Sheesh!
-- quote
Anonymous said....
My wild guess is it is from the Asian/sub-continental region where I see this quick-fix/hurried tendency very often.
-- end quote
oh yeah?
that dude either works for one of those Nigerian banks or one of the banks specializing in home mortgages.
Tom,
This does not surprise me at all. My prime hired a "Senior Systems Engineer" about a year ago who is an OCP. First I was thinking, great I got some help now. But no, a week or so after he starts I get an email asking. How do I create a user in the test system. So, I send him the standard roles for new users. But he replies, you don't have enterprise manager running, that is the only way I know how to create a user. So I take a deep breath and grab one of the tens of SQL quick references that oracle gave out years ago in training and handed it to him and turned to the create user page. Sadly he still does not have a clue.
On the OCP issue, I have not taken the OCP because anyone can take a multiple guess test. But I have heard the OCM test is difficult and you actually need to study for it.
So, as a public service announcement you can blog on just what does someone need to study to pass the OCM. I have been using the outline on education.oracle.com as my guideline.
Later,
-Rob
Morning all (timezone dependent)!
There's been some really interesting posts here around certification (self/industry/employer) and I think we're in more of a problem these days than when I began working on Oracle 11 years ago.
Then all I had to learn was SQL, PL/SQL, Shell Scripts and the odd tool like Forms 2.3 and Oracle Reports
Certification at that time could have been credible.
However, I now work with an additional multitude of languages and tools including Java, XML, BPEL, Web Services, Workflow, BI Publisher, Identity Management, ADF, Web Center etc......
Certifying against all of those would be a nightmare. I've no solution, but I agree with the postees that suggest more rigorous interviewing and post interview monitoring by employers would help.
Most of my previous interviews have barely included a technical question, taking my CV on complete trust.
There's such a pressure on new developers to come up to scratch on the myriad of skills required these days, that I'm so glad I've had this long to gradually extend my portfolio.
Perhaps Oracle/Sun should sponsor a diploma or such like in 'Oracle Development and Architecture'. I think 1 years solid learning would see new Developers hitting the market running if not sprinting!
Chris
The anonymouse poster who listed the myriad list of skills required by a developer these days, makes me think that part of the current problems is the expectation that one person can acquire and maintain skills in all these disparate technologies. It is possible to be jack of all trades with these, but as the poster alludes to, is it at all feasible to be master of them enough to be certified in them all?
To me the answer to that question is that most IT developments are just plain under-staffed and this affects quality as much as the kind of developer this post was originally about.
Hi Bob
You are right. I don't pretend to be certifiable (in the skills definition of the word) in all of these areas. It's just not going to happen.
The projects I tend to get involved in do require a lot of different skills and for developers and architects to understand all of them in order to design effectively.
However, I do on a regular basis bow to subject matter experts where my knowledge comes up short.
So, there's part of the rub. Maybe certification in core skills is achievable and we should be more honest about whether we do possess a 'skill' or a 'basic understanding'
Thanks for your reply.
Chris
No bother Chris, I'd like to point out though that this was no criticism of yourself. I can relate to the need to know a lot of different technologies. And, as you say, the depth of that knowledge varies wildly as we are only human.
I just feel that organisations are so possessed with the pursuit of growth at all cost that their short-term attitude, by necessity, implies that we all have to be jack of all trades in a way that makes professional certification in anything other than general techniques a virtual impossibility.
Rob said...
On the OCP issue, I have not taken the OCP because anyone can take a multiple guess test. But I have heard the OCM test is difficult and you actually need to study for it.
If it is so simple, I suggest Rob pay the few dollars and take the OCA test. In my experience, these tests are structured in such a way that it would be practically impossible to "guess" at multiple choice questions and still manage to get the 70% or more pass mark required without having an understanding of the material.
Tom
I believe that the rant of yours is related to the current trend - at least in some parts - that believe that a person should not be "managing" a technology department if he is "too technical".
Maybe I don't understand what that truly means. But I believe what this results in, is hiring of developers or DBA's that haven't a clue on what their trade is and then perpetuating the buzz words that they hear from the top and working towards that becomes their direction.
I am sure, as I believe you must too, that certification with these set of people in charge will not lead to any better situation.
Hi!
I think that this comes from waterfall methodology and HR hierarchy, that software development is the most "easy technical part" and developers are in the lowest level of company hierarchy. Many times I have seen talanted people runing away from software development to project management, or other management related work - like "Outlook routers". ;-)
Because developers are less paid, compared to analysts, and other blabla nice looking dudes, but at the same time they are responsible for final result, bugs, all the consequences and everything.
That's why developer should be some kind of sado-mazochist, everybody can blame you.
Everybody wants highly skilled developers preferably with 2 high schools, master degree and at the end you have to compete in free market with the India, China and in the company hierarchy you are in the same level like cleaner. ;-)
The fact that any organization is hoping that one person would be able to design, develop and implement a mobile banking application itself indicates the source of the problem. Can you believe it? I don't.
I personally think that the poster of such question might be just a free-lancer trying to get his foot into some place to make a quick buck. He might be a low level employee trying to make an impression on his boss. He obviously has limited knowledge of application development, let alone DBA activity.
I can only pity the person. If he really works for a company, I pity the company more.
There are tons of excellent DBAs and developers out there without any certification, just a keen sense of being able to pick the right solution, right technology.
Tom this is the new world I live in. I've got 19 years of Oracle experience and I build very complex system only to hand them over to Jr. people that have little or no experience because nobody wants to keep us expensive experienced people around. I just handed over a new 24x7 HA production system to a DBA with 4 months experience. He did not even know what DataGuard was.
Tom, Tom, Tom ....
Your statement about "doing the right thing" and teaching the customer/gov't agency that X can't be done so you can sleep at night (even if you can't pay the mortgage/rent is ridiculous!!! Maybe that's how it works if you're Tom Kyte (which, ok, you are! :) ... but we are not!
If I were to "teach" the customer that X can't be done, as the senior dba on the project, my subcontractor would lose their spot on the contract and dozens of us (dbas, developers, graphic designers, business analysts, etc.) would be at the unemployment office!
We can recommend what not to do, or what can't be done, but that's it. They own the keys to the car, we just try to drive it. As long as we had written warnings, we're covered. Warn & move on!
Thanks for the asktom website! It's awesome!
Mobile banking? Wasn't that what Bonnie and Clyde were doing?
I completely agree. I am truly astounded and the statements I have read in the beginning of this blog. I have been a developer for over 20 years, I know what it takes to do it and do it well.
I cannot believe there are actually people out there passing themselves off as developers and dba's with such clear level of incompetence and ignorance as what I have seen here. Are you kidding? My first impression was that this must be some kind of joke.
What happenened to the company actually checking out these people before bringing them in. I guess there are alot of companies too who do not really know what a good developer/dba is or how to recruit one. During the recruiting process, the candiate should be screened by the company's best and most seasoned IT Personnel - That's if they have them. Good IT professionals can recognize other good IT professionals.
Good developers have real aptitude for programming and have plenty of hard experience developing that talent. They are seasoned and disciplined. When interviewing, I look for the the talent and experience in a candidate, I structure my questions to see how a candidate may have been confronted with a difficult problem, how did he solve it? What resources did he draw on, his experience, creativity? What were the results? If he/she truly has it going on, he/she will be able to tell you in detail. Ususally for more than one occasion.
The languages and skills and education very important but the talent and experience is the most important. Having those qualities, a developer is pliable, teachable, able to adapt to new languages, platforms, systems and environments. They have great potential to be utilized and developed for the organization and the developer. They become a real asset to the company. Not just an employee but a real investment in the success of the company and it's IT Organization. An investment that will have very high returns.
Most developers I have known that have gotten into this line of work just for the money are miserable, do very poor quality work do not last. I have come into companies behind many of them. When I was consulting, I always had a job.
I am certified in addition to my education and experience. I think that has value, I learned things about Oracle Forms, Reports, Databases, etc that I did not know. It is useful and nice to put on your resume, but in no way an indicator of talent, skill, experience and potential.
I will need to read those statements again - wow.
Tom,
I agree that experience and sound thinking is far more valuable and important than certification. Of course standards and apprentice like training would help the technical arena quite a bit as well.
However, sad reality is many hiring managers and human resource folks look at the OCP as the gold standard to judge a DBA candidate versus actual verifiable experience in the field. Clients are this way as well and so many assume that an OCP is better than an experienced DBA without the certification.
Do we really need a new certification authority for such basic standards? I would disagree; even now almost every university has a Bachelor of Software Engineering, and every Engineer should go through a phase of apprenticeship where some essential frameworks are learnt. For example, see my former uni requirements:
http://www.engineering.auckland.ac.nz/uoa/engineering/undergrad/practical_work/departmental_requirements.cfm
That being said, a tendency with IT, since it's so popular, is that multiple departments, even at a single university, can be spread out across multiple departments. At the above Auckland Uni we have:
1) Computer Science at the Science department. Typical papers are Java programming, algorithmics, discrete maths, compilers & OSs...
2) Software Engineering at the Engineering department. This would encompass IMHO a good mix of papers for an IT practitioner (as opposed to a pure acamedic/scientist)
3) Information Science (i.e. Business Computing) at the Commerce department. Interestingly enough, papers such as System Analysis and Databases are also taught there too!
Strangely enough, CompSci and IS are 3-year courses, whereas SE takes 4 years (same as other in Engineering departments). So... given that 99.X% of companies wouldn't make a differentiation between the above degrees, guess which courses are more popular with students. Of course, it's the shorter ones - 1 year of working full-time vs. 1 year of extra student loans IS an important factor. Students with no background experience can't appreciate the importance of more methodical approaches taught at the Engineering departments, so anyone who breezes through less formal courses, and then are employed by cowboy software houses is likely to remain ignorant forever...
Now, take into account how many IT professionals don't even have related Bachelor's Degrees, but rather some diplomas, often from dodgy institutions, or completely non-IT degrees... Having a .Net/Java/Oracle/XXX certification can be enough to get into a junior programmer position, and after a few years of experience almost nobody cares about your formal qualifications.
To sum up, I see the following as global and fundamental problems in the academia/industry
1) Companies (especially HR and middle managers) ignorant about the importance of structured, quality learning
2) Academic institutions under pressure to deliver shorter, "cost-effective" courses
3) Big software vendors much more interested in academic institutions producing students who know their proprietary tools rather than knowing the right approaches to developing software. Of course, for their own employees, they use different standards ;)
Nothing that the late Dijkstra didn't observe 30 years ago... :(
PS:
Lastly, here's an interesting question straight from Gates:
http://www.linkedin.com/answers/technology/information-technology/computers-software/TCH_ITS_CMP/179866-21879399?browseIdx=6&sik=1208759599410&goback=%2Eama
Does he really believe that quantity is an issue for the industry today? Isn't it quality? I think he knows well enough, but quantity means more licenses, certifications etc, whereas quality means... fewer MSoft products? ;)
Hm, and I was just about to dip my toes in your sea-sized oracle-ish wisdom and ask you how to break into the oracle field, given my 9i oca certification and almost one year experience.
I guess you have some sort of alergy to newbies that'll make me to refrain from further tackling the subject.
Just curious -- did the person who posed the "requirement" have by any chance Oxx certification?
@Anonymous
I have no allergies to newbies. Did you read the original post - that was the entire sum of it (and no, no mention of any certification or training at all).
That is beyond newbie. Newbies asks "how to get started". While I've answered that a hundred times - I would still answer it again today - probably just with a link to a previous answer on asktom.oracle.com (by searching for 'how to get started' for example)
What I cannot stand, won't stand for is people that say "yes, I fully understand that what I'm doing is unreasonable or wrong, but I'm going to do it anyway"
"I need your help on how to write applications for mobile banking" - yet I am already a junior DBA, and I am already an application developer. Anyone that is a professional in our industry would never ask such a question - it demonstrates a total "way in over my head" situation.
Newbies - bring them on. This ilk - no.
Hi Tom!
Unfortunately we all have to deal with these kinds of questions. My answer is just a sum of some other questions - like: "have you thought about this and that (security, performance, identity management, etc)" and send them back to their boss. After a while they will find out that their "one-click-solution" will never work.
If I have access to their bosses I take the time to talk them through the ins and outs of software development. Open their eyes - and prevents you getting dragged into a problem that should never arise in the first place.
this is IT world where we live right now: http://www.youtube.com/watch?v=uBdvpW3D_H0
;-)
tought this pictures would interest you...
http://karthickarp.blogspot.com/2008/05/bridge-is-falling-down.html
I think you guys should stop criticizing such DBAs, most of them are in developing countries where I.T is just gaining grounds, uyou should try to be supportive and give encouraging wors.
Give usefultips, hints and tricks and also manuals to be recommended to help the beginner DBAs, it is only then we can help proud of what we are and what we have built into others.
Do assist the DBAs involved
THIS MESSAGE GOES TO TOM KYTE AND OTHERS.
I've seen this happen many times over the years. People sometimes succeed just through dumb luck. The system didn't crash or need to be taken down for an entire year. Management or users then think it's possible to have 24x7 and 99.999% uptime without any effort. The DBA quits before anything fails. The new DBA then figures out he's on the hook for something that isn't possible to guarantee.
This is the same behavior you get from people who live in a flood plain without flood insurance.
"
I think you guys should stop criticizing such DBAs, most of them are in developing countries where I.T is just gaining grounds, uyou should try to be supportive and give encouraging wors.
"
Brain surgeons should also encourage their junior counterparts from developing countries (who don't know what they're doing) with useful tips, instead of being critical of their work.
I think this view is very patronizing of both our profession and of people in developing countries.
BTW, while the problem may be more present in developing countries, it's very endemic in the first world too.
After reading the whole thread, I feel most of the people here are just as naive as Tom. Why?
The real world is quite different from the one that most of you guys, imagine. How many companies, or individuals, the software users, or IT services users, are trying to get what they need for FREE. FREE. As to quality, what quality? All software are the same quality, no? all IT guys are too expensive in their opinion...
Is it wise? Not in my opinion. They may eventually learn it the hard way. But it's part of the real world, for many many business owners, the game is to spend on IT as little as possible... just like they pay for the cleaning... or even less than...
@Anonymous
Please explain 'as naive as tom'. What do you mean by that - as I see it, we seem to be saying basically the same things. So, if I am - so are you.
Tom, I know we are saying the same things and not naive, some times we are just too serious about our profession.
I suddenly thought about this, to answer the five nines no budget question, how about this, "I would want to know how to do that too for a very very long time..." :) and I swear many others also want to know the answer too, because that's a millions dollar answer if there is one. 5 9's for free. That type of question always gets me a good laugh, makes my day... :)
@anonymous
some times we are just too serious about our profession.
the flip side to that of course is "we don't take it seriously enough other times"
Looking back at the question, I don't see naivety anywhere - I see me having a reaction to the sentences "we want HA", "we want it for free".
That is not being naive on my part, it is being totally frustrated by completely unrealistic expectations.
These question are quite tragic.
They should have anticipated the nature of the job before they have taken it.
I guess people nowadays are only focusing of having a work without thinking how will they do their jobs well.
POST A COMMENT
<< Home