I'm a speedcuber with an official (World Cube Association) 3x3 average of 10.01 seconds. I use the CFOP method, which is 50-60 moves on average. The other popular method for speedsolving the 3x3 is Roux, which is ~5 moves lower.
There's another event the WCA conducts called Fewest Moves Challenge, or FMC in short. In this event, you're given a scramble and one hour to find the shortest solution to that scramble. The world record solve for that is 17, with just 20 people having an attempt <= 20 moves. There's no fixed method like CFOP or Roux that people use for FMC. The general heuristic is to solve as many individual pieces as possible at once with a few moves and then use commutators to solve the rest. It's all pretty interesting - check out Ryan Heise's website! (https://www.ryanheise.com/cube/commutators.html)
Graphics programming seems to be very interesting to me, especially after watching cool stuff like this. Can anyone point me out to good resources where I can start learning it?