So for some reason, our New Hire Program invited me BACK to talk to our newly hired developers. I had an hour to talk about our development tools, but I wouldn’t call it training really.
My colleague Joel does an actual 2 hour lab teaching them to use APEX – that’s closer to REAL training.
So given an hour, and being the lead up into the lunch hour, what should I say?
I like bully pulpits, so I relish these types of opportunities.
What would you tell someone who was brand new to Oracle Database or just starting out as a professional developer? I’m NOT a developer. I’ve never been a developer. However, I have worked closely with development teams and I think I’ve picked up a few nuggets that would help folks a bit.
Here’s what I talked about, mostly:
If you can do it in SQL, DO IT IN SQL
In other words, don’t pull out the data and process it locally. Keep the workload in the database as much as possible. We’ve spend lots of time making that engine as good as possible. And people pay good money to use that engine. So use it.
Don’t write SELECT * statements
You don’t need all the columns. And if you do, type them out anyway. The columns in the table could change, either in number, name, order, or all of the above. Corollaries to this include, ‘always use a WHERE or HAVING clause.’ The fastest query is the query you don’t run. But the less data you ask for, probably the better. Again, don’t just grab everything in case you need it later.
Bookmark AskTom right now
I paused for a few minutes until they all went and did it. If nothing else, hopefully this bit will do the most good You know AskTom, yes?
Analytics and Regular Expressions are your friends
I went up right after our Analytics guru Hermmann Baer had been up talking about Analytics. I was very happy he did that. So I hit them over the head again with how important it is for them to be at least AWARE of analytic functions in SQL. How many times has this been the answer to your challenging SQL puzzle?
Need help tuning a SQL statement? Let the database help you.
This requires a big disclaimer if you’re in ‘the real world': be sure you’re licenced for the Tuning Pack before you ask the SQL Tuning Advisor for help. And of course, validate and test any findings before you check stuff in to source control.
Tools are there to help you.
Debuggers, profilers, formatters, all that fancy IDE stuff – it’s not there to give you more work. It’s there to help you solve problems and do more work in less time. You don’t need to know how to use all this right away. But be aware that it exists so that when you do need it, you don’t try to re-invent the wheel later.
I said a lot more than this, but this is the stuff that’s fit to print. And I of course realize there are many exceptions perhaps to these ‘rules.’ But it’s what I thought a group of 22 year olds might be able to remember and actually do something with.