Experience as a software engineer can vary since each team develops its own mini culture. Cross team pairing or collaboration was more common with immediate team members than with engineers from other teams. Although Slack definitely helped bridge that gap, on my team it was more common for day to day work to be done without a pair, which can have a negative impact on accelerated learning, especially for newer team members. There wasn’t much freedom to move to a different team.
My team, which I was a member of for several years, had little technical mentorship or leadership. Frequently, team members, including the tech manager, lacked deep technical knowledge of app components or features. In addition, there was minimal understanding or guidance on dependent frameworks. Learning frameworks was on you to get the job done. At times it felt like technical knowledge needed to be independently sought after instead of freely communicated. Some, but not all, of engineering management will have high expectations for everyone but themselves. You are expected to wear multiple hats especially when staff was low in terms of devs or immediate talent available. The technical manager tended to avoid or had no desire to learn implementation details and left little to no feedback on design or good practices during code reviews. Sometimes it can feel like there is no appreciation for the difficulty of the work being done. Speed was more important than quality and technical debt wasn’t addressed as often. These are some factors that contributed to slowdown in development from my experience, and can make software development seem dull or insignificant.