|
|
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 2 of 6
Watch an excerpt of Matt's interview with Carlus on YouTube.
Matt Heusser: What motivated you to start a Java user's group? What has it been like to lead a user's group?
Carlus Henry: Although I was not responsible for starting the Grand Rapids Java User Group (GRJUG), I do feel that it is an important part of the West Michigan software development community. I remember attending my first GRJUG sometime in early 2000, and I was amazed. This was during the time when companies like BEA (later acquired by Oracle) were competing for business in the area, and let me tell you, they really put on a show. There was food and a lot of experts were being brought in to discuss their products as well as other technologies.
Fast-forward a couple of years, and the GRJUG became dormant for a while. I contacted the individuals who were responsible for the GRJUG and asked them if I could take it over. They agreed and I have been chair for the past five years or so. We meet once a month, even through the summer, and we have had a very good turnout recently. This is probably due to the fact that we have had many meetings on developing software for the Android platform.

Matt Heusser: Has your perspective on Java technology changed over the years?
Carlus Henry: Yes. At the beginning of my career, I would have considered Java the magic bullet. Use it everywhere for everything. Now, I don't have that same mentality. There are a lot of great languages and frameworks out there that are better suited for different tasks. You have static and non-statically-typed languages, compiled and interpreted. Each of these languages has its place, and is useful and appropriate in different situations. Which one to use is really dependent on many factors.
I would always lean towards using a statically typed language with good IDE support for the back end of large applications. However, when it comes to the front end of applications, especially web applications, I think that many times it is appropriate to use a dynamic language calling web services for the back end.
Matt Heusser: I imagine that when you started programming you weren't doing test driven development, mock objects, dependency injection, or a host of other things that are now nearly free with most software development frameworks. How has your toolset changed over the years?
"There is nothing that gives you more security and confidence than an application that is supported by automated tests."
Carlus Henry: The phrase "coding by coincidence" comes to mind. I remember a process of coding with a certain direction and only a vague "undocumented" plan (which of course translates to no plan), which was typical before we started bringing tools like test-driven development into the equation. It was a very scary time. While I did all that I could to make sure that the applications that I wrote would work and were bug-free, there is nothing that gives you more security and confidence than an application that is supported by automated tests. Now, imagine working in a code base that you are not familiar with and being asked to add an enhancement. Without a supporting test suite, you are not going to be assured that you didn't break existing functionality. Scary, scary, scary times.