Why do employers ask for 5 years experience in batch development? Here are the most important value-add of a real veteran, based on my first-hand observation
(See also %% posts on batch wishlist.)
1) robust and resilient. My experience shows that serious batch jobs can fail for a large number of reasons such as unexpected input or network delays
2) Flexibility for change. I think batch apps are seen as quick-and-dirty, and flexible. People ask for more changes cos they assume *cost* of change is lower for batch apps than non-batch apps. Such expectations call for deep experience in batch design.
2A) extensibility, which is slightly different from “flexibility”. Example: adding parallelism, retry.. If not well designed, you often need to throw out old tested codebase and restart from scratch.
) modularization for a development team. Minimize stepping on each other’s toes.
) readability, ease of learning. Batch jobs are often seen as temporary, so documentation and design are lower priorities in batch than non-batch. Many batch applications actually need hand-over and maintenance by a new guy. I think a good system design can ease documentation, learning and knowledge-transfer.
#
* fine-grained control. Consider the monitoring features of JMX and Weblogic
* testability
* performance optimization experience