Mechanical engineering vs computer science

That said, much of what needs to be done in software is not so difficult from a software perspective, but from a physics/engineering perspective. Certainly there is a lot to be done from a computational power perspective for a lot of the work, but sometimes the most difficult aspect can be understanding the engineering side of software that does an engineering job.

There is a lot to software that you will only learn with a computer science degree. That includes a lot about data processing, databases, networks, and performance issues. You probably can’t program a good AI without a graduate CS degree, and such is quite well acknowledged. But at the same time, if you are inclined towards mechanical engineering there is plenty of software stuff that just won’t appeal to you. That’s the “building a website” aspect of it, the kind of work that is just plenty of not-so-interesting software overhead resulting from the fact that new languages are developed all the time and you have to constantly relearn them. It pays well right now, but it isn’t intrinsically valuable enough to keep its value in the long term. Meanwhile, something like building aircraft has an immediately obvious long-term value and will of course be useful in the future.

So if you want to take a software approach to engineering work, it’s best to start from the engineering side, and fill in the software side later, through a minor, or a graduate degree, or just dedicated self-study. An engineering degree grounds you better; a CS degree can much more easily lead you in a direction that an engineer really would not find much value in.