Hiring
•
min read

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

June 26, 2026

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. ‍ What does a Product Manager do? Product Managers determine what needs to be built in order to achieve the business goals. The best product managers have a strong understanding of business objectives, customer needs, and the underlying technology. Product Managers (abbreviated PMs) determine feature priority . They are responsible for translating high-level business strategy into concrete product initiatives. Based on our experience hiring 0+ technical professionals for 150+ companies, we observe that PMs are critical for driving alignment between business strategy and engineering efforts. For a practical standpoint, the Product Manager has the below responsibilities (this is an incomplete list): Construct the long-term feature roadmap: This involves strategic planning, market analysis, and user research to define the product's direction and key milestones. They often coordinate across departments to ensure the roadmap aligns with company-wide goals. Write detailed feature tickets: PMs translate roadmap items into specific, actionable user stories and requirements for the engineering team. These tickets clearly articulate the problem, desired outcome, and acceptance criteria. Justify technology investments to business leads: They act as the bridge between technical teams and non-technical stakeholders, explaining the "why" behind technical decisions and ensuring business leaders understand the value and feasibility. Convey business needs to engineers: PMs ensure engineers fully grasp the business context and user problems they are solving, providing clarity that helps in developing effective solutions. They ensure that proposed designs are feasible to build within the given resources and timelines, preventing scope creep and ensuring a smooth development process. ‍ What does a Software Engineer do? Software Engineers are responsible for how the technology is built, maintained, and altered. They are the builders who turn product and design specifications into functional software. Equally important, engineers set the pace of innovation by providing the product team with time and difficulty estimates in the form of story points or similar metrics. Good software engineers are able to update applications with new features, or change existing features, in a quick and consistent manner, ensuring high quality and reliability. Software Engineers work closely with both product and design to ensure they understand the requirements, including edge cases and technical implications. Software Engineers have the below responsibilities (this is an incomplete list): Write code to deliver updates to the technology: This involves translating design mockups and product requirements into clean, efficient, and maintainable code. They are responsible for selecting appropriate technologies and architectural patterns. Provide estimates on effort and difficulty: Engineers assess the complexity of proposed features and provide realistic estimates to the product team. These estimates are critical for effective sprint planning and roadmap prioritization. Fix bugs: They diagnose and resolve defects that arise when the software is not functioning as intended or according to previously supplied requirements. This includes debugging, testing, and deploying fixes to ensure product stability and performance. Ensure system scalability and reliability: Beyond feature development, engineers are often responsible for architecting solutions that can scale with user growth and maintaining the stability and security of the existing infrastructure. ‍ How Product, Design, and Engineering Collaborate Every organization is a bit different, but this framework has helped me explain to the business team about my responsibilities and how we collaborate. The synergy between these three functions is crucial for successful product development, particularly within fast-paced seed through Series C startups where we specialize in placing engineering and AI/ML roles. 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 to illustrate their distinct but interconnected roles: 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. Their research and prioritization missed a key user requirement. 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 deliver a good user experience. The interface is not intuitive. 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. The implementation is flawed. Success requires all three roles to perform effectively and cohesively. ‍ Why Recruiting from Scratch Knows This Recruiting from Scratch (RFS) has extensive real-world experience in the technical hiring market. Since our founding in New York City in 2019, we have partnered with 150+ companies, specializing in Engineering and AI/ML roles from seed through Series C. In our data from 300+ technical placements, we've gained firsthand insight into the practical responsibilities, collaborative dynamics, and market value of Product Managers, Designers, and Software Engineers. What is the average salary for a software engineer at a startup? What does a contingency recruiting firm charge for technical hires? Contingency recruiting firms typically charge a percentage of the placed candidate's first-year base salary. At Recruiting from Scratch, our contingency fee ranges from 25-30% for technical placements. What kind of startups does Recruiting from Scratch specialize in? Recruiting from Scratch specializes in placing Engineering and AI/ML roles across seed through Series C startups. We partner with fast-growing companies that are innovating in various technical domains. What is the difference between a Product Manager, Designer, and Software Engineer? A Product Manager defines what needs to be built to achieve business goals, focusing on strategy and prioritization. A Designer determines how the product will look and feel from a user experience perspective. A Software Engineer is responsible for how the technology is constructed and maintained, translating designs and requirements into working code.

For the latest engineering compensation benchmarks, levels.fyi and The Pragmatic Engineer are the most cited sources.

Related: How to Hire a Senior Backend Engineer at a Series B Startup · Software Engineer Salary Guide: SF, NYC, and Remote (2026)

Ready to Hire?

Start an engineering search with Recruiting from Scratch →

Ready to hire?

Tell us about your open roles and we'll start sourcing within 48 hours.

Learn more from our blog

Visit our blog