3 ms·
Some complexity is unavoidable when creating software that does complex things—this is a tautology that goes without saying. Unnecessary complexity is largely
by adamrezich 3y ago
Some complexity is unavoidable when creating software that does complex things—this is a tautology that goes without saying.
Unnecessary complexity is largely caused by software developers who are currently in the middle of the bell curve of experience, who think that programming computers is all about finding the most clever way to solve a problem, usually by utilizing the most advanced language features they've learned about and/or by making systems as generic as possible, as opposed to writing instructions for the computer to operate on data as simply and efficiently as possible.
In my experience, every good software developer goes through an "adolescent" phase where they get caught up in doing things as "cleverly" as possible, completely blind to the unnecessary complexity they're creating in the process. There may be somebody out there who has avoided this phase of learning the craft, but if there is, I haven't met them. Part of me thinks that "getting it out of your system" is an important part of learning to get better at the craft.