My main question after reading some books on Staff Engineering, and Tech Lead roles is about how to be a Staff Engineering when you don´t work with an internal Engineering team in your company.
This situation can be really common in non-tech companies that alwayes worked with partnership and hire development agencies for each specific tech project.
How can someone seen as a the customer by the agency´s development team can have a chance to impact in their work. How can the Staff Engineer-Tech Lead be valuable for the agencies and influence them in how to proceed with the technical decisions?
From my experience, I think the Staff Engineer will not shine, as he/she will struggle in being the technical lead of a Engineer team that are working in a different company.
In my experience, when there is a position of Engineering Manager, this person is almost never directly involved with the tech.
Usually companies wants them to be pure manager and have dedicated staff/principal/architect for the tech decisions, reviews, growing the team.
The EM is supposed to do the administrative part: yearly evals, hiring, firing, reporting, planning, and organize the development (like forcing scrum; having good practices for PR; using issue tracker in a specific way,...)
Staff Engineer is a bullshit title created because engineers do not want to be managers and there is no other way to promote them. If companies had a flat structure like Valve, such BS would not be around.
This is right. Staff is also another title where EMs abscond from any engineering duty. They offload all engineering to staff engineer while themselves playing empire-building and performance review games.
As a result, the management ladder in tech companies become completely detached from what the company is producing and how to bring benefit to customers.
In my experience the distinction between Senior Engineer and Staff Engineer is meaningful, because they do very different jobs.
A Senior's work is scoped to one team, reporting to an EM, and they do the usual stuff - work on tickets, run stand-ups, deliver features. The Staff engineers have no home team (they are expected to work across multiple teams), they report to the CTO, and they have a lot more freedom in what they spend time on. In fact the dynamic is reversed; rather than being given work, they're accountable for identifying the most important work and doing it. It also comes with a whole lot of new meetings.
I'd argue that Senior Engineer is more of a bullshit title, if titles are supposed to be an indicator of what your job involves. At Senior my job didn't change at all. It's just a title to recognise people who have been around for a while.
How can someone seen as a the customer by the agency´s development team can have a chance to impact in their work. How can the Staff Engineer-Tech Lead be valuable for the agencies and influence them in how to proceed with the technical decisions?
From my experience, I think the Staff Engineer will not shine, as he/she will struggle in being the technical lead of a Engineer team that are working in a different company.