Programming as a team means trying to write as much "good code" as possible. This video covers a few important computer science principles for writing good code.
The FTC also provides this guide, which also covers the very basics of setting up a robot. For this guide, programming examples presume you will be using the Android studio IDE.
While we don't use it when we're learning to code, this text is a great introduction to Java programming concepts—and it's written to include the basics of programming FTC robots.
Coach Pratt has led several teams to FTC national championships. His YouTube channel contains a lot of excellent videos explaining basic (and advanced) concepts in robotics programming.
This specially designed odometry computer, which can be purchased with pre-built odometry pods, simplifies much of the calculation involved in robot localization.
Team X (#23512) from Silicon Valley talk about how they started using goBILDA's Pinpoint system. Also includes an excellent discussion of PID controllers.