I've heard these phrases from customers:
- Where can I find Oracle APEX developers?
- I'm having a tough time filling a vacancy for an APEX developer.
- I'm getting pushback from my own management because they say Java developers are much easier to find than APEX developers.
The last comment was from
Peter, a potential customer, who recently posted this
on Twitter.
Make no mistake about it. If you go to
indeed.com or
dice.com or
monster.com, you're going to find far more openings for .NET or Java developers than Oracle APEX developers. But I would like to take a step back and ask - what makes a really great Oracle APEX developer? Well, a great APEX developer is competent in:
- The Oracle Database (installation, setup, tuning, monitoring)
- Data modeling
- SQL (and SQL tuning)
- PL/SQL
- User Interface Design
- Responsive Design
- HTML
- CSS
- JavaScript
- Web applications
- Web servers
- Web security
- Network security
- Server administration
- Continuous integration
- Unit testing
- Application Express (APEX) development
...and probably a few more not even listed here. It's an amazing list of very specific and relatively complicated technologies. Don't be alarmed if you consider yourself a rockstar developer with APEX and you are competent in less than half of these areas. I can't really think of anyone on our own Oracle APEX Development team who is intimately familiar with
all of these technologies. A few experts in the APEX community can truly claim to be proficient in all of these areas, but they're finite in number. If you look at this list of technology areas, you will quickly conclude:
If you're looking for a great APEX developer, you're really looking for a full-stack developer
...and those are pretty rare in the industry. Let's look at a couple examples.
It's easier to find Java developers than it is APEX developers. Sure, I agree. But it's a common misconception that because someone knows .NET or Java (or PHP or Python or Ruby or JavaScript or whatever) that they are competent in elegant and attractive user interface design. Just because you know a programming language that is commonly used in Web applications has no correlation to you having the ability to create rich and elegant UI. This is a very rare skill, and one I see even some experienced APEX developers wrestle with.
As another example, I heard a manager say that he was going to pursue building an application with
Oracle JET because it's easier to find JavaScript developers. We on the APEX team love
Oracle JET and want Oracle JET to succeed (so much so, that we've integrated Oracle JET to produce the
data visualizations in APEX 5.1!). But this manager's statement was a bit misguided, because 1) your knowledge of JavaScript doesn't mean you'll immediately know how to use Oracle JET, you'll need to learn it, and 2) what about the rest of the stack? Is a JavaScript developer good at data modeling? Are they competent in authoring and tuning SQL? Do they know when it's preferable to use PL/SQL in their SQL and when not to? Or is that someone else's job?
My advice when you're looking for APEX developers - determine what is most important to you, and what skills and technologies you need the most assistance with. APEX development is ultimately Oracle Database development (Smart DB development, as
some would say), and experience with SQL and PL/SQL and data modeling is
always relevant. If you have a subpar data model and poor SQL, your application will suffer regardless of front-end technology. If you have no knowledge of Web applications and you are rich in Oracle Database development talent, then focus instead on those who bring Web application development experience to the table. I've found that the customers who "get it" the most are those who have done large-scale Web app development in another language or technology. They are the ones who can appreciate the framework of APEX and how it enables them to focus on the business problem at hand, instead of focusing on all of the necessary minutiae typically associated with modern Web app development.
When reviewing potential candidates, don't focus exclusively on APEX experience. APEX can be on the wish list of skills, but someone adept at database development or Web development can usually pick up APEX relatively quickly.
Oracle Database application development with
APEX and
Oracle REST Data Services (ORDS) continues to grow, for both on-premises applications and the cloud. Industry analysts are responding to more and more inquiries about APEX than ever before. Countless colleges and universities are taking advantage of the f
ree Oracle APEX curriculum and the
free offering by Oracle Academy, helping to familiarize thousands of students on appdev with the Oracle Database & APEX. The
Oracle APEX community is vibrant and growing. There's a reason why APEX skills are in high demand.
P.S. If you've stumbled upon this blog post and have no idea what Oracle APEX even is, I suggest you review the
Simple Guide to Oracle Application Express.