プログラマやシステムエンジニアなどの求人情報を見ていると「契約社員」という形態での募集が多いですよね。
実は「契約社員」という言葉は、明確な定義がありません。
企業ごとに違いますが「プログラマをはじめ、専門的な技能を持つ人と、期間を定めて雇用契約を結ぶ」という方法を取っているところもあり、そのような立場の人を「契約社員」と呼ぶケースがあります。

他には、非常勤の人、定年後にも嘱託の立場で働く人を「契約社員」と呼ぶこともあります。

プログラマの人が転職を希望するなら、「契約社員」という言葉だけではなく、「どのような契約を結ぶことになるのか?」を必ずチェックすることが大切です。

プログラマやSEのような、技術・能力を必要とする職種の人が、契約社員として迎え入れられる場合は「その企業の、従来の給与体系では対処しきれない場合」に、特別な契約を結ぶというケースが多いです。
そのため、転職をする前に「どのような契約内容なのか」を話し合い、納得がいってから転職をするのが良いでしょう。

契約社員のメリットは「いきなりクビになる心配はなく、契約期間が終わるまでは、その企業ではたらくことができる」という点でしょう。
ただし、働いている間に「プログラミングの能力がない」と判断されると、契約を更新してもらうことができず、契約満了と同時に会社を去ることになります。
逆に、契約期間に高い実績を残すことができれば、その会社での正社員登用が期待できるかもしれません。