The slide showed the skill sets needed by Developers and DBAs. He suggested that there was a partial intersection in skills.
DBAs | Developers |
Operations | Algorithms |
Resource management | Languages |
Troubleshooting | Frameworks |
Physical data design | Design |
System interfaces | User interfaces |
Data modeling | Data modeling |
SQL optimizer | Debugging, profiling, tracing |
Oracle product features | Business-domain processes |
Personally, I'd match up the developer's Debugging skill against the DBAs Troubleshooting. Both are forms of problem resolution, but the developer's focus will be on algorithm/process with the DBA responsible for the Operations.
I like the thought that both need to understand data modelling. I'm not convinced where the Developer's responsibility for the data model passes to the DBA, or whether there is an analyst/architect/designer column missing. It probably varies between organizations. DBAs are definitely responsible for tablespaces and file concepts. Constraints and indexes fall into a DMZ between the two. I recall getting into a heated discussion with HJR on the old Dizwell forums about whether the DBA should be able to make constraints deferrable by default. I still think constraints are a 'logical' concept arising from the business model.
System interfaces are about the only other area I'd be fuzzy on. I'd still put these as heavily 'business/process' constructs that sit with the developers.
Any major skill sets missed ? Anything in the wrong box ?
4 comments:
Developer skills have Debugging, profiling, tracing. What should they do, if they don't have privilege for debugging, profiling, tracing?
It is understandable if the developer doesn't have ANY access to production, let alone something like profiling. Then it is up to the DBA to supply the developer with data if they need to work on an issue.
If a DBA won't give those privileges in a development environment, then it is a case for negotiation, bribery or managerial intervention. You can only work within the constraints you are given.
Hi, I am a developer and think, it is very important to have knowledge about the SQL optimizer, too. I work a lot with SQL queries and to avoid bad performance at an early stage I need informations about the design (table partitions, indexes) and experiences about the optimizer behavior. Then the optimizer knowledge of the DBA normally isn't used often. ;)
Post a Comment