The startup Juan worked for was going through a growth spurt. There was more work than there were people, and plenty of money, so that meant interviews. Lots, and lots of interviews.
Enter Octavio. Octavio had an impressive resume, had worked for decades as a consultant, and was the project lead on an open source project called “JavaBachata”. Before the interview, Juan gave the project site a quick skim, and it looked like one of those end-to-end ORM/MVC frameworks.
Juan planned to bring it up during the interview, but Octavio beat him to the punch. “You’ve probably heard of me, and my project,” he said right after shaking hands. “JavaBachata is the fastest Java framework out there. I use it on all my projects, and my customers have been very happy.”
“Ah… we already have a framework,” Juan said, uncertain if this was an interview or a sales-pitch.
“Oh, I know, I know. But if you’re looking for my skills, that’s the place to look. It’s open source.”
While Juan pulled up the GitHub page, Octavio touted the framework’s strength. “I was doing no SQL before NoSQL was a thing,” he said. “All of our queries are executed in-memory, using TableBean
s. That’s what makes it so fast.”
Juan decided to start looking in the TableBean
class, since Octavio brought it up. The bulk of the class looked like this:
public String var000, var001, var002,… var199,var200;
“What’s this?” Juan asked, politely.
“Oh, yes, I know that looks awkward, but it actually makes the code much more configurable. You see, this is used in conjunction with the ObjectBean
, and the appropriate dot-properties file.”
The .properties
file was a mapping file, which could map ObjectBean
columns to TableBean
fields. So, for example, it might have a property like this:
1=178
That meant column 1 in the ObjectBean
mapped to column 178 in the TableBean
, so that you could conveniently access the data by calling objBean.getCol(1)
.
“Don’t you think these naming conventions are hard to maintain?” Juan asked. “It’d be nice to have names for things.”
Octavio shrugged. “I think that’s the problem with modern programmers. They just don’t know how to code without using variable names anymore.”
They didn’t hire Octavio, but he took it well. “It leaves me more time to work on my framework.”