I have been hiring folks, and something that sticks out in the process is that there are three major aspects of experience in software development: the amount of time you have been doing something, how deeply you have gone in one skill, and how many different things you have worked with in your career.
I think there is a sweet spot that is unobtainable: too little time in a skill and you do not know it well, too little depth and what you know is not useful, and not enough breadth holds you back from being able to do a lot of things. There just is not enough time in the day to get lots of time, depth, and breadth.
Until the last several years, I had a lot of breadth without depth or time, which was a side effect of being dropped into a lot of projects to clean up issues and then moving on. Now I am a specialist, with a pile of time and depth in one particular tech stack to the detriment of other skills, and I feel like I need to branch out a little more.
Is time, depth, or breadth most important in terms of software development experience?
Keep your engineering skills up to date by signing up for TechRepublic’s free Software Engineer newsletter, delivered each Tuesday. Automatically subscribe today!