I'm mostly thinking about something similar to OAuth, like with this site. If you're already logged in your Google account with your browser, you just need to authorize it and you're ready to go.
Similarly, if you're already on your phone, it makes no sense to have to manually go get a code, when it can be done automatically. The whole point of the code is when you want to sign in on another device.
Of course, I don't mean in the background without your knowledge, I mean, you press a button, and Android automatically uses the Google Auth app with that action, and the authentication happens with you explicitly allowing it.
I second www.keybr.com but I also like to point to http://typing.io/ which lets you write code from open source software for a lot of different languages.
The best way to get better at typing is only through intentional practice.
I recently found typing.io and try to spend some time mashing out some good code as consistently as I could.
The nice thing is that they provide statistics over time as well as after each round of typing. What I started to realize were a couple bad typing habits and could respond appropriately. I made a mental note of the places where I concisely had bad form and rinse and repeat.
This website is designed with training for programming in mind. Its good at working your right pinky finger out, as well as teach the top row. You'll just need to sign in with google to get access to the free version. And there is a premium section that helps give more feedback that I have not tried.