I wrote this post to easily reference a concept that I find myself explaining frequently to software engineers. The concept is simple: computer science is not software engineering. By itself, the statement seems obviously true. Unfortunately our industry has a problem with conflating the two in a way that leads to bad outcomes in the products engineers create. An analogy with cars I like to compare it to the difference between physics and mechanical engineering.