I think that even KISS can be overridden. Itโs important to learn about complex methods, but do not distract attention from the specific work that you are doing. Apply the simplest method that works. Learning more sophisticated methods will help you recognize potential problems / bottlenecks, etc.
As you hint, some complex problems require complex solutions. The only real way to prepare for this is to solve complex security problems in your free time, when it does not matter if you make a mistake.
I donโt remember who said that, but:
"Most programmers can find a complex solution to a complex problem, but few can find a simple solution to a simple task."
I find that many programmers tend to make things too complicated. You may be simplifying things, but this is probably the right end of the scale to start with.
Draemon
source share