As a software engineer, it is often difficult dealing with normals. Non-technical people on the management, marketing etc sides of clients I've worked at often have unrealistic and vague demands on product requirements, delivery schedules, costs, etc...many of the challenges of the profession aren't on the technical side but in managing expectations and communicating clearly with non-technical resources.