Jean Michel Lafrance (left, guy with beard) and Maxime Pelletier (right, guy with beard) are Insum’s latest interns. As they are now nearing the end of their internship, we decided to sit down with them and get their take on the past 3 months they’ve spent at our Montreal Offices. Their Internship mandate was to learn and use Oracle’s Rapid Application Development platform called Oracle Application Express (APEX).
As we sat down for the interview, both were excitedly exchanging notes on a common project. We asked them what it was about.
Maxime: We’re putting together a proof of concept for a capacity management project. We’re working with an administrator who is using an Excel spreadsheet to manage personnel. We’re moving the data into an Oracle APEX application we built.
Jean Michel: The idea is to see if it is worth changing over to an APEX application to increase his efficiency.
Maxime: Yeah, this spreadsheet has about 300 lines and 50 columns. The thing is, he’s really good at using it. I’ve watched him work with it. (Laughs)
Jean Michel: Our job is to come up with the first iteration of the application. If we can prove that our APEX application can help him go faster, then he’ll adopt it.
Sounds like a cool challenge. So, you’ve been working with Oracle APEX for the past several weeks now. What do you think?
Jean Michel: I really like it. I find it much faster than a “normal” programming language like PHP, for example. Things that would take hours to do in PHP take only a few seconds in APEX. For example, creating a table with data, inserting that into a grid and then putting in buttons. In APEX, I just select everything I need and implement it into the grid and it’s all placed exactly the way I need it. It saves hours! I do find some things in APEX that are more restrictive, though.
Oh Yeah? Like what?
So, you wish you could recode the tools you work with in APEX?
Jean Michel: well, you can insert your code into the framework, but you can’t modify the framework itself.
Do you see this as a big negative?
Jean Michel: Not really. And I’m just starting out with APEX, so I am sure there are ways of doing things that I’m not yet aware of. Sometimes, when I don’t know how to do something, I try to work it out myself. But, my reference point is PHP so I may not be doing it the right way for APEX (Laughs)
And how about you Maxime, what do you think about APEX?
Maxime: With APEX, It’s the speed I can’t get over. I mean, you are working directly on the database. You don’t need to go get the data, then copy it, then start working with it. You just start working. Another cool thing is all the drag and drop you can do. You grab a button, drop it into place and that’s it. Within 5 seconds, it is ready to do whatever you need it to.
There’s one limitation I’ve found with APEX’s Universal theme, though. Its templates are linked to “master templates”. If you want to modify them, you must unsubscribe from the master to start modifying your version. But, if the master template gets an update, you won’t be seeing these updates in your application.
Hopefully, they’ll look at ways to allow you to remain subscribed to the master template, be able to make changes and get the latest updates, too. That would be awesome.
Nice improvement suggestion.
Jean Michel: But I think these things are minor things compared to what clients can get out of APEX. For most clients, particularly large enterprise customers, performance is much more important than changing the look, which is actually pretty nice with APEX.
Maxime: They need data performance and functionality and they get plenty both with APEX. And honestly, most customers are satisfied with the Universal Theme. By far the most important thing is whether the application answers their business needs.
Actually, there’s a guy sitting near you who built a tool to address enterprise needs for a branded, non APEX Universal Theme look: Vincent Morneau. The tool is called APEX Nitro and it’s on GitHub. I’ll mention it here because some customers have strict branding needs and want the new applications to blend in seamlessly with what they already have.
So now that you’ve been through the training and are gaining practical experience building applications in APEX, do you see this knowledge being useful in your careers as developers?
Jean Michel: I’ll certainly be looking for framework tools no matter what language I use. I found the APEX framework very powerful.
More importantly, though, I am really looking to work with teams that have an effective methodology. This is one of the things that impressed me the most with Insum. I’ve learned so many things in just a few months here that I wish I had known at the other places I’ve been. I’ve worked at two small enterprises and one huge power company and amazingly, none of them, not even the big company had a software development methodology. In all three there was always the feeling of not knowing exactly how to proceed and where I was going…I would certainly like to convince the next place I’ll work for of the importance of having a methodology
Maxime, your thoughts on the usefulness of the knowledge you’ve gained?
Maxime: For me, the big takeaway was learning about the database. Often in companies when you are a programmer, you code the application but you’ve no access to the database. I mean, you select what you need from the database but if you need to modify something on it you have to contact the DBA. For me it was such a learning experience to be able to modify data, create tables and see how the schemas are made. This will be really useful for me in the future because I’ll be able to better visualize what happens behind the scenes, in the database. Before the training, I knew almost nothing about databases.
Jean Michel: Same for me. In the places I mentioned, I dealt with the database, but the work wasn’t really structured compared to what I am doing now with Insum. In the future, I’ll have a much more structured approach.
So, having a more concrete knowledge of Databases will help you in your careers?
Maxime: Yes. Just about any website nowadays works with a database, whether it’s on a server or in the cloud. You don’t really have a choice but to adapt to that. To have a really good working knowledge of the database makes you much more efficient.
Jean Michel: If a site isn’t using a database, it’s just a bunch of files and there is always the risk of some files being overwritten during changes or upgrades.
Has this internship been what you imagined it would be?
Maxime: Well, yes and no. We arrived here with absolutely no knowledge of Oracle APEX at all. I’d heard about it, so I decided I’d go “all in” with it. I knew I would get training, but nothing like this! The entire first month was about how APEX works, how databases work, then we had to reproduce applications on our own, without looking at the code and using our knowledge of APEX. To be forced to do it on your own is a great learning experience.
So, this not only helped us develop knowledge of APEX but also good reflexes in how to execute the work. That was so much fun. I really wasn’t expecting to learn so fast. The coaching we got really helped us move forward quickly.
So, you felt the coaching was really beneficial?
Jean Michel: Oh yeah. I was getting impatient with what felt like a lot of handholding at the very beginning of the training. But then, when it came time to do it all on your own, it made you work that much harder to figure stuff out from memory. I think that was good for anchoring the knowledge. Honestly, though, I would have preferred a more gradual method (laughs).
It was really structured. Also, no matter what, I can always get help if I have problems or can’t figure something out.
How was the support when you had questions?
Maxime: Any time we had a question, Lucien (Programmer Analyst, Lucien Aussibal) was always there for us. Even when Lucien isn’t there, I get the feeling that it won’t be a bother for anyone to answer a question.
What gives you that impression?
Maxime: No one seems closed. People are frequently talking to each other. I really get the impression everyone is accessible. The layout of the office is “open concept”. I really like that. I find it creates a team cohesion, compared to working in your own little office. I’ve worked in places where I felt more like an employee number than a team member. It would feel like “go into your little office and don’t bother me until you finish your job.” (laughs).
So, what are your future plans?
Jean Michel: It all depends. It depends if Insum hires us or not (laughs).
Would you like to work here if it was offered to you?
Maxime: Yes, we both would, for sure! We’ve already requested it. Now that Insum has given us Oracle APEX experience, it would be a good ROI for them! We’re told it will depend on the projects that come up.
Jean Michel: We also both have full-time studies to finish to get our degrees, so if Insum ends up not taking us, we’re going back to school full-time.
Jean Michel, Maxime, thanks very much for your time. Hope you get to continue working with us and we wish you all the best.
Jean Michel: Thanks!
Maxime: Thank you, it was fun!