あなたの知らない?
システム開発の世界

システム開発会社の人って、みんなプログラムを書けるんでしょ?

答えは「No」です。意外かも知れませんが、会社によっては、システム開発を請け負う会社なのに、プログラムを書ける人が居ないって事もあります。(正確には、昔書いた事はあるけど、実用レベル、納品レベルでは書けませんって状態になっている)新しい技術を評価する際にも、プログラミング能力は必要だと思うんですが・・・・

因みに、弊社のメンバーは、100%プログラムが書けます。なにせ、コード(プログラム)なヘッド(頭)ですから。

上へ戻る

システム開発会社と言っても、色々な会社があります

規模

システム開発会社と言っても、大企業~中小、フリーランス迄様々ですが、良いシステムが出来るかどうかは、大きく人に依存します(後述)。実際には、企業の規模は、ほぼ関係しません。

しかし、開発するシステムの規模により、企業規模により、出来る事、出来ない事があります。1年2年かかる様な、大規模のシステム開発の場合、能力的に光る中規模、小規模の開発会社でも、開発期間のキャッシュフロー的に厳しい場合があり、そもそも、開発を請ける事が出来ない事もあります。(その場合でも、着手金、中間納品、分割清算等が可能であれば、お受け出来る場合もあるかと思います)

  • 大規模企業
  • 上記の様に、大規模な開発であるとか、安心感(、保険)が欲しい、又、非常に高額な設備、機器が必要と言う事であれば、大企業、ほぼ一択となります。但し、開発費用は、高めになってしまいます。

  • 個人、フリーランス
  • 逆に、個人、フリーランスの方へ依頼される場合、企業へ依頼するより安価で済む事も多々あると思いますが、不測の事態で開発が遅れた場合、基本1人ですのでカバーが出来ない。副業として請けている場合、本業の忙しさに引っ張られて、時間が取れない等、納期に対して、不安定要素が出る事もあります。品質に関しては、前述の通り人次第です。実際に、もの凄いスキルをお持ちの方もいらっしゃいます。期間を緩めに設定して依頼すれば、安く上がる可能性はあります。

  • 中規模、小規模企業
  • お客様の目的にもよりますが、一般的に、安くて良いシステムが欲しい場合、中規模、小規模の良いシステム会社を、しっかり見極めて、御依頼されるのが、賢い選択だと思います。選択を誤ると、大企業の劣化コピーの様な会社もありますので、見極めは、しっかり行う必要があります。

得意分野

システム会社の仕事って何があるのでしょう?
営業や間接部門を除いた役割をおおまかに出してみましょう。

  1. お客様と話をして、システムの仕様を決めていく
  2. SE(システムエンジニア)、システム寄りのコンサル

  3. プログラム開発(、設計、テスト)
  4. SE(システムエンジニア)、プログラマ
    ※現在では、専門分野が細分化されています

  5. サーバー構築、ネットワーク設定、機器選定等のインフラ構築
  6. ネットワークエンジニア、サーバーエンジニア、インフラエンジニア
    ※現在では、専門分野が細分化されています

  7. 開発プロジェクト全体の取りまとめ、スケジュール管理
  8. プロジェクトマネージャ、プロジェクトリーダー

企業により、出来るの分野、得意分野が異なります。

企業規模に関わらず、エンジニアの派遣をメイン業務としている企業は、上記トータルで、仕事を請けるのが苦手な事が殆どです(勿論、例外はあります)

「受託開発」を謳っている企業でも、1,4しかやらない。又、2しかやらない(≒出来ない)、3しかしかやらない企業がありますが、これらの企業は、通常、複数の企業共同でシステム開発を行います。

弊社の場合、1~4全て、トータルで行う事が出来ます。この様な企業も、少数ですが御座います。

トータルで受託出来る企業のメリット

  • 全体最適化される
    • 複数社で分担する場合、分業の関係上等で部分最適になってしまう事があります。弊社の様に、トータルでこなせる場合、全体的な設計の最適化がされ、結果、トータルコストが下がります。
    • 提案、設計段階から、最新の専門知識をベースにした、絵空言でない、現実的な御提案が可能
    • ・20年前の治療法方で虫歯を治したいですか?
      ・実際には、不可能な治療法を提案されたいですか?
      ・最新の専門知識を使う事により、同じものを安く(=短期間で)作れる場合もあります
      ・場合によっては、昔と比べて、1/10の作業量で作成出来る事もあります。

    • 伝達ロス、ミスが限りなく少ないので、お客様の要望に沿ったものが実現出来る
    • 伝言ゲームも繰り返せば元の意味とは・・・

  • 品質の向上
  • ・全体最適化により、無理な部分が無くなり、シンプルな仕様、改修しやすい拡張性が高い仕様で作成出来ます。

  • コストメリット
  • 上記の結果として、開発時、後のシステム改修時にも、コストメリットが出てきます。

実際の各々の行程、作業は、完全に独立しておらず、密接に関連しあっています。品質、トータルコストを考えれば、トータルでお受けできるシステム会社を、お勧めします。

上へ戻る

システム開発の成否は、人に依存します

意外に思われるかも知れませんが、良いシステムが出来るかどうかは、大きく人に依存します。厳密に言うと、システムの仕様(どんなものを作るか)を決める際、中心的に関わるエンジニア(SE、リーダー)の力量に大きく依存します。例えば、同じ会社に発注しても当たり外れがあったりします。

結局、システムと言っても人が使うものです。人(お客様)と話して、人が考えて、人がシステムを作ります。 実際に、発注される前に、中心的に関わるエンジニア(SE、リーダー)と話をして、任せられそうか見極める事をお勧めします。 ポイントになるのは以下です。

コミュニケーション

この段階で、上手くコミュニケーションを取れない場合、先行きは暗いでしょう。本当に出来る人は、専門用語でも、相手が理解出来る様に表現を調整しながら話をします。(伝わらないと意味が無いですから)

専門用語をまくし立てたり、言葉のキャッチボールが成立しない様な場合、良くない兆候です。いくら技術的に出来る人でも、お客様にとって、良いシステムが出来るわけがありません!

技術、知識

残念ながら、エンジニアとしての優秀さに保有資格は、実はあまり関係ありません。(技術の移り変わりが速いので保有資格が陳腐化するのと、試験用の暗記は実務では必要ありませんので)

優秀なエンジニアは、必ずしも会社の活動としてではなく個人的にでも、新技術、ニュースにアンテナを張っています。技術系のニュースサイトをどの位の頻度で、チェックしているか等聞いてみると良いかも知れません。ほぼ毎日チェックしている場合は、良い兆候です。 (会社内外)個人的に、新しい技術の勉強や、開発をしているとか、開発系コミュニティの勉強会に参加している場合も、良い兆候です。

※実際、ここの見極めは同業者以外だとなかなか難しいと思いますが・・・「新技術の吸収は大変ですね、勉強会なんかも良く参加されるんですか?」的な質問をすると良いかも知れません。

安心感

データ漏洩や、消去等のデータ事故は、場合によっては、お客様業務に致命傷を与えます。貸し出し資料の扱いや、お客様データに対しての意識が雑だと感じた場合、システムもその意識で作成される可能性が高いです。

又、詳しい資料も出していないのに、一発で、最終見積が出る場合、警戒した方が良いかもしれません。(本当に適正価格なのか?)
何を聞いても「出来ます」という場合も警戒した方が良いかもしれません。無論、本当に出来る場合もありますので見極めは難しいですが、一部は「持ち帰ってちょっと調査します」の方が安心感ありますよね。

上へ戻る

良いシステムってなんでしょう?

弊社が考える、良いシステムとは

  • お客様の制約内(主に、予算、期間)で、最大限に目的(システムを作る目的)を満足させるシステム
  • 完成した後も、余計なコストが極力かからない(ランニング、改修)
  • 後日発生しうる機能追加、改修に耐えうる作りになっている

その為に明確にすべき事

その為には、これらを明確にしなければ、なりません。

  • お客様の目的は何か?(場合によっては、お客様自身、逆に課題に近すぎて、本質的な目的に気づいていない事もあります)
  • 制約事項は何か?(予算、期間、運用コスト、その他・・・)又、どれを優先するか?
  • 具体的に、どの様な仕組み(人系、コンピュータ系)で解決していくのか?

上記を明確にし、トータルでバランスを取らないと良いシステムは出来ません!!

※結果として、大々的なシステムを組む場合もあれば、簡易な、Excelの自動化プログラム(VBA)を作るだけという場合もありますし、 極端な例ですが、システム導入のメリットが少ない場合、システムを作らないという御提案もさせて頂く事もあります。

求められるスキル

この判断には、高度なスキルが必要になります。

  • お客様にヒアリング、御提案する際の、コミュニケーション能力
  • 課題の分析能力、論理的思考、作成後のシステム、又、それを使う場面等をリアルに想像出来る想像力
  • 最適解を導き出す、構築力
  • 最新技術もカバーした高い技術知識
  • 品質の良い設計、開発を行う能力
  • etc…

上へ戻る

プログラマーの生態

プログラマーの生態 4か条(諸説あり)

  • 1か条.面倒くさがり
  • 「この作業面倒だな、やりたくないな」
     ↓
    「やらない為にはどうすればいいかな・・・」
     ↓
    「そうだ!プログラムで自動化しよう」
    の脳でできてます。

  • 2か条.電話派 vs メール派
  • メール派です。
    プログラマーは、よく自分の世界に入ります。
    自分の世界から抜け出すまでは、メール派です。

  • 3か条.夜行性
  • 朝は、目が開いているだけで、ほぼ寝てます。
    午前中は、元気がありません。(そっとしておきましょう。)
    午後になると、徐々に話し始めます。
    夕方になると、元気になります。
    夜になると、テンションが上がります。(ある意味、ほっておきましょう。)
    ※繰り返す

  • 4か条.甘いもの好き
  • 頭を使うからでしょうか!?仕事中、甘いものを欲します。
    なので、机の引き出しにチョコがあるのは当たり前の事なのです。

上へ戻る

都市伝説

実在する!?都市伝説エンジニアを紹介します。

  • 熊を倒す男
  • ある日、そのエンジニアは言いました。
    「俺、熊を倒したことがある」と。
    それも2回も!!

    本当かウソかは分かりませんが、伝説のエンジニアになりました。

  • サングラスを外さないポリシー
  • 打ち合わせもサングラスは外しません。
    作業中もサングラスは外しません。

    いつだって、どこだって、サングラスは外さない強い信念を持ったエンジニアでした。

上へ戻る