A question that comes up very often when I advise individuals and organizations about how to use Oracle technology is “What is the future of PL/SQL?”.
The answer is that PL/SQL is not growing, but not going away either. Because it is used in the Oracle database, and the Oracle database is a fixture of enterprise systems world-wide, it will outlive you. High-performance batch processing has to happen close to the data, so PL/SQL will continue to rule in this area. But everything else we are doing in PL/SQL can be implemented in other layers, other tools, and other programming languages.
That’s why it has a yellow horizontal arrow on oratoolwatch.com and has had for a while.
The Market for PL/SQL Programmers
The value of a skill depends on the relationship between the number of people with the skill and the number of jobs requiring that skill. For PL/SQL, the amount of work is constant, but the number of people with PL/SQL skills is declining.
Right now, PL/SQL is not a highly paid skill, as the following yearly salary data (U.S.) from indeed.com shows.
However, PL/SQL programmers are leaving the profession – they become managers, change to a different technology, or retire – and new people are not joining (yet). When was the last time you saw a young PL/SQL programmer?
By 2020, the salary of PL/SQL programmers will have gone up as the scarcity sets in. By 2024, PL/SQL programming will have become a highly-paid specialty (like COBOL is today), and the salary increase will tempt new developers into the field.
What Does That Mean for Managers?
If you are an IT manager, you are likely to have enough PL/SQL programmers today. But it will become increasingly difficult to replace them. In poker terms, you have the choice of either calling or going all-in with PL/SQL.
If you call (stay in the game without raising), you should consider PL/SQL a specialized technology allowed in two places:
- In existing applications already based on PL/SQL
- In new applications for batch processing of database data
If you go all-in, you should use PL/SQL wherever feasible in order to maintain and expand the PL/SQL competency of your team. PL/SQL can do integration, call web services, write files, and you can build user interfaces with PL/SQL and tools like Application Express (APEX).
What Does That Mean for Developers?
If you are an individual developer, this means:
- If you don’t know PL/SQL, don’t bother learning it (yet)
- If you do know PL/SQL, you don’t have to learn something else. But look for an organization that’s all-in on PLSQL.
Edit 2016-08-05: Please also read Steven Feuerstein’s response to this post.