プログラミングの極意は作らないこと

プログラミング

【初心者向け】プログラミングの極意は"作らないこと"

「作るのが仕事では?お前は何を言っている?」 と思うかもしれませんが、重要な思考です。
この機能がほしいと言われるがままに作ると保守・メンテナンスの手間は増える一方。
エンジニアの働く時間も資源の一つなわけですから、節約しましょう。
そして、こういう提案ができるとお客様やチームメンバーに喜ばれますし、契約の継続、さらなる案件獲得につながります。

ぜひ、この記事を参考にして、開発しないでお客様に価値提供して喜ばれる人材を目指してください!

開発する前に確認するポイント

このツールでできますよ

どこの企業もビジネスの諸問題を解決するためのパッケージ・ツールを何種類か持っています。
ツールを活用しつつ、自社の運用に合わせるため、カスタマイズ開発しているケースが多いです。

こういったパッケージ・ツールは会社がわざわざ買ったものであり、業務を効率化するために存在します。
ですので、ノンコーディングでプログラミング不要であれもこれもできます!が特徴ということも。
せっかくツールにお金を払っているのだから、まずはツールの機能でやりたいことが実現できるか調べましょう。

開発した方が速いし、調べるのは面倒という気持ちもよくわかります...
確かに優秀なエンジニアは調べるよりも、さっさと自身のスキルを活かして作ってしまう方が速いこともありますよね。

それでも、やはり開発しなくて済むならば、その方がよいです。
開発する場合は、設計・テスト・リリース、そしてずっと保守していく必要がありますよね。
そのコストを考えれば、極力ツールの機能でできた方がお客様のためになると思いませんか。

ツールの使い方をよく知っていると、チームで頼られることも増え、ポジションも確保しやすくなります。
ポジションを確立して、必要な人材になれば、当然単価・年収のUPにつながります。

ツールがどのくらい社内に浸透しているかも把握しておくのも大事です。
同じ企業で似たような機能を持ったツールがいくつもあったりします。
その場合、多数派のツールを利用していくのがいいですね。
困ったときに聞ける人が多い、ツールが継続利用される可能性が高いというのは重要なポイントです。

それを作ったら誰が喜びますか?

開発のリクエストを出してくる人は、要件や業務のプロではないことも。
リクエスト通りに開発しても目標を達成できないリクエストの場合があります。
ですので、一緒に目標を達成するための最適解を一緒に考えたり、相談するのがよいです。

それはエンジニアの仕事ではないと考える人もいるかもしれません。
でも、意味のないものを作るよりは、顧客ツールの利用者が喜んでくれるものを作りたくないですか?

コストに対するベネフィットの観点から、やる意味なくない?ということもあります。
これも積極的に提案、相談していきましょう。
場合によっては、こちらの業務の理解不足により、価値が感じられないこともわかって、いずれにせよ勉強になります。
こういった業務に寄り添う視点で協力してくれるエンジニアは意外と少ないので重宝されます!

ちなみに見出しの”それを作ったら誰が喜びますか”を堂々と言い放った人がいました。
ストレートにこう言っちゃうと敵を作りがちです。
リクエストを出してくる人なりに色々考えているわけで、いきなり批判は反発を生みますよ…

他のチームで同様の機能を持っていますね

いくつも開発チームがある場合、同様の課題に直面し、既に解決済みの場合があります。
普段から他のチームともコミュニケーションをとるようにし、どんなものを作っているか知っておくとよいです。
これにより、会社全体の業務領域や構造、アーキテクチャ全体像がよりクリアにもなります。
そうすると、自チームだけでなくほかのチームにも貢献するような開発もできるようになります。

上記のような協力体制ができると、同様の機能を持っているかの問い合わせもしやすくなります。
相互に機能を提供しあえると開発の効率もよくなるので、他チームの動向を知っておくのは重要です。

標準ライブラリに同様の機能がありますよ

いわゆる「車輪の再発明」ですね。
自戒の意味も込めて書いていますが、年配の方が自分で作ってしまうことが多い気がします。

プログラミング言語も少しずつアップデートしています。
ちょっと前までは自前で作ったり、追加のパッケージのインストールが必要だったりしたものが、標準機能だけでできるようになることも。
最低限、自分がよく使うものについては最新の情報をキャッチアップしていきましょう。

まとめ

以下ポイントを意識してみてください。
言われたことだけやる人が多い中、この意識を持って案件に取り組めば、差が明確になります。
最小限の努力で最大限の効果を上げたい方はぜひとも実践してみてくださいね。

  • プロジェクトの持っているツールで実現できないか
  • どの開発がどのようにお客様の役に立つかを意識する
  • プロジェクトや会社の中で同様の機能を作ったことはないか
  • 開発する際に、プログラミング言語の標準機能でできないか

ITエンジニアを目指したい方に

現在はホワイト企業でITエンジニアとして楽しくやっていますが、元々は文系大学中退ニートからのスタートです。
プログラマー、システムエンジニア、色んな呼び方はありますが、やればやっただけ成果を出せるのが特徴。
ITエンジニアに興味のある人は、ぜひこちらも参考にしてみてください!

-プログラミング
-, ,