Given the nature of the software industry, if I join a different company as team lead or software architect, there is a good chance the existing team would be using languages and tools I am unfamiliar with.
Although I can put in my personal time to catch up, it will not be enough, as the team will almost always have more domain knowledge than me, so they wont respect my opinion and it would be cheap of me to fire or threaten anyone who shows insubordination, because their insubordination is because of my lack of knowledge. I have seen people manage this in these ways: 1. Ask subordinates detailed questions about what they know and ask further details until they fumble and appear stupid. At this point, pitch in with sage advice and sound superior. 2. For any decision the subordinate takes, keep going blah blah about why it is a poor decision and make them follow some other decision of yours even if suboptimal. 3. Call the subordinates one by one for long meetings during working hours, during which they explain to you what they have been doing and you learn the nuances of the tech during the meetings.
To a tech person, the above decisions can sound dumb. But from a management perspective, is this the right way to handle the situation?
A lead is basically supposed to "take charge" and rein in the detractors.