In the software development industry or any other related industries requiring software technical skills of some sort, there are normally 2 types of people.
The Generalists and the Specialists.
When I first started my career, especially during the junior days, I was pretty much a generalist. Or more informally, the “Jack of all Trades, Master of None”.
This was mainly because as a Junior developer/engineer, I had the luxury to be given the exposure of all areas within software development from one of my first employers so that I can get some experience of each of them and then decide which path to follow. That was the intention of my then company at least.
From working with Business Analysts doing some BA type work, to implementation, and various types of Testing (manual QA, functional, non-functional, performance, automation, etc.), and even dibble and dabbled in operations with a bit of infrastructure doing some sys admin jobs — i did learn a lot.
And in terms of implementation, that involved working throughout the stack getting deep into backend, fiddling with data and databases, playing with the UI, messing with styling on the frontend, and engineer my way through the middleware technologies. It was everything.