This chapter introduces the irreducibility principle within the context of computer science and software engineering disciplines. It argues that the evolution, analysis, and design of the application software, which represent higher level concepts, cannot be deduced from the underlying concepts, which are valid on a lower level of abstractions. We analyze two specific sweeping statements often observed in the software engineering community and highlight the presence of the reductionism approach being treated already in the philosophy. We draw an analogy between the irreducibility principle and this approach. Furthermore, we hope that deep understanding of the reductionism approach will assist in the correct application of software design principles.