Since I was young I've been fascinated with the concept of Black Boxes. Not the plane ones, mind you, I'm talking about Engineering. The concept it's very simple: it's a something that gets something as Input and returns something as Output without the need of revealing the process.
Silly thing you may think. Well, it's actually one of the main advances in many Engineering fields and the one that allows us to bring complex systems to life. It's the a similar concept to encapsulation in programming and the good ol' divide and rule.
A practical example: cars. No one today knows exactly how every part in a car works. However, new cars are being released every day. There's however a team that handles the engine: the more you press the accelerometer (input) the more thrust that is generated (output). When the light sensor (input) detects low luminosity it turns the lights on (output). By considering these simplified systems as black boxes, there's no need for the engine designers to know anything about the lighting system or others, thus there's no one that needs to handle the complexity of the whole system.
This is also the main lesson I learned from Code Complete, a book that I recommend to anyone who already knows the basics of programming and wants to improve.
There are many good designers for the content of the black boxes. They are being poured, year after year, from Universities all around the world. However there's lack of people able to combine them to make things usable. Are you a black box designer? Do you spend most of the time writing code and solving equations or do you organize teams of people? I'm a black box designer myself, but I aspire to join them into something that matters.