Recently, he made this interesting comment:
It's weird that the build XML is much more complicated than the application.
The business logic is non-trivial yet straight-forward. He went on to say that, aside from writing unit tests, much of the work is annotating the POJOs and working with configurations.
To wit, his team employs Software Electricians: they spend most of their time on the wiring, debugging the annotations.
ps. Yes, I'm using "wiring" rather loosely here. It is most often associated with XML configuration; I'm expanding it to include extra-syntacticular logic (i.e. outside of Java syntax).
The business logic is non-trivial yet straight-forward. He went on to say that, aside from writing unit tests, much of the work is annotating the POJOs and working with configurations.
To wit, his team employs Software Electricians: they spend most of their time on the wiring, debugging the annotations.
ps. Yes, I'm using "wiring" rather loosely here. It is most often associated with XML configuration; I'm expanding it to include extra-syntacticular logic (i.e. outside of Java syntax).
Yup, I make my living with build systems (and version control and bug trackers), and I have a sense that
ReplyDeletebuild code is usually 1%-3% of the line count of a project. Unexpectedly, I find that the release/installer code is often a similar amount of code.
Thanks for the comment, Matt...
ReplyDeleteI should point out that I used an idiosyncracy of my colleague, which may have misrepresented the sentiment.
By, "it's weird", he meant a new world. Not necessarily a bad thing. In fact it is a testament to annotations that the app is less complex than the build. However, depending on your point of view, debugging annotations and configuration is a different skillset/vibe than debugging straight-up code.
Since this post, I sat with another colleague on the same project. He was using an Eclipse plugin to generate Hibernate-persistent POJOs from an existing DB schema. The use of the schematic and the UML diagram was the genesis for the thought of generalizing "wiring".