Must be able to take larger tasks or features and break them down into their components – identify the best solution, account for any dependencies, and come up with the approach for building the feature through implementation and QA