str vs bytes isn't as bad as people make it out to be. You'd be used to it within a week. The other stuff is mostly just semantic changes like range vs xrange or dict.items() returning an iterator now vs a list.
At this point, the bigger issue might be learning all of the new features people were missing out on by not moving earlier, like asyncio.