You shouldn’t have to walk a mile in someone else’s shoes to understand their job and role as a leader. I’ve never held a software engineering role, but I worked very hard to understand their needs and their job. Some technical skill is needed, but not always at the code level. (Note: I am talking as a leader, not as their direct manager – for that role, I do believe you should have some experience.) When I worked in a warehouse, we had conflicts with the people on the sales floor. Our manager had a great idea – we would shadow them on the sales floor for a day, and they’d help in the warehouse. What could go wrong? I admit I learned a lot from the sales team. However, as a salesperson was unloading two washing machines from a truck, he almost had one fall on his head – I was able to deflect it just before it hit (the washer was destroyed, the sales person was fine). You don’t need to DO the job to understand the job.