I'm not in CS but just writing software is not good enough. Software PhDs from my understanding would require stuff like developing a new provably-better algorithm, not just picking one off the shelf and applying it to a kernel driver, or developing CS theory in some way such as developing a new type system with useful properties not found in other type systems.
In my field you would have to develop new physical modelling, apply it to an industrially relevant experimental case and show that it is indeed an improvement. The tricky part is figuring out a new model that none of the thousands of smart people before you have come up with.
In my field you would have to develop new physical modelling, apply it to an industrially relevant experimental case and show that it is indeed an improvement. The tricky part is figuring out a new model that none of the thousands of smart people before you have come up with.