Today was (again) a nice day. A sunny day with almost 20 degrees (Celsius), no clouds and just the right amount of wind. Perfect conditions to do some paragliding and after the flight, a cold beer with a friend.
But there was something else that made my day. It was something that happened in the office. Today we got a visit from a young 18 years old future student. Next year he will go to college and he is still not sure which one or which direction. But he said, he is interested in programming and that is why I invited him to visit us.
We started talking, and it went like this:
Me: Do you know Oracle or databases.
Him: no
Me: OK, do you know anything about APEX
Him; no
Me: OK, what about PL/SQL, SQL, Java, ...
Him: no
And I thought to my self, this is perfect! My next question was: Do you know anything about ER diagrams? The answer was...No. And I thought to my self, even better...let's try to teach him and see how fast he can learn and even more important if he will understand the logic.
So I started: Let's say we have departments and employees...I know this was a big gamble, talking about departments and employees to someone who is 18! Luckily he did not run away. We started to draw squares and connecting them with lines ( crows feet ). I could just see that he was following and in a few minutes he already extended the ER with new entities (posts,...). Great, he can learn fast and he can also understand the design.
The next step, create tables. For someone who does not know Oracle or in this case even databases, this is a problem. For a smart kid like him, that is not a problem, but again it would take some time to learn.
But luckily we are working with APEX and part of APEX is Quick SQL. First things first! We need an environment where he will work. apex.oracle.com to the rescue and in under 5 minutes we were already in Quick SQL in the newly created workspace. First 10 minutes in Quick SQL I explained the basics of constraints, data types, not nulls and foreign keys. It was just to connect what he already learned when drawing the ER diagram. Then I asked him to describe to me the database model and we have used this for Quick SQL...automagically code was generated on the fly. He did not know a single thing about Oracle and yet he was able to create tables ( physical model ).
You can image what happened next. We run the script and based on the script we created the APEX application (we all know how that goes). His words were, OK this is cool!
If I just compare this to how it was 20 years ago when I started to work with Oracle!
My main point of this blog post is not that someone can learn to be a developer in 2 hours. It will take a lot more than that. But today with the low code approach, with Quick SQL and APEX we have the option to show how interesting it can be to develop applications. Like this bright kid, he was able to build something useful really fast. We already agreed on the next steps which will include more details...and hopefully someday we will have a new bright APEX developer.
And to that I say, cheers (with the cold beer after the flight) !
Aljaž