Trouble with test program for traxxas rc car with an ESC

Im new to arduino programming, in fact this is my first project. I’m using the arduino to control a Traxxas Stampede with and ESC. I want the program to make the car turn left, go forward, stop, turn right, go backward, stop, and repeat. The problem is that it will turn left, go forward, stop, turn right, then do nothing, and repeat. What’s weird to me is that once in a while it will go backwards when it should, but only about once every minute or so. If i modify both of the functions to go forward only, it works fine, same as if modify it to only go backwards. Here is the code I put together.

//Test Routine Program - By Stezipoo

#include <Servo.h>

//create servo objects
Servo steering; 
Servo throttle;

int ledPin = 13;
int center = 95;
int right = 55;
int left = 130;

void setup() 
{
  pinMode(9, OUTPUT);     //sets pin 9 to output
  pinMode(10, OUTPUT);
 
  steering.attach(9);   // attach steering servo to pin 9
  throttle.attach(10);  // attach ESC to pin 10
 
  steering.write(95);   // centers steering
  throttle.write(90);   // sets mid throttle
}

void loop() 
{
  goLeft();
  goRight();
}
 
 void goLeft()  // turn left, then go foward and stop
{
  steering.write(left);  // turn left
  delay(10);
  digitalWrite(ledPin, HIGH);
  delay(500);
  throttle.write(120);  // go forward 
  delay(500);
  throttle.write(90);
  digitalWrite(ledPin, LOW);
  delay(2000);
}
  
void goRight()  // turn right, then go backward and stop
{
  steering.write(right);  // turn right
  delay(10);
  digitalWrite(ledPin, HIGH);
  delay(500);
  throttle.write(60);  // go backward
  delay(500);
  throttle.write(90);
  digitalWrite(ledPin, LOW);
  delay(2000);
}

Any suggestions on how to solve this problem would be greatly appreciated =]

Perhaps a throttle level of 60 is not low enough to get the car moving backward. Try 30 or even 0 to see if that works better.

That was one of my first thoughts, but when I modified the program to only go backwards 60 is enough, also the car has a pretty high top speed even in reverse, so I'm afraid if I use a lower number it will fly across the room and smack a wall xD.

Ramp the throttle up and down smoothly - ESCs tend to cut out (for safety reasons) if the control signal isn't behaving in a nice way.

I figured out what the problem was. The way the ESC is programmed you have to reverse the throttle once, go back to neutral, then reverse again before it will move backward. So all I had to do was add another line of code to simulate reversing the throttle twice.