Long-range poke makes his laning phase really rough, especially if it's from a champ with a lot of mobility. He definitely has some really hard lane counters. Laning against Ezreal is almost as painful as laning vs. Sona as Janna. He's really great against most tank supports who aren't Thresh, though, and immobile ADCs like Ashe are agony.
Engaging is all about decisiveness and decision-making. He has a little bit of safety in that his trades (EWQW) are really similar to his hard engage (WR, QEW once W is back up), so it's not as disastrous if you engage and your ADC just ignores you. That said, you have to have a sufficiently aggressive ADC to really succeed - otherwise, the best you can do is to roam to mid early and go for a 3-man gank mid. It's a weird thing where your ADC has to be okay with waiting for you to engage, and then committing hard, and you in turn can't afford to be anything but the best deliberateness, confidence, decisiveness, and caution in your engages and time things properly. Mis-positioning is deadly.
Leona and Braum come to mind immediately when it comes to skills required to play him, but you also have to have a certain mage-like understanding of your own mortality. Interestingly, having very strong Janna play is a great boon when playing him. My Janna is much weaker than it once was, but esp. her hard-engage ([E]FR) and peel take similar positioning, timing, and surety. They both value speed similarly, too.
Building him is fun, honestly, but it takes a lot of game knowledge. He has so many options! You have to know exactly what you want in any given game. His passive gives him moments to trade or dive if he builds AP, which gives him a much more skirmish-y playstyle and long-term sustain, but building tank gives you more room for error on really hard dives. Utility goes well with him, but it also can put him in a very hard spot if he's not careful. I've not done much of the tank build, but otherwise in my experience the options are great.