【文系でも知っておきたいプログラミングとプログラマーのこと】要約まとめ

システムエンジニア(SE)とプログラマー(PG)の違いについて。この本の説明は興味深かった。新鮮というか。後述します。

一般的な理解としては以下のようなものか。

PM(プロマネ) 会社でいうと部長さんか課長さん。プロジェクトの取りまとめ役
SE 客先と仕様を打ち合わせてプログラマーに指示を出す人。課長さんか係長
PG 指示を受けて、数人でシステム改善したり、ソフト作ったりする担当者

ある程度規模の大きな会社だったら、社内にシステム屋さんを囲ってるので、誰がSEとかプロマネとか意識しない場合も多いと思います。あそこに座ってる、〇〇さんに頼む。それだけです。

たとえば売上数百億円規模の事業部門の場合、その事業部門の企画部に、全社のIT企画あたりからIT担当者が派遣されてきて、事業部門の意向を受けて、IT関連の差配をする。

そういうIT担当者に聞くと、20人常駐でシステム屋さんを雇うと年間2億円。常駐の業務委託で保守運用、業務改善などを、子会社であるシステム関連会社に発注する。そこは一次下請けで、一次下請けは二次下請けの人間を混ぜて人件費コストを下げる。

20人で2億円だと1人1000万円/年なので、だいたい時給5000円以下か。常駐業務委託なので、スポット外注するより単価が安くなってる。

関西だったら、スポットでシステム改善を外注すると、時給4~7000円ぐらいが相場か。会社の規模や人材によって単価は違う。もちろん一流どころはもっと高い。

結局システム会社っていうのも、派遣や請負会社と同じで、中抜きの口銭が利益になってる。一次下請けは1人1000万円取って、抜いて社員や、下請けに渡す。二次下請けはさらに抜いて、社員に渡す。二次請けの人の年収は400万円/年ぐらいだったりする。600万円はどこに消えたんだ・・・。

より上流にいないと、実入りが少なくなる。小規模の会社にいる、あまりスキルのないPGは大変だと思う。



本書によると、

SEおよびコーダーの作業範囲は、
・webページのデザインや作成
・インターネットサーバの構築や運用
・web掲示板の設置
・ブログの設置や開設

一方プログラミングとは、
・webそのものを作りだす
・インターネットそのものを作りだす
・掲示板という概念を作りだす
・ブログという概念を作りだす

プログラミングは、時代を簡単に変えてしまうと。

もう少し具体的な説明は以下。

システムエンジニアは、実際にはプログラマーを兼ねることが多く、銀行や証券など、いわゆる基幹系システムの構築は、プログラマーと呼ばれる人はほとんど関わらず、システムエンジニアと呼ばれる人の独壇場。

プログラマーという職業の人はどこにいるのか?ソフトウェアを開発する会社や、メーカー、ゲーム会社、webサービス企業などにいる。

プログラマーによっては、SEを軽く見ている場合もある。SEが扱うプログラミング言語は最先端のものというより、枯れた(数世代前の)ものであることが大半で、バリバリのプログラマーが求める、最先端のプログラミングテクニックが使えないことが多い。

またSEが扱うシステムはあまりにも規模が大きいため、全体より部分を担当するケースが多く、そうした仕事に面白みを感じられなくて、SEを辞めPGとして働ける環境に転職するケースがある。

一般的にSEはスーツで9時5時勤務する普通のサラリーマン。職業PGのように短パン裸足で会社をうろつくことはない。

なるほど。目次は以下。

第1章 アイデアがみるみる形になるプログラマーとの仕事術
・なぜ「プログラミング」なのか,
・プログラマーとどう出会うか ほか

第2章 小さなコツで成果が変わるプログラマーとの付き合い方
・なぜ彼らはあんなに気難しいのか
・プログラマーの一日 ほか

第3章 「文系だから」は関係なし!楽しく始めるプログラミングの学び方
・プログラミングができるようになりたい人へ
・外国語とプログラミング言語の類似点 ほか

第4章 全くわからない人のためのプログラミングとコンピュータの基礎知識
・プログラミング言語とは
・コンピュータのしくみ ほか
付録 プログラミング&プログラマー用語辞典

その他の読書メモを。



PGに無理と言われたら、セカンドオピニオンを探せ

プログラマーの能力は、人によって何千倍も違う。これがPGという仕事の特殊なところ。

あるPGが半年かけてやることを、別のPGは1時間で終わらせることができる。難しいと思い込んでいる仕様や、調べるのが面倒くさそうな仕様を、PGが無理ということがある。PGが無理と言った場合、なぜ無理なのか本人に聞いても無意味。無理な理由しか言わない。

そういう場合は、外部のPGに相談する。

リファクタリングは許してはならない

リファクタリングとはソースコードの整理。いわば机の上を片付けている状態。プログラムをずっと書いてると、リファクタリングしたくなることが頻繁にある。耳掃除したり、歯を磨いたりするのと似ている。きれいにリファクタリングできると気持ちよくなれる。PGは多くの場合、自分の書いたコードをリファクタリングするのが大好き。

リファクタリングにはまると、作業はまったく進行しなくなる。リファクタリングというのはいつまでもできてしまう。整理方法を考えているだけで、PGは楽しくなってしまう。PGがリファクタリングにはまるのは、たいてい現実逃避。本当は作業が行き詰っているのに、ソースコードが整理されてないせいにする。

プロマネはPGがリファクタリングしてると言い始めたら、最大限の注意を払わなければならない。それはプロジェクトが暗礁に乗り上げる危険信号だから。

全角スペースとは?

プログラマーを発狂させる悪魔。プログラムは基本的にすべて半角スペースしか使えない。誤って全角スペースを半角スペースに混ぜてしまうと、コンパイルエラーが起きる。しかしプログラマーはすぐに問題を発見できず、発狂する。

デスマ

デスマーチ。死の行進を意味する。プロジェクトの出口が見えず、何日も残業が続き疲弊すること。ただ、それほどキツイ仕事でもないのに、デスマを自称するエアデスマの状態もよくみかける。デスマって嘆いていても、そっとしておくのが吉。

プログラミング言語とは

世界には数千のプログラミング言語があり、今も増え続けている。なぜそんなにたくさんあるのか?それは言語によって得意なことが違うから。ある言語では非常に複雑な書き方になってしまうことが、別の言語では非常に簡単になったりする。

現在よく用いられている言語には以下のようなものがある。機械語(マシン語)、C言語、C++、C#、ジャバ、ジャバスクリプト、オブジェクティブシー、スイフト、ハスケル、PHP、ルビー、パール、フォートラン、リスプ、コボル、スモールトーク。

厳密にはプログラミング言語ではないものの、プログラミングをするときに使う特殊な言語は、HTML,CSS,SQL,GLSLなどがある。

プログラマーはこうした様々な言語を組み合わせて使う。たとえばwebサービスを開発するには、通常4~5種類の言語を理解している必要がある。

以下に本書からの言語の特徴まとめを。

文系でも知っておきたいプログラミングとプログラマーのこと

文系でも知っておきたいプログラミングとプログラマーのこと

文系でも知っておきたいプログラミングとプログラマーのこと

文系でも知っておきたいプログラミングとプログラマーのこと

初心者のうちはお金を使わなくても、オンラインの入門サイトだけでたいていのことが勉強できる。本書のおすすめプログラミング入門サイトは以下。

http://dotinstall.com/

http://code.9leap.net/

http://jsdo.it/

http://www.phpbook.jp/tutorial/

http://www.rubylife.jp/rails/

PC用関連コンテンツ

シェアする