【危険!】プログラマー中級者が事故らないように意識すべき3つの事

この記事は約4分で読めます。

スポンサーリンク

私がプログラミングとは何かを徐々に理解していった時くらいに陥った黒歴史について語ります。恐らく誰もが陥りやすいことかと思われますので、参考になれば幸いです。

自分がやりたいようにやってしまう

人って力を持つと試さずにはいられないんです。自分のスキルを誇示したくなります。だから、可読性とか性能、現場のコーディング規約を考慮せずに「自分が書きたいように」書いてしまいます。

switchがあまり好きじゃないので使わない、分岐処理をなるべく減らしたいからすぐに例外をnewして投げちゃう、ステップ数を減らしたいからメソッドを呼び出す時の引数の生成も引数の中で行うからぱっと見何してるのかわかりづらい・・・(String hoge = this.method1(this.method2(this.method3())); みたいな ) など、自分がやりたいことをやってしまいます。

簡単に言うとラーメン屋に行った時、塩ラーメンを頼んだけど大将が「今は塩を作る気分じゃない!味噌を食え!」って言って味噌ラーメンを出してくる感じです。客が何が欲しいかより、自分がどうしたいかを優先させてしまう。中級者にありがちなミスです。

結局レビュー時に弾かれて大恥をかくことになるので、仕様とかは知ってる人、設計者などに確認しながらコーディングしていきましょう。

では、中級者はどのように開発を行えば良いのか?私が気を付けていることを挙げます。

意識すべきこと①顧客、上司が望んでいるものを作ること

先述した事を考えれば当然ですよね。私は自分が「なんでこんな仕様にすんねん・・・」と思うようなシステムも作りました。結果バグが出ようと、性能が悪かろうと、            それが要望なのですからその通りに作るのがプロの仕事です。

あと、なかなかコーディングをさせてもらえずにテストばかりやっていた時期もありました。私は駄々をこねて、自社に愚痴りました。もちろん、自社として上流会社に対応してくれましたが、その時に言われた一言にハッとしました。

「お客さんから仕事を貰っている立場なんだから、やりたいことだけやればいいってもんじゃないんだよ」

今見返せば至極まともというか当然の事に聞こえますが、私は当時イケイケのプログラマー中級者。そう、一番愚かな時期。そんなこと、 余裕で見失ってました(照)

私はその頃から何事も謙虚に取り組むようになりました。あの一言には今でも非常に感謝しています。

意識すべきこと②スキルが下な人には優しく接する

開発者ってすごく多いと思うんですが、自分より技術が下の人を見下したり、質問されてもちゃんと答えなかったり、現場のスキルとかについての愚痴を言ったりするのは絶対やめましょう。私がよく経験した質問とその答えの例えですが、

「ラーメンはどこでどうやって作ればいいんですか?」

技術者「麺は小麦粉でできてるよ」

上記のような答えしか返ってこないんです。「あぁ、この答えでラーメンの作り方がわからない自分はスキルが不足しているんだ。もっと勉強しないと・・・」とか悩んでしまいます。今思い返せば、違います。

本当に頭の良い人は、わからない人に「わかるように」説明してくれます。

つまり、上記のような人は頭が悪いし、人格としても未熟です。

もっと具体的な話をしましょう。心構えとかではなく、私が意識していることはもうひとつだけあります。(多ければいいってもんじゃない)

意識すべきこと③品質の高いシステムを作る事

中級者でも意識すれば品質の高いシステムに近付けることが出来ます。しかしシステムの品質は、設計の時点でほぼ決まっているというのも事実です。

というか、品質ってなに?バグが出ないことでしょ?と思いますが、品質とは「属性の集合」と聞いたことがあります。属性はググれば多分7種類出てきますが、全部意識する必要はありません。私が意識しているのは以下の三つです。

  1. 信頼性(バグが出ないこと)
  2. 理解容易性(誰が見てもわかりやすいコード)
  3. 変更容易性(誰でも改修しやすいコード。拡張性とも類似)

開発者が意識して変えられるのは上記の三つです。ただ言われたことをやっているだけの開発者よりは、意識して取り組むと差が付けられると思いますよ。

スポンサーリンク
いかがでしたでしょうか?
このブログでは、他にも多くの参考になるような
システム開発に関するリアルな情報や、
人間関係論の非常に勉強になる記事を発信しています!
少しでも興味のある方は、是非覗きに来て下さい!
[ブログ] システム開発現場のリアルな情報
今回は以上です!

スポンサーリンク

コメント

タイトルとURLをコピーしました