Hard: software development
Harder: solving complex problems involving natural language
Hardest: explaining why an idea a client has is terrible and should never be done without sounding like an condescending arsehole