News, views, tips and tricks on Oracle and other fun stuff

Are You Just a PL/SQL Developer?

In an email he sent to me last week, Jason William wanted to get my thoughts on the future of Oracle PL/SQL. He wrote:

Will PL/SQL still be a big skillset in demand? Or will it convert to Java (Oracle seems to pushing a lot of middleware with Java?) I was just curious because talking with some friends, alot seem to think Java is being pushed pretty heavily by Oracle… I am always curious as to what the future holds and what [Oracle] skillsets I should learn.

Jason also forwarded this LinkedIn thread in the Oracle SQL and PL/SQL group, in which Bob writes:

What keeps PL/SQL developers up at night? What technologies are you most worried about? Excited about? Is enhancing and extending the value of your PL/SQL skills a top priority for you?

Scott chimes in:

I know that my problem is simply trying to get a handle on all the new technologies and guess which one(s) I need to invest my time and money in. Is it even possible to be “just” a PL/SQL developer anymore?

Scott has a point. Nowadays, being an Oracle developer means more than just knowing SQL and PL/SQL (which is always expected from an Oracle database developer). If you really want to enhance your “Oracle developer” career you have to learn and have experience with other languages and technologies. For example, it’s important to learn XML and related technologies, Java and Web technologies (HTML, CSS, JavaScript…), and others.

What do you think? is knowing just PL/SQL enough to have a successful career? What does being an “Oracle developer” mean to you? What advice do you give to Jason?

Filed in Oracle on 15 Dec 08 | Tags: ,

Reader's Comments

  1. |

    My advice to our programmers is to learn new programming languages all the time (e.g. learn new language each year). Even if you will not use it frequently it will make you better programmer in your current languages.

    In our organization it is quite hard for me to change PL/SQL programmers thinking and to understand object-oriented programming (in our case we are using Ruby more and more). Those PL/SQL programmers who has not done object-oriented programming continue to write procedural code in Java or Ruby and result is quite bad.

    Similar issue is with scalability and performance – quite many PL/SQL programmers believe that the key success factor for writing performant and scalable applications is just to write good SQL queries (maybe with some hints) and Oracle will handle all concurrency. And it is quite hard to convince that nowadays when CPUs and memory are cheap then it might be better to offload intensive processing to cluster of application servers and it is not the best idea to do all processing just in database.

    So my advice is to learn both object-oriented programming (Java, C#, Ruby, Python etc.) and for advanced programmers also concurrent programming languages (e.g. Erlang, Clojure) as well.

  2. |

    I only know of one programmer who is just a PL/SQL programmer – Steve F. If you stretch the term to include Application Express, which is, after all, written in PL/SQL, then you would probably find some others. On the other hand, PL/SQL is still an essential skill for database developers, and will be for a long time to come. Oracle is still pouring resources into enhancing the language, and there are significant improvements in PL/SQL 11. Also, there are trigger languages for MySQL and PostGresSQL that are remarkably similar to PL/SQL.

    By the way, Raimonds, your PL/SQL programmers ought to learn the object oriented features of the language they already know. These are good and getting better.

  3. |

    I agree with John that PL/SQL knowledge is a key skill for all developers working with Oracle databases. But I don’t think it’s really possible these days to stick to being purely a PL/SQL developer. There are many out there but I personally think they need to broaden their skill sets to survive long term.

    I came to PL/SQL from a Java background. Working on a number of projects using Oracle, I felt I had to become knowledgeable in PL/SQL (and more generally in depth in terms of how Oracle works, memory structures, locking, multiversioning etc etc) in order to be able to do my job properly. To communicate effectively with DBAs and experienced PL/SQL developers I needed to expose myself to their domain. It also helped me to address problems in ways I might not have otherwise considered. However, I know of many ‘middle-tier’ developers that don’t appreciate the power of the db and prefer to use it as a bit bucket.

    The same goes the other way, database developers need to have an understanding of the technologies that will be accessing the db in order to best decide how to approach a particular problem.

    I like to continually learn and keep current with new ideas and technologies. I can’t claim to be an expert in all of them (I’d like to think I could in a few) but staying current at least helps me hold my own when challenged in any discussion.

  4. |

    I love to talk about new technologies and trends. What is the future going to hold? What new interesting things should I learn? That is something I love about IT.

    I originally posted this question to Eddie because as my career moves on, I really have found a love for developing. There is a creativeness to it that I really enjoy. It is like a puzzle, but there are many ways to complete this puzzle.

    I really enjoy hearing others input on this matter. It gives me some ideas and areas to focus on in the future.

    Thanks again Eddie for all your help and hard work.


  5. |

    I hardly know any PL/SQL, just barely enough to get by. It’s only a problem were I to want a PL/SQL coding job, which I don’t. From what I’ve seen, I’d advise young’uns to learn it well, especially if they want a career path to DBA work. But for me, I’ve found more than enough work in tuning, consulting, and various other skills together with DBA skills for all economic conditions. Put another way, this “DBA 2.0” stuff is something I’ve done all along. It’s been a very long time since I’ve had the patience to just code all day every day.

    And if you have multiple skills, the combination of obsolete skills plus the skill o’ the day can mean big demand.

    PL/SQL is not going away any time soon, and the trend is still towards it for DBA’s and the reinvented square wheels they have to fix.

  6. |

    I agree with Raimonds: “My advice to our programmers is to learn new programming languages all the time…”

    I’d include “development environments” in that advice, which does not include new tools like SQL Developer, but does include Application Express. John Flack implied learning Apex was a stretch in the definition of a language, but I’d strongly disagree. Apex uses PL/SQL but knowing the latter won’t give you all you need to know with the former. Just like knowing SQL (even from another db) will help you with PL/SQL but it’s a totally different set of tools to learn.

    I’ve been a professional programmer for 25 years and Apex was my 14th language/development environment. My motto is “keep learning new stuff or become a dinosaur (and die)”.

  7. |

    I believe there is the possibility of overshooting many PL/SQL developers with the steady stream of new languages, frameworks, technologies, etc. especially in the enterprise, and especially in tight budget scenarios.

    As a big believer in disruptive innovation, it seems there is a ripe market opportunity for new tools that target “just the PL/SQL developer” and allows them to deliver richer web apps to business users by leveraging what they already know. In this way, IT management also gets more out of their existing investments in technology and people as well.

    Nothing wrong with those who continue to learn all the time. I am one of those too. But the PL/SQL experts are a valuable resource that can do a lot more on their own with the right tools.

  8. |

    […] blogged about a new disruptive technology for PL/SQL developers, so the following discussion on Eddie Awad’s Blog (and the related conversation I started on a LinkedIn Group ) caught my attention because it […]

  9. |

    It’s not that I’m not technically competent to learn new technologies (I’ve been doing it for the past 18 years), it that’s I just don’t have the time (or patience) to keep doing it over and over and over. The pace of new UI languages has been increasing at a blinding pace. I’ve gone from Desktop Apps, to basic HTML, to Web 2.0…lots of languages to build the UI, but it recently occurred to me that all this time, all my applications have pointed to one, stable, constant backend…the Oracle database (for nearly 20 years!). Rather than everyone put all their time and energy into the front-end that changes constantly, put your energy into the stable side of the enterprise system. Just put your AJAX, FLASH, etc features into PL/SQL APIs to serve up your enterprise data as Rich Web Applications.

  10. |

    Very well said Jackof-all-software.