1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【非エンジニアに読んで欲しい】システム開発に対する心得

Posted at

はじめに

この記事は非エンジニアに向けて書いています。

理由としてはクライアントや決定権を持っている人は開発やプログラミングのことをあまり知らないことが多いからです。

そのため、エンジニア側の都合とクライアント側の都合がよく衝突します。

私は受託開発の会社で働いているのですが、クライアントは売上を増やすために無理難題をぶつけてきます。

保守性を一切考えないような機能開発をしたがります。

しかし、システム開発で最も重要なことは持続可能性です。

もちろんMVPやpocレベルでは保守性を無視しても良い場合もあるでしょう。

しかし、システムが膨れ上がってしまった場合、いづれ損益分岐点に達します。

ここで適切にリファクタリングやリプレイスの提案が通れば良いのですが、私が経験した限りで言えばほとんどの場合提案は通りません。

なぜなら経営者もVCや銀行から調達した資金を投資しているからです。

これは文字通り自分の血となる金をつぎ込んでいます。

経営者は毎日自分の血を垂れ流しながら働いています。

そんな人達が、利益も出ない、表示上何も変わらない物にお金を払うと思いますか?

答えはNOです。

つまり、エンジニアは保守性の重要性を決裁者に分かるまで伝えなければいけません。

そして経営者はシステム開発を学ばなければいけません。

自らコードを書かないといけません。

お互いがお互いの利益だけを主張しても軋轢しか生まれません。

お互い相手の状況に寄り添い、想像し、創造する必要があります。

どちらかが得をしようとすると、必ず憎しみが生まれます。

お互いが利益を生み出すように、お互いが誠実にビジネスしましょう。

エンジニアも自らのアートなコードを押し付けてはいけません。

経営者側も、自分の利益だけを考えてはいけません。

この記事はシステム開発をしたいが、プログラミングがよく分からないという方の為に書いています。

プログラミングの始め方

これは私より遥かに詳しい方が書いた記事が沢山あるので、詳しく知りたい方はそちらを読んでください。

あとはAIに聞いてください。

今やもう中学生がとんでもない、世界を変えるようなシステムを1人で開発していたりします。

誰でも簡単に情報を取得できる素晴らしい時代になったので、まずはやってみて下さい。

詰まったらAIに聞いて、とにかくガムシャラにやってみて下さい。

それでどうしても無理だったら、自分が何故上手くいってないのかをエンジニアに聞きましょう。

こういうことを言うとよく「そんな暇がないから委託しているんだ」という人がいますが、そんな考えだから搾取されるのです。

この世のビジネスの多くは情報の差分をお金に変えていると思っています。

エンジニアもそうですよね?
今までに培った知識をお金に変えています。

情報を自分より持ってない人に対して、情報を持っている人が対価を頂く。

ここに価値があります。

つまり経営者側の人は情報の差分を減らす努力をしなければいけません。

そうしないと必ず軋轢が産まれたり、搾取されたりします。

人類みな様々なチャネルに興味を持ち、常に学習し続けなくてはいけません。

人間は変化を恐れます。
ホメオスタシスがあります。

しかし、DNAは常に変化し続けたことで何十億年も持続してきたのです。

人間はただのDNAの乗り物でしかありません。

私たちは全員種の保存という観点からすると、働き蟻や働き蜂となんら変わりません。

その世界で生き残るためには、常に自身を変化させ続け、向上し続け、学習し続ける必要があるのではないでしょうか?

システム開発になぜ保守性が重要なのか?

事業というものは情報商材屋さんでもない限りは、基本的には売上は徐々にしか伸びていきません。

売上を安定的に伸ばし、成長し続けていかないと資本主義の競争社会では生き残れないため、持続可能性という観点が非常に重要になってきます。

そして、持続可能性を保つためにはコードをクリーンに保つ必要があります。

コードをクリーンに保たないとシステムが属人化し、徐々に腐敗していきます。
組織が腐っていきます。

ただでさえ機能を追加していけばエントロピーが増大して、複雑性が指数関数的に増えていくのに、ここにスパゲッティコードも絡まると、主要メンバーが一人でも抜けてしまうと途端に崩壊するサービスの出来上がりです。

私はこの世に一つでも多くのサービスが出てきて、伸びたほうが人生が楽しくなると思っている。

だからこそ最初からクリーンな、可読性の高いコードを書き、属人化を防ぐことが大切です。

誰も知識のない人と一緒に働きたいとは思いません。

レベルの高い人はレベルの高い人と働き、レベルの低い人はレベルの低い人と一緒に働きます。

自分の水準を上げて、幸せな環境で働きましょう!

最後に

私は今エンジニアをしながら自身の法人を持ち、自分のサービスを作り、伸ばしているところです

もしこの記事がためになると思いましたら、いいね頂けるととても嬉しいです。

ここまでお読み頂きありがとうございました。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?