The Software Engineer’s Role as an API
Software engineers are expected to take on project leadership responsibilities as part of our career growth. This means serving as the engineering team’s point-of-contact for cross-functional partners like design, product, data science, marketing, and content.
A framework I find helpful for approaching this collaboration is thinking of the project lead as an API interface into the engineering team, abstracting away the complexities of engineering and only exposing what’s relevant to each partner.
It’s not a perfect analogy, because the partners won’t specify their needs as precisely as a module calling an API. When they request something, it’s up to the engineer to decide which details are helpful and which are better kept hidden. Exposing too many implementation details is confusing and a waste of everyone’s time — like having to read the entire source code just to use an API.
The ability to distinguish between helpful and irrelevant information is a critical skill for leading projects. It primarily comes with experience, but I’ll go over a few ways to improve quickly.
Get to know the other functions
Picking up a high-level understanding of each function’s work lets you discuss trade-offs and decisions in the context of what’s important to them. For…