How do you feel about ORMs?
When interviewing, assessing candidates’ levels is as important as assessing their abilities. Whether your employer has a formal ladder of titles, or you just need to decide how much you’re willing to offer in compensation, leveling is critical.
Disclaimer: I do not recommend using only the following question to determine the level of an interview candidate.
Recently, I was thinking about ORMs: at first I didn’t really know what to make of them, then I found them very helpful and now I mostly think they just get in the way. Additionally, I’ve heard others convey similar progressions of opinion. Then, it occurred to me: this could be a useful litmus test for leveling an interview candidate!
When asked “How do you feel about ORMs?” here is how I would interpret responses:
Early Beginner
- Lack of ORM awareness
- Lack of or very basic familiarity, confusion and/or frustration
- 1–2 years of experience, needs significant coaching and investment
Late Beginner
- Likes ORMs
- Generally knows what they do, familiar with one or two ORMs, lack of familiarity of advanced features (transactions, etc.), lack of awareness of internals and common ORM problems (identity cache, memory leaks, etc.)
- 2–3 year of experience, independent with small-scale features, needs guidance for larger feature sets
Intermediate
- Loves ORMs
- Solid understanding of most ORM capabilities, familiar with two or more ORMs, fully aware of many advanced features, lack of awareness of internals and common ORM problems
- 3–5 years of experience, can deliver sizable feature sets, needs guidance for leading small-medium projects and planning complex systems
Post-Intermediate
- Mild disdain for ORMs
- Solid understanding of ORM capabilities, internals and common problems (and has been burned by them), can articulate when to use ORMs and when not to
- 5+ years of experience, can lead small-medium projects and plan somewhat complex systems, development areas will vary greatly
