I Want to Be Better Than Tom Kyte
OK, that got your attention. Somehow I knew it would.
I believe
Mr. Kyte to be one of the foremost experts at Oracle development. His solutions are usually simple and concise. His philosophy is simple and concise; logic belongs with the data (in the database), don't reinvent the wheel if we've already created it (using supplied packages) and keep it simple. Of course Mr. Kyte may have objections to some of that, but that's the general idea I have gleaned over that past 5 years.
I am very competitive
1. One of the reasons I got into IT in the first place was that I didn't like this whole group of people knowing more than I did.
2. I grew up playing baseball, I liked being better than most of the other kids. I still believe that if I hadn't drank away my opportunity in college, I'd still be playing.
3. I'm an only child, I'm used to the attention and crave it. How do I get it now? By being better than everyone else.
My goal is to be the best developer in the world
Will I ever achieve that? Could it even be measured? Is there some sort of Oracle developer competition out there?
Perhaps I should start small...be the best Oracle developer at WellCare, then Tampa, Florida, the U.S, North America, Northern Hemisphere and finally the World!
I am probably
not the best Oracle developer at WellCare, so I have a ways to go. That's what drives me though. Trying to be the best. I'm surrounded by a lot of smart people which is a good thing. No...a great thing. I've been the lone wolf developer for too long. Now I have the opportunity to learn directly (as opposed to just reading) from others. There is give and take. Sometimes my solution is the best and sometimes it is not.
I don't believe my competitive nature interferes with my interpersonal relationships (I hope not anyway). It is more of an internal thing to me. Once upon a time I was skinny and in shape and I did triathlons. I wanted to be a pro (laughable). Each time though I tried to outdo my previous performance. Did I want to win? Sure I did, but it was more important for me to improve.
I believe that I am strong enough to take criticism from others. I can admit when I'm wrong (see countdown timer above).
I do want to be the best. I'll probably never have the opportunity (nor the time) to do what
Mr. Kyte has done. I'm not going to strive to be mediocre though. Whether I realize that goal or not is mainly irrelevant, but that is my goal...to be better than Mr. Kyte.
Labels: database, development, nerd, oracle, work
Code Style: General Principles
I have always wanted to put together my personal code style guide. Now that I have a blog, I can do so rather easily.
This will be the first among many that details my approach to coding style. Yes, it is very particular to me. No, I don't expect anyone in their right mind to follow it. Though perhaps someone can use it as a general guideline.
I am fairly fanatical about style.
Parenthesis go on separate lines, always (I'll eventually contradict myself I'm sure). None of this my line starts with a comma crap. My only concession is that it makes commenting out lines easier. Otherwise, I can't stand it. It's ugly to me and I don't like ugly.
Tabs = 2 spaces
CREATE OR REPLACE is the top line followed by the particular object on the second line (I don't know why, it's my style though).
CREATE OR REPLACE
PACKAGE p_package
IS
...
Always put "show errors" at the bottom of procedure/function/package scripts.
Always end your procedure or function with the name after END.
CREATE OR REPLACE
PACKAGE p_package
IS
...
END p_package;
/
show errors
Align SELECT statements left, not right:
Evil
SELECT blah, t.id, s.x
FROM t, s
WHERE t.id = s.id
AND t.x = s.x;
Correct
SELECT
blah,
t.id,
s.x
FROM
t,
s
WHERE t.id = s.id
AND t.x = s.x;
I believe but can't confirm that Toad Formatter is the main perpetrator of this travesty.
Instrumentation. Use lots of it. Home grown or
Mr. Kyte's debug routine. You can also use the Oracle supplied package DBMS_APPLICATION_INFO. I have gotten into the habit of using set_session_longops and it helps tremendously in monitoring those pesky long running datawarehouse programs.
Be liberal in your use of spaces: ADD_MONTHS( TRUNC( SYSDATE, 'MONTH' ), 2 )
Capitalize keywords like SELECT, INSERT, UPDATE and DELETE.
Standard functions should also be capitalized.
I'm sure I've got more and I'll add them here as time goes on.
Labels: development, discipline, nerd, style