Amy Blankenship
1 min readJul 31, 2022

--

I could give you the easy answer that "it depends" on stack, tooling, etc., but I think it boils down to if you use good practices, this will take care of itself.

For example, in React, where I spend most of my time these days, it's really common for devs to believe that good software design principles are outdated and beneath them. This means that to work on their codebases, you need to understand a lot of obscure trivia about React, as well as being able to hold the entire program in your head.

However, if you build React with clean separation of concerns, then it's easy to create skeleton components in Storybook, where an inexperienced dev can see what the incoming props will look like and they just build that to work to spec. Once they can do that, they can see where the data is going, so they are ready to build the layer to retrieve and format the data for use in the Views. A senior might need to help them with the tests by pairing. And then you just keep going outward until they're ready for the full app.

Clean separation of concerns has so many more advantages than even the people who came up with it say (probably because to them that's so obvious it wouldn't occur to them to say it). But many senior devs don't do it, either because they can't or because they've become convinced there's no need/benefit.

--

--

Amy Blankenship
Amy Blankenship

Written by Amy Blankenship

Full Stack developer at fintech company. I mainly write about React, Javascript, Typescript, and testing.

Responses (1)