Vanilla Java EE Productivity In Costa Rica 📎
Marvin (@mmongecr), could you please introduce yourself?
My name is Marvin Monge, I am a Senior Java Developer and SysAdmin at Flecha Roja Technologies, Oracle Certified Professional Java SE 6 Programmer, Oracle Certified Professional Java SE 7 Programmer, Oracle Certified Expert Java EE 6 Java Persistence API Developer, Oracle WebLogic Server 12c Certified Implementation Specialist and Oracle Linux Certified Implementation Specialist.
I have been programming since 2005, started with Oracle Forms & Reports, PL/SQL and Oracle Database. Then I moved for a while to LAMP websites and then to Oracle Apex. I always was interested in Java but the opportunity to learn never showed up until I reached Flecha Roja Technologies.
Flecha Roja was a partner of my employer at that time and I saw lots of interesting things they developed. I wanted to work with them, but I did not had the required Java knowledge. After a recommendation of my friend I was hired by Flecha Roja's CTO Gerardo Arroyo. And I started to polish my Java skills. At that time Flecha Roja used Java EE 5 with Seam.
In that time Java EE 5 was harder than Java EE 7 nowadays, a lot of boilerplate code and XML config files. I learned the basics of Java and Java EE 5 thanks to Gerardo Arroyo.
Then I improved my skills with the unlimited help of Flecha Roja. They bought me every book and certification exam that I asked for. For Flecha Roja the interest in learning is the most important skill of an employee.
Today I'm preparing myself for the Oracle Certified Professional Java SE 8 Programmer exam and learning about AngularJS, Microservices, Docker, Kubernetes and the Red Hat JBoss products.
At the workshops.adam-bien.com in MUC you told us about a big Java EE cluster. What is the aim of the application?
It is a solution (many Java/Java EE 5 applications) that connects to some heterogeneous databases (Oracle DB, IBM DB2, MS SQL Server and IBM Mainframe) to gather information about real properties and goods used in a shopping cart, the products sold are certificated documents. You buy the quantity of documents you want and you keep them in an inventory. You can generate the document with the appropriate parameters to get the required information at any time. The applications also haves free consultations to gather information without certification.
The solution exposes SOAP webservices consumed by the shopping cart and for integrations with other government entities.
There are around 13 applications that exposes webservices for data gathering and integration, 4 web applications (some for final users and others for administration and reporting) and 8 Java applications that runs with Linux crontabs for some alerts, deferred processes and data synchronization.
How popular is Java / Java EE in Costa Rica?
Java is very popular and it's taught at almost all universities.
Java EE is getting more and more popular, but many programmers are still using the outdated J2EE patterns.
Which application servers, tools and IDEs are you using?
Application Servers:
- JBoss EAP 6.4.x and Wildfly 10
- Oracle Weblogic 12c
- IBM Web Application Server 7 (Legacy)
Tools:
- Docker Toolbox
- Paw
- Atom
- MacDown
- Dash for OSX
- OWASP ZAP
- Oracle Data Modeler
- Git
- Maven
IDEs:
- Netbeans 8.1
How important is the Java EE standard to you? Is your code dependent on application server specific features?
No, my code is Java EE standard. Sometimes I have to tune Weblogic or JBoss for better performance. Such changes can be reversed in seconds and source code is rarely affected at all.
You attended the workshops.adam-bien.com in Munich with attendees from all over the world. What surprised you the most?
Well..., here in Costa Rica I never heard about Vaadin been used in any project but some days before my trip to Europe our company was contacted from a client in Colombia to check some performance problems with an old Vaadin application running on Weblogic. It surprised me to see how many attendees use Vaadin for develop and the great tips you were giving about the best way to separate the business logic from the Vaadin UI with a REST API to prevent problems later with new versions or the possible migration to Java EE. It was a great experience hear from everyone what they were doing and the problems that they were facing.
Is Java EE productive? What is your opinion?
For me, Java EE is a complete productive platform. You can create a complete application without any other dependency than javaee-api. It's pretty quick to develop with Java EE, and the Java language is beautiful :-) and keeps getting better!
Is you company hiring Java EE developers?
Yes, we are hiring Java EE developers and actually we hired 3 Junior Java Developers two weeks ago and I have been training them in Java EE.
If you are a Java EE developer with experience and you want to work at Costa Rica, please apply at info@flecharoja.com.
Any links you would like to share with us?
- Code School, great courses about Git, HTML, CSS, Javascript, Frontend and Bootstrap.
- LFS101x.2 Introduction to Linux, Pretty good course about Linux (basic).
- Pro JPA 2 Mastering the Java™ Persistence API, a book that I think every Java EE developer should read.
- Iron-Clad Java: Building Secure Web Applications (Oracle Press), great book about securing Java Web Applications.
Marvin, thank you for the interview!