Client communication: not what I signed up for!
As software developers we often expect perfectly defined, never changing requirements and design. This, of course, is seldom the case, and more often than not we find ourselves frustrated by last-minute changes and misunderstandings with our clients.
As developers, what is our job exactly? Some think it's about following orders and meeting deadlines, and in web development teams this is usually what everyone expects—after all, we have Project Managers and Business Analysts and Tech Leads to shield us from any client communication. But, in reality, our job is to produce a more comprehensive set of requirements, the so-called "code", from whatever we receive (requirements, an idea, or maybe just the frustrated description of a problem). Most of the time, this requires a stronger level of communication than might have been expected.
In this talk, I'd like to present some experiences from my past year. From working in big, organized web development teams, to dealing with unexpected situations in the context of a humanitarian response where things need to move quick, all the way back to the software industry where I have had the chance to apply some knowledge picked up on the way.