min read

Key differences between Software, Product and Design, from the perspective of a Software Engineer

February 1, 2024

Kyle McVeigh

Kyle McVeigh is a Software Engineer and Vice President based in New York City. From the perspective of an Software Engineer, Kyle shares how Product Managers, Designers and Software Engineers work together.

For more of Kyle's posts, visit his website or learn about his experience on LinkedIn

As a product engineer working within a traditional business, I work closely with the business team and the executives. I am very often asked by coworkers at all levels what it is I do as a software engineer, and how do the product manager and designers fit into that. It is an awkward conversation when business team leads come up to me, as a software engineer, with feature requests and business justifications. When I tell them, you need to take this information to the product manager, I actually don't have absolute control on what we're building, the typical reaction is shock. I'm going to take the rest of this article to explain the role of product managers, designers, and software engineers.

Product Managers

Let's start with Product Managers. Product Managers role is to determine what needs to be built in order to achieve the business goals. The best product managers have a good understanding of business, the customers, and the technology. The product managers (abbreviated PMs for short) determine priority. For a practical standpoint, the Product Manager has the below responsibilities (this is an incomplete list):

  1. Need to construct the long-term feature road map.
  1. Need to write the feature tickets that are currently, and will be shortly, worked on.
  1. Need to justify the technology to the business leads
  1. Need to convey to the engineers the needs of the business.


Designers work with Product Managers to determine how the technology will feel. They work to create an experience for the customer that is aligned with the company's vision. The best designers are able to extract feedback from the end-customer, understand the competitive landscape, and work with the engineers to design a realistic product. Designers have the below responsibilities (this is an incomplete list):

  1. Delivery website designs to the software engineers. This includes colors, layout, typography, and change-states
  1. Meet with the customers to receive product feedback on current and upcoming features.
  1. Work with engineers to design within the realistic current technological limitations of the business.

Software Engineers

Software Engineers are responsibility for how the technology is built. Software engineers are responsible for the construction, maintenance, and alterations of the technology. Equally important, the engineers set the pace of innovation by providing the product team with time and difficulty estimates in the form of points. Good software engineers are able to update the website with new features, or change existing features, in a quick and consistent manner. The software engineer works closely with both product and design to ensure they understand the requirements, including edge cases. Software Engineers have the below responsibilities (this is an incomplete list):

  1. Write code to deliver updates to the technology to match the requirement supplied by the design and product team.
  1. Provide estimates on effort and difficult to the product team so the product team can help determine prioritization.
  1. Fix bugs that arise when the website is not working in a way that matches the previously supplied requirements.


Every organization is a bit different, but this framework has helped me explain to the business team about my responsibilities. I plan on writing a follow up article about the different types of software engineers (backend, frontend, etc.) and the role of an engineering manager. I leave you with a final example I use often at work: imagine you're using a website and staring at an embedded document, and there is a 'Download as PDF' button. If you don't need a PDF but need the document as a word document, the product manager has failed to determine the needs of the user. If there is an affordance for downloading the document as a word document, but it is hidden in some menu and you need assistance finding it, the designer has failed to do deliver a good user experience. And finally, if there is a download as word document button, but you get an error message or it downloads as a corrupted file, the software engineer has failed to deliver a working product.

Do you need talent or a job?

Let our team help you get where you need to be.

Learn more from our blog

Visit our blog