iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

基礎は大事

こんにちは。2度めの登場となる阿部でございます。

先日誕生日を迎えました。
まあ、人生後半戦に差し掛かっている身としては「誕生日 冥土の旅の一里塚 嬉しくもあり 嬉しくもなし」といった心境ですが。

今回は自分の身の上話も少し交えつつ基礎の大切さについてちょっと書いていこうかなと思います。

仕事というのは多種多様です

何故か弊社HPに採用された文章の通り、SE(と言うかコーダー)として15年間やってきたわけですが、この仕事の宿命でしょうか、いろいろなところで仕事をさせてもらってきました。

  • 製造業の図面管理システム(最初の仕事で基本設計からやらされるという今考えると超無茶振り)[PHP/Java]
  • 携帯電話向けサイトの構築(しかもガラケー時代)[Java/PHP]
  • チェーン店の本部会計システム[VB.net/Java/PHP]
  • ネットワーク機器検査デバイス用のHTTPクライアント[C++]
  • ソーシャルゲームのバックエンドサポート[PHP/Ruby]
  • その他諸々

こうやって見ると本当に節操ないですね・・・
仕事の内容も言語もバラバラで、正直自分の強みと言われても「どんな言語でもなんとかする」ぐらいしか思いつかないのが現状だったりします。

そのせいか、途中参加でプロジェクトに入ることも多いのですが、そんな時は他の人が書いたソース読むことにより状況をキャッチアップするのですが、その際に大事なのは様々な部分の基礎なのだと思います。

基礎といっても色々あるわけで

コードを書き、アプリケーションを作る者と基礎としては、「ソースを読み、理解する」ことだと思います。
ソースを読むことにより、コーディングルールなどの表面的なものもそうですが、設計志向などドキュメントだけでは解りづらいことも身に入ってくるので、ソースを読むということは個人的には大切なことだと思っています。(個人差は大いにあるとは思いますが)
意外な副次効果としては「オープンソース系のライブラリ等をいじれる」なんてこともありますが、これはあくまで余録だと思っています。
できると重宝がられますけどね・・・。

一方、プロジェクトを推進する上での基礎はやはりドキュメントでしょうか。
基本的な構造を記したものから、各機能の詳細処理を記述したものまで多岐に及びますが、どれも大事なことは言うまでも無いことです。
ものを作る上での設計書がぶれていてる状態でいいものができるわけがありません。
・・・その割にはかなり軽視されていることもありますが。
ドキュメントの完成度と読みやすさはプロジェクトの成果物と密接に関わってきている気がします。
なにせ、ちゃんとしたドキュメントがないと、途中参加のメンバーの生産性に天と地ほどの差がでます。
ドキュメントを記述するときに気をつけていることは「誰が読んでもわかる」ことでしょうか。
マニュアル作成の時にはよく言われることですが、設計書の作成時にも気を使わないと意味のないドキュメントになりがちだったりします。
その分、文量が増えて読みにくいと言われることもありますが・・・

段々ととりとめなくなってきましたが・・・

物事を長く続けていく、いいものを作っていくには、やはり基礎は疎かにしていては行けないと思います。
何かの壁にあたった際にも基礎に戻って見るのも解決の糸口になるのでは無いでしょうか。