Someone once told me that being a specialist is knowing a lot about fewer things while being a generalist is about knowing less about a lot of things. The first is about going as deep as possible into something. The latter is all about breadth of knowledge.
As a software engineer, I have always struggled with where to take my career. Should I go deep on some technology I like and make it my life to know everything there is to know about that? Or should I learn new technologies and expand the horizon as far as it goes?
Senior Software engineer at Nubank