Servo.write() takes an angle 0-180. If you want to use values like 1400, 1500 then you should really use writeMicroseconds(). The library will try to use the values you give it but it makes the code confusing to read.
And attach() will send a default of write(90) which is equivalent to your 'pos' which is why the servo runs immediately.
Steve