Software engineers are usually called upon to solve problems that involve large numbers.
1. large number of machines
2. large number of text to search
3. large number of page views
4. large number of users
In order to be an efficient software engineer, you must always keep in mind to be lazy. Ask yourself, what is the easiest way to design the system so that there will be minimal changes later on, how to design the system so that when the large number grows larger you and your team don’t have to grow as well. Always think what would happen when the large number is multiply by 10, multiply by 100, 1,000! If you can answer these question in your design process, then you know you’ve are on the right track.
Always think how I can be more lazy, how do I design the system so that others can help me scale the system 10x, 100x, 1000x.