1) No proper training - difficult to figure out responsibilities and tasks; And even more difficult to get yourself failry graded during appraisals
2) Most of the teams work on proprietary code - and never share any information with other teams - fearing job loss ;; so most of the time is spent in fixing communication errors -- everyone is like - I expected this to be like this
3) firmware ORGs are the worst - too much of micro-management -- lot of oldies -- 25/30 year old grandpa's will suck the blood out of you and make u quit after 2/3 years -- and taking all the credit for your 2/3 years of work and surviving for another decade without doing any work
4) lot of contractors doing zero work since years -- mostly their parent companies are providing kick backs