Hacker News new | ask | show | jobs
by rockemsockem 1396 days ago
It sounds like you're probably overthinking and overengineering your solutions. Knowing common patterns and useful architectures are good for recognizing when your problem needs them, but most software just doesn't need to scale to ridiculous levels and a lot of abstractions can get in the way even when applications have to be highly scalable.

My advice would be to try to optimize for what makes it possible for you to get things done the fastest. Ultimately that's the point of any abstraction, that and improving readability. Don't try and apply fancy patterns, just focus on solving the problems you're setting out to solve. If you find yourself working on a project long enough then you'll probably naturally find a need to start applying more complex architectures and abstractions, but it's almost never a good idea to start with those, even on a large project at a company that everyone "knows" will have to scale. Maybe especially in that scenario.