Software Engineering
Programming is easy, engineering large projects that can be maintained is hard.
Maintainable systems have loose coupling. A system is said to be loosely coupled if its components have limited dependence on one another. This is also referred to as "modularity."
Maintainable systems are testable. The modules in a testable system can be tested in isolation from one another.
In a typical project, the largest amount of time is spent in the maintenance phase.
Code is easier to write than to read, even by your future self.
So do "future people" a favor, design your projects with care.