The goal behind Software Design 101 is straightforward...
Create and gather content and resources that increase developer understanding, happiness and productivity.
📜 Manifesto
You can't be happy unless you're unhappy sometimes. - Lauren Oliver
Building software will never be an easy task. Furthermore, unhappiness grows exponentially with the complexity of your project. There are no magical rules or principles to stick to, but I can recommend you to always write as little code as possible, try to solve the problems as fast as you can and, of course, now and then take your time to refactor your code. Don't forget that good code should be self explanatory.
If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail. - Abraham Maslow
We all have that tool or programming language that we love and we want to solve every single problem with it. Well, although it could be really funny, we shouldn't be limited by any narrow set of ideas. Keep in mind to use the right tool for the each problem. It wouldn't be the first time that today's best practices are tomorrow's anti-patterns.
Computing spread out much, much faster than educating unsophisticated people can happen. In the last 25 years or so, we actually got something like a pop culture, similar to what happened when television came on the scene and some of its inventors thought it would be a way of getting Shakespeare to the masses. But they forgot that you have to be more sophisticated and have more perspective to understand Shakespeare. What television was able to do was to capture people as they were. So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture. - Alan Kay
Well, there's no much that I can add to that quote... While I'm writing this, I'm sure there is a new Javascript framework being pushed to Github. Always ask yourself is this the best tool for this task? Just because it has a nice interface and is used by a well-known company doesn't mean you need to use it. We tend to over-engineer almost everything. Don't forget the KISS principle.