システムに命を吹き込む創造主――プログラマー:ITエンジニア職業図鑑(1)
プログラマー、SE(システムエンジニア)、プロジェクトマネジャー――IT業界のさまざまな職業を紹介する本連載、第1回は「プログラマー」に焦点を当てる。プログラマーの仕事内容、そしてやりがいとは?
一口に「ITエンジニア」と言っても、その仕事は職種によってさまざまだ。「ITエンジニア職業図鑑」は、「プログラマー」「SE(システムエンジニア)」「プロジェクトマネジャー」などのIT業界に存在するさまざまな職業を取り上げ、仕事内容や必要とされる能力、仕事のやりがいなどを紹介する。IT業界に興味のある学生諸君の職業選択の参考になれば、幸いだ。
第1回目は、ITエンジニアといえば誰もが真っ先に思い浮かべるであろう「プログラマー」を紹介する。マーク・ザッカーバーグ氏に代表される「学生起業家」の格好いいイメージから「デスマーチで徹夜続き」のようなネガティブなイメージまで、さまざまな印象を持たれるプログラマー。実際はどのような仕事をし、どのような人が向いているのだろうか。
プログラマーとは
プログラマーは、システムエンジニアが決めた設計に従って、コンピューター上で動作するプログラムの詳細な仕様を設計したり、コンピュータープログラムをコーディングしたり、動作検証をしたりする職業である。
システムエンジニアがどんなに頑張ってシステムを設計しても、動かなければ意味がない。プログラマーは、設計内容を動くシステムにするという重要な仕事を担当する。
プログラマーの仕事のやりがい
プログラマーの仕事の醍醐味(だいごみ)は、「自分の作ったものが実際に動く」ところだと筆者は考える。意図した通りにメッセージが表示されたり、画面が遷移したりするのは、とても楽しいものである。
また、生産性を高めるために専用ツールを作ったり、開発環境をカスタマイズして自分なりの道具をそろえたりする楽しみもある。
一方で、修正作業(デバッグ)で悶々(もんもん)とした日々を過ごすなどの、「産みの苦しみ」ともいえるつらい面もある。
プログラマーに必要なスキルは?
プログラマーが開発したプログラムは、顧客に納められ、その後、他のエンジニアによってメンテナンスされていくことが多い。従って、プログラムの仕様をしっかりとドキュメント化し、誰が読んでも理解できるような、分かりやすいソースコードを書くことが重要だ。
そのため、プログラマーには「論理的に物事を整理できる力」と「分かりやすい文章を書ける力」が求められる。また、当然ながら、「開発言語、プログラミングのデザインパターン、開発環境に関する知識」や「利用するミドルウエア(例えば「Oracle」などのデータベース)やフレームワーク(例えば「Java EE」や「Spring」)に関する知識、経験」も必要である。
プログラマーに向いているのはどんな人?
プログラマーの仕事はプログラムを作ることなので、「ものづくりに喜びを感じる人」が向いている。
プログラミングに関わる「几帳面(きちょうめん)さを持っている人」や、「地道な作業をいとわない人」も向いている。また、継続的な学習が必要であるため、「自己投資してでも勉強することをいとわない人」でなければ務まらないだろう。
さらに、プログラマーは、デバッグという神経をすり減らす作業をこなさねばならない。そのため、適度に力を抜いて気分転換できるような「柔軟性」や、「何としても解決するぞ」という「忍耐力」が必要となる。
プログラマーの1週間
プログラマーはどのような生活を送っているのだろうか。架空のプログラマー「Aくん」に登場してもらい、彼の1週間を紹介しよう。
Aくんは、入社3年目のプログラマー。Webベースの顧客向け販売システムの開発プロジェクトに携わっており、5年先輩の社員と共に、プログラム設計およびコーディングの工程に入っている。
紹介するのは、仕様書のレビューとコーディングが主なタスクとなっている週だ。
曜日 | 出退勤 | Aくんの行動 |
---|---|---|
月曜日 | 9:00出社 20:00退社 |
毎朝行われる朝会に出席。その後、Aくんが書いたプログラム仕様書を、先輩およびプロジェクトメンバーにレビューしてもらった。たくさんの修正指摘を受けて修正。指摘が思ったよりも多く、修正に手間取る |
火曜日 | 9:00出社 19:00退社 |
朝会出席。昨日指摘を受けた修正部分の再レビュー。軽微な指摘はあったものの、内容には問題がなかったため、自分のPCで開発環境を立ち上げてコーディング作業に着手 |
水曜日 | 9:00出社 19:30退社 |
朝会にぎりぎりで間に合い先輩に怒られる。昨日に引き続きコーディング作業。コンパイルがなかなか通らず、やっと動いてもおかしなランタイムエラーが出て、頭を悩ます。開発環境の設定にミスがあったことが原因であると判明 |
木曜日 | 9:00出社 19:00退社 |
朝会では昨日の作業中に気が付いた設計上の懸念点や開発環境の設定事項について報告。メンバーで軽く議論し、設計に関する問題は先輩SEが課題管理表に登録することになった。Aくんは昨日に引き続きコーディング作業。プログラムの動作確認、コーディング規約に沿っているかどうかを確認して、先輩に進ちょく状況を報告して帰宅 |
金曜日 | 9:00出社 20:00退社 |
午前中はプロジェクト全体の進ちょく会議。午後から先輩とソースコードレビュー。「プログラムソースに書き込むべきコメント情報の記載が不十分」と指摘があり、コメントを追記して修正する |
次回予告
「ITエンジニア職業図鑑」、次回はプロジェクト全体を切り盛りする「プロジェクトマネジャー」を紹介する。
新田一樹(にったかずき)
1999年、大手SIベンダーに入社。メディア、エネルギー業のシステム開発に携わり、JavaやCでの設計・開発を担当。2005年にシステムコンサルタントに転身。
現在は野村総合研究所 産業ITコンサルティング部に所属。専門はシステム化構想・計画策定および現行システム調査
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 新卒で子会社立ち上げを任されたエンジニアが明かす、就活の極意とは
本連載では、IT企業の最前線で活躍するトップエンジニアに、学生時代に行った就職活動の内容や、これから就職活動を行う学生へのアドバイスを聞いていきます。今回は、学生時代に開発したアプリケーションが内定先のサイバーエージェントの藤田社長に認められ、子会社シロクの事業立ち上げを任された片岡直之氏に、就活生に向けたメッセージを伺いました - 「忍」と書いてシステムエンジニアと読む〜仕事の「りある」
「システムエンジニアってどんな仕事をするの?」「IT業界は3Kって本当?」――現役SEがエンジニア100人に聞いたアンケートを基に、エンジニアの「りある」を紹介します - 面接に通る「職務経歴書」の書き方【プログラマ編】
職種別に、職務経歴書・自己PRのサンプルを紹介。それぞれのポイントを、キャリアコンサルタントが解説します - 「無料モデルに興味はない」「プログラマは創造的だ」〜セオドア・グレイ氏インタビュー
2002年のイグ・ノーベル賞に輝き、iPadアプリ「元素図鑑」や、過激な科学実験を紹介した書籍の作者でもあるセオドア・グレイ氏に、ものづくりについて聞いた - 文系女子が、ゼロからプログラマになる方法
大学時代はまったくプログラミングをしたことがなかった社会学部出身の「文系女子」が、プログラマとして働くようになった理由と、その学習法とは?