Should one go for visibility based stuff or master the domain first?

Posted by SoftwareArchitect101@reddit | ExperiencedDevs | View on Reddit | 18 comments

As in the title. Everyone has 2 options in their early and mid career. One is to go for visibility: Create documentations, mentor juniors, give talks, win hackathons, do stuff which aligns with business but might not be relevant to oneself, speak in meetings for visibility. I feel all these are glorified for promotions. I'm pretty sure such managers aren't too much respected but they get their job done perhaps?

Second isn't glorified but what I feel is mastering one's domain, understanding exactly what the code which we've written does, knowing what happens under the hood of libraries/external API/products etc should be more helpful with decent enough communication skills (since at the end of the day all the products are written in similar programming languages, similar design patterns and one day we might need to develop our own for a particular use case).

I'm confused, my heart wants to go towards second path but society seems to be going towards the first.

It seems counter intuitive that person could do both of them without significantly ruining other aspects of life.