プログラマーと言えばおもにその3つの働き方、契約形態があります。自社開発というのは入社した会社の中で自社の製品開発やサービス開発の業務に携わる事です。受託開発というのはお客さんから仕事を受けて、お客さんのために製品やサービスを開発することです。作成したモノの納品に対して支払いを受けます。働く場所は自社の場合もあるしお客さんの社内の場合もあります。SESはお客さんから仕事を受けて、お客さんの会社に行って働きます。客先常駐という言い方もする。人貸し時間貸しなので派遣と似てます。