I've found being the only developer, or in a very small team of developers, with realistic deadlines is most enjoyable. There's always the looming deadline, but being a small team means everyone is of the understanding of how timelines and coding works (as long as you are truly a close-knit team).