Don’t bet on it. Senior devs tend to know there is complexity and pitfalls over time, and hope that by using library X (or following pattern Y) they can future proof the product. So instead of writing 50 lines of self-contained code + tests, some people will happily write 60 lines of integration code + tests, and pull in a dozen dependencies.
However: With appropriate interfaces and a little forethought, you can start with the simple solution and extend it or complement it with libraries or needed abstractions down the road if and when the need arises.
Another bug-bear of mine is being asked to review/run over-engineered one-off programs (eg. simple ETL scripts). I remember replacing about 1000 lines of java (many years ago) with a 20 line python script, and passive-aggressively asking the senior developer to review the new script.
Don’t bet on it. Senior devs tend to know there is complexity and pitfalls over time, and hope that by using library X (or following pattern Y) they can future proof the product. So instead of writing 50 lines of self-contained code + tests, some people will happily write 60 lines of integration code + tests, and pull in a dozen dependencies.
However: With appropriate interfaces and a little forethought, you can start with the simple solution and extend it or complement it with libraries or needed abstractions down the road if and when the need arises.
Another bug-bear of mine is being asked to review/run over-engineered one-off programs (eg. simple ETL scripts). I remember replacing about 1000 lines of java (many years ago) with a 20 line python script, and passive-aggressively asking the senior developer to review the new script.