Platform vs. Productivity Engineering: a terminolo...
# platform-leadership
c
Platform vs. Productivity Engineering: a terminology question. Is there a difference between the two? I realize this varies from organization to organization, but curious to hear any opinions on how these two are different. I've seen organizations that have Productivity as a discipline "under" Platform Engineering, and others that simply have Productivity Engg orgs that are the Platform organization.
s
Platform Engineering is an example of Developer Productivity Engineering, but you could apply DPE in other ways that don't look like Platform Engineering. For example, you might go to a team and find they all hate their IDE, so you sort out getting them the IDE they all want, or you might find they get zero uninterrupted hours of focus time, so you work out how to solve that by introducing folks to Getting Things Done, Personal Kanban, Pomodoro Technique, etc.
c
That is a great example. Thank you! I'm not sure if there are any representatives from Netflix in this Slack instance to share their perspective, but my question (at least in part) was sparked because as I understand it they have a Productivity Engineering pillar under a higher level Platform Engineering organization. Other pillars were Data Engineering and an org that focused on compute resources specifically (maybe SRE-style?)
s
A few larger organizations have "one of everything". At their scale, it's often sensible. I'm hesitant to apply those patterns to smaller teams (for example, I wouldn't do what Facebook does if I only had 1,000 developers!) However, I'd love to hear from anyone at these organizations who can share what they do and what the motivation was, as other folks hitting that scale will learn much from it - and we can understand what parts to bring to smaller organizations.
k
I have also struggled with some of the nuances around these. I am in a platform engineering org. We have two pillars, SRE and DPE, and our product side has about 250 engineers. We do not own processes in the PE domain. That would be the things @Steve Fenton mentioned: Getting Things Done, Personal Kanban, or the Pomodoro Technique, or tanyting surrounding the SDLC. We don't currently branch out of the Engineering bit in DPE. My team owns all the environments up to prod (including deployments), CI/CD, IaC & par, automation, tooling, IDP, and self-service. We play SRE in these spaces as well, so there is a lot of monitoring, quality drivers, and optimizations. We are planning to offer ancillary services for groups outside of engineering soon. SRE owns production, though we have some shared responsibility, mostly as a holdover from an old org structure. I would love to also have the I would note that I am at a high-growth start-up (150-1500 in three years) and joined to drive DPE as a function. The company's engineering org is maturing in many ways, and we're trying to build this function into the company in the 'We need to have appropriate processes, tooling, and standards in place for scaleable growth" stage.
j
My view is bit different. I see engineering productivity and devEx as a part of platform engineering. Actually, credo of my platform team is "[...] platform that empowers teams to achieve more"
So, if from my product research of engineers need insight were that they struggling with focus and productivity because of some calendar, nature of the work - reasons - introducing them to Getting Things Done, Personal Kanban, Pomodoro Technique, etc. should be a goal for my platform team. Of course it can also be a some outcome, like improving something on system/organization level. But in the end - we are making an significant impact.
Also I think it depends on the platform team size and composition. My team has 10 people and serve around 80-100 developers.
In bigger organizations DevEx can be a one of many teams in much bigger platform area - which works across them - looking for improving developer experience and making changes or requests to other platform teams
So I would say that Productivity Engineering is a part of Platform area
k
I agree with your framing and I'd like us to begin moving that direction. I'm relatively new in this company and there are a few things that are misaligned between myself and senior leadership. And this misalignment is not just my direct senior leadership.
k
I may simplify it: Platform Engineering is one of the elements of Productivity Engineering. Platforms are not taking care of software architecture or cooperation between business & IT Delivery Teams - platforms may enable it with tooling and services, but how it’s being utilized is more in hands of developers. So we can boost productivity with platforms, but for example a mirroring architecture-business domains is something not in the area of Platforms usually
So I would say - Platform is a way to contribute to Productivity, but Productivity is bigger topic. This is how I understand it, let me know if I make a mistake :)