For about 20 years, I’ve been doing C++ and Qt and KDE development. I suppose that makes me a “senior software engineer”, also in the sense that I’ve hacked, programmed, futzed, designed, architected, tested, proved-correct, and cursed at a lot of software. But don’t let the label fool you: I look up just as much in the documentation as I ever did; senior developers don’t know everything.
Documentation I looked up today:
- QTest data tables (data-driven tests)
- CMake’s if statement (
- git worktree (mungeing commit history)
- QStringList models
- QTimeZones (darn, there’s no system-list-of-zones-with-data)
- QVector (
indexOf()will do what I want, yes)
- QComboBox (getting different data roles from the underlying model)
- JSON schema (how to specify a non-empty array)
- CMake’s string statement (syntax for REPLACE)
- git bisect (hunting down a regression)
Some of that documentation is going to remain fresh in my mind for a bit, some is going to be forgotten almost immediately (like the JSON schema bits: I need it to write a schema, but the schema is write-and-forget because automatic tools take over from there at least until the schema needs a change, which could be over a year from now).
None of this information is essential to my work as a developer as long as I know how to look it up, and can do so quickly and effectively: trivia knowledge is not a measure of developer worthyness.
So, you know, if you’re interviewing for a job position and get quizzes on this kind of things, then there are two possibilities:
- the job is all about doing-this-one-thing, in which case the knowledge is necessary and yes, knowing it already is a thing, or
- this is an incidental, once-a-year item where gatekeeping over it is unadulterated cow poop (from which, I learned this week, you can distill vanilla aroma).
Keep learning, but don’t be afraid to forget.