Skip to main content

Getting started: Sharing your Oracle Database Developer experience

Last week, I was emailing back and forth with Paul, who is a senior developer/architect at a major financial firm. He is widely respected within the company, a valued resource for many development teams. He has also garnered the respect of the PL/SQL development team.

Yet Paul is not well known outside of his company. He does not use Twitter, does not have a blog.

I encouraged him to share his knowledge publicly and he asked me: "How should I get started?"

My first instinct was to say:
  • Register on the OTN Community!
  • Start a blog!
  • Start a Twitter account!
  • Set up a Facebook page!
  • Join LinkedIn!
  • etc.
etc. But then I reflected back on the effort it's taken me, "Oracle celebrity" me, to build up my Twitter following, get people to read the posts on my blog, and I decided to hold off on the instinctive response and instead ask myself:

How can someone who is technically strong but without name recognition contribute to the community in a way that doesn't feel like a waste of time (as in: "If a tree falls in the forest and no one is there to hear it....")?

So here goes:

1. Sure, go ahead and make sure you are fully social media-augmented. Create a Twitter account (and follow me @sfonplsql and oddly enough @stevefeuerstein). Create your Facebook page. Create your LinkedIn account. Make sure you are registered in the OTN Community. Etc.

Then follow people you respect who are present in these ecosystems. This is an incredibly important thing to do for all Oracle technologists (by which I mean: follow me! :-) ). Compared to many other programming communities, Oracle Database developers (SQL, PL/SQL, etc.) are not present to great numbers on Twitter. This means that the "big names" in this same arena lag behind the counts you will see, say, in the SQL Server world. 

And that sends the wrong signal about the vibrancy and breadth of our community. It's a numbers game and we need all of you to "be a number."

2. Make yourself heard on existing forums and popular accounts. Basically the advice "Go where everyone is and participate". 

Once you follow enough people on Twitter, you will have ample opportunity to read and respond to tweets in your area of experience. Ask questions, add nuance to a tweet, share your specific experiences. Go to StackOverflow and take a shot at answering questions. 

Do you read blogs of your favorite programmers and authors? Enter comments on their posts, adding your experiences, asking questions. Bloggers love getting comments and love answering questions. 

3. [With all proper approvals from your employer] Contribute to or otherwise support open source projects for Oracle Database developers. While open source doesn't play a very big role in our lives now, it can only increase over time. Check out the following:
  • OraOpenSource - "Build great open source products for Oracle."
  • Alexandria Library - "A collection of various utility packages for PL/SQL, as well as links to useful libraries hosted and maintained elsewhere."
Don't expect your life to be changed overnight. It takes time to be noticed in a world in which everyone has a voice, and we all go on and on.

Do you have other suggestions for getting started, building a following, sharing your expertise? Please, then, post a comment!

Comments

  1. Thanks Steve, An interesting post. This helped push me over the edge and I decided to take the plunge and have started a blog about sql tuning.
    https://community.oracle.com/people/n1ckst/blog?customTheme=otn

    ReplyDelete

Post a Comment

Popular posts from this blog

Running out of PGA memory with MULTISET ops? Watch out for DISTINCT!

A PL/SQL team inside Oracle made excellent use of nested tables and MULTISET operators in SQL, blending data in tables with procedurally-generated datasets (nested tables).  All was going well when they hit the dreaded: ORA-04030: out of process memory when trying to allocate 2032 bytes  They asked for my help.  The error occurred on this SELECT: SELECT  *    FROM header_tab trx    WHERE (generated_ntab1 SUBMULTISET OF trx.column_ntab)       AND ((trx.column_ntab MULTISET             EXCEPT DISTINCT generated_ntab2) IS EMPTY) The problem is clearly related to the use of those nested tables. Now, there was clearly sufficient PGA for the nested tables themselves. So the problem was in executing the MULTISET-related functionality. We talked for a bit about dropping the use of nested tables and instead doing everything in SQL, to avoid the PGA error. That would, however require lots of wo...

How to Pick the Limit for BULK COLLECT

This question rolled into my In Box today: In the case of using the LIMIT clause of BULK COLLECT, how do we decide what value to use for the limit? First I give the quick answer, then I provide support for that answer Quick Answer Start with 100. That's the default (and only) setting for cursor FOR loop optimizations. It offers a sweet spot of improved performance over row-by-row and not-too-much PGA memory consumption. Test to see if that's fast enough (likely will be for many cases). If not, try higher values until you reach the performance level you need - and you are not consuming too much PGA memory.  Don't hard-code the limit value: make it a parameter to your subprogram or a constant in a package specification. Don't put anything in the collection you don't need. [from Giulio Dottorini] Remember: each session that runs this code will use that amount of memory. Background When you use BULK COLLECT, you retrieve more than row with each fetch, ...

PL/SQL 101: Three ways to get error message/stack in PL/SQL

The PL/SQL Challenge quiz for 10 September - 16 September 2016 explored the different ways you can obtain the error message / stack in PL/SQL. Note: an error stack is a sequence of multiple error messages that can occur when an exception is propagated and re-raised through several layers of nested blocks. The three ways are: SQLERRM - The original, traditional and (oddly enough) not currently recommended function to get the current error message. Not recommended because the next two options avoid a problem which you are unlikely  to run into: the error stack will be truncated at 512 bytes, and you might lose some error information. DBMS_UTILITY.FORMAT_ERROR_STACK - Returns the error message / stack, and will not truncate your string like SQLERRM will. UTL_CALL_STACK API - Added in Oracle Database 12c, the UTL_CALL_STACK package offers a comprehensive API into the execution call stack, the error stack and the error backtrace.  Note: check out this LiveSQL script if...