The most useful thing I did when I started working with powershell as my daily shell was to _remove half the default aliases_
once I broke my muscle-memory by trying to treat it as a historic shell, it became far more usable. Yes, get-childitem is a little weird to remember, but once you realize what it's doing isn't what `ls` does, you get a far better grasp on the environment.
Write some cmdlets. You'll discover how useful having a sane, object-oriented shell is.