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.
Piisthree@reddit
You can and should do both. It's not either/or. Sure there are some talking heads who fake their way doing #1 so they don't have to do as much (any?) of the hard technical work, and they become spiky haired bosses. But to be a good technical leader, you should learn the tech inside-out, AND document, guide, coach others to the same tune also. If all you can do is bury yourself in the tech, you'll be a top notch technician, but not a leader. And unfortunately, that path tends to have a lower career ceiling than a leadership path.
RangePsychological41@reddit
For the above you say:
Your feelings are wrong. These bring real value and having SEs in an organization.
The above is literally your job.
Yes you are clearly confused to think that these are 2 different paths.
timmyturnahp21@reddit
Doesn’t matter. Software development is dying according to Claude’s developers. We have until mid 2026
DeterminedQuokka@reddit
You need both. If you master a domain with no visibility then you aren’t going to have the power you need to make changes.
The thing you need to learn is how to make the stuff you think is important more visible. Which doesn’t mean you get everything you want. But you need to learn to convince other people that the stuff you are talking about matters.
justUseAnSvm@reddit
I'd lean into the second one for as long as you can. If you do that, eventually the day will come where you see technical problems first, or are needed for design, so you lean into the first.
These days, I try to do a little of both. My on the job responsibility is to chase goals. Nothing is more important than that, and my time and focus reflects it. When a new topic comes up, like an algorithm, service, or approach, I'll dive into that on my off time.
Therefore, I don't think it's entirely one or the other. If you can trust people around you to do the first, then keep doing the second. The day that changes, and you see something that might be a total waste if it continues, or you have a much better way, start shifting to the first.
SoftwareArchitect101@reddit (OP)
What exactly did you mean by "people around you to do the first"? Is it doing the first for you/for themselves in the team/for themselves across companies?
justUseAnSvm@reddit
If you trust the people around you to do as good of a job as required, then you don't need to worry about visibility stuff or things relating to the direction of the company.
It's once you realize that's a problem, like the product direction is crap, or there's a huge opportunity that would otherwise be missed, that's when you are thrust into doing it.
SoftwareArchitect101@reddit (OP)
Ohh okay got it, so it's mainly thinking about the company's/product's direction as a whole rather than narrowing it down only to my own benefit
justUseAnSvm@reddit
Yea, basically.
The way you move yourself ahead, is to put the companies goals and product direction ahead of any local benefit to you. Managers notice that sort of thing, and opportunities will come your way. It's a bit of a paradox, but I've gotten a lot further ahead by not worrying about my own career, and just focusing on if we are doing the right thing, and if not, what should we be doing?
SoftwareArchitect101@reddit (OP)
Thanks a lot man. I'll remember this
dash_bro@reddit
Depends on the end goal, I presume
As someone who worked at a startup, I got visibility due to the hierarchy being flat and the shop being <20 people. However I grew out of it and focused more on domain expertise, while gaining visibility outside the org (talks at my alma mater, mentoring and judging hackathons, blog posts about how I think/build/design algorithms, failed and accepted research papers, etc.)
Ultimately, what I found was that I'd like visibility outside the org organically (no LinkedIn word vomit), but domain expertise inside the org (become the go-to for the domain/engineering within the team).
You work and grow with colleagues so being reliable as well as a solid team player gives you good credibility more than going above and beyond 24/7
Stubbby@reddit
Different roles in different organizations value different things, you won't make everyone happy with your life and career choices, and I don't believe there is an optimal pathway to make the highest number of people happy about your life and career.
However, you still have control over what matters the most - you can make yourself happy with your life and career choices and then find the environment that appreciates you and your choices.
BackRoomDev92@reddit
I took door #3 - I started a business. I have a team working for me and we build a lot of great stuff. Having way more fun compared to when I worked a corporate job. I realize that's not for everyone, but it's definitely a great option for people that are even slightly entrepreneurial.
Moose_a_Lini@reddit
It depends what your goals are: are you aiming to just advance your career/pay as much as possible or do you want mastery of a skillet and competence? I would argue that the second will give you much more long term satisfaction depending on what sort of person you are, but you'll get less external reward for it.
As an anecdote: by far the most important thing I did to advance myself in my last job was to praise the department leads architecture within his earshot. I wrote a bunch of damn good code but basically no one noticed.
IQ gets you jobs but EQ gets you promotions.
Atagor@reddit
If you're empathetic enough person, your integrity will be damaged if you're building your house on sand
Over the years it will become a psychological tax of managing perception of others, while internally leave only a burned ground.
Unfortunately big corpos are stimulating aggressive self-promotion paths.. at the same time, the % of burned out people who left corporations and seek some yoga retreats in seclusion is also high
AzureAD@reddit
That’s not exactly a “choice”, most highly successful people in better organizations balance both very well.
The only other observation is that focusing too much on the latter will most probably keep you employed in some form, while focusing purely on the former will throw you into a hunger games where competition is stiff..
lastberserker@reddit
Does the second path imply learning, but not applying what you learned? Your description is confusing.
SoftwareArchitect101@reddit (OP)
Corrected, thanks