Software development is not just about code, it's about understanding the business.
Help customers to think about solutions for their business needs, improving the business processes
Creating concepts to help the customer understand the possibilities in software.
Finally architecting the solution in the right sort of software,
like mobile, web, desktop, services, webservices, etc...