The Role of A Designer

As long as you involve into making high-level decisions and defining software coding style, tools, frameworks, and platforms, then you're a desinger.

A designer needs to communicate with different people to figure out a design and if the design can be built. Identifying the business requirements can be very hard since stakeholders might not really know their requirements most of the time. The design of the software based on the negotiated requirements determines if the project is on the right track. He/she chooses the frameworks and technologies for each individual components and connectors.

A designer needs to review the code to ensure if the implementation doesn't break the design. The technical details might be simplified, sometimes deliberately ignored, in the design but will be blossom during the implementation. Constantly reviewing from code makes sure the software is not biased from the design.

A designer needs to assess the risk in the project. Each decision being made bring risks to the software. He/she should identify such risks and makes sure the decisions are under control.

A designer needs to revise the design if new problems are on the way. The design is not static; it's changing over the time. As business grows, new features come in and traffic increases. The designer should tweak the design constantly, and re-design if necessary.