We face a lot of challenges that are commonly encountered by IT people: buggy algorithms, execution time, computer resources (RAM and storage capacity, processor speed, etc.)