システムエンジニア、ソフトウェアエンジニア、など同じプログラムを扱う働き方でも呼ばれ方が違うわけですが、いずれにしてもエンジニアとして働く場合、覚悟しなければいけないことがいくつかあると思っています。それをテーマに今回は書いてみたいと思います。
目次
- エンジニアは仕様を決めれない
- 実はプログラム言語はどれでもいい
- 仕様変更を断る理由はない
- 休日出勤はある
- マネージャーが優秀と考えてはいけない
- 毎日考えて仕事をするかしないかで大きく将来が変わる
- エンジニアを楽しめるかは自分次第
エンジニアは仕様を決めれない
エンジニアという働き方が社会をリードするというイメージを持たせるCMというか宣伝みたいなものが昔はあった気がしています。凄腕プログラマーが世界を変えていくそんなことが言われた時代もありました。
ところが、実態としてそれはなく、エンジニアが仕様を決めると言うことは、ほとんどあり得ません。残念ながらというか、これは当たり前のことです。
働くと言うことは誰かからお金をいただくという前提があります。社長からお金をもらっているという感覚がある人もいるかもしれませんが、顧客企業、あるいはエンドユーザー、様々な言い方がありますが、システムやアプリを使ってくれる方々が、いずれにしても仕様を認めたり、便利だと思ってくれ使ってくれるからこそ、お金を支払ってくれるわけで、最終的に仕様を決めているのはユーザーなのです。
この世にないアプリを作る時の仕様は、設計者が決めているだろ!?
という指摘をされる方もいるかもしれません。しかし、これにはやや疑問があります。どんなに新しいものを作るときでも、将来のお客さんが望むもの、体験できるものというものを考えずに何かを作ることはできません。
この世にないアプリ、その仕様を考えるのは確かに設計者かもしれませんが、その設計者は独りよがりや自分の感覚で仕様を決めるわけではなく、将来の利用者を想定して仕様を考えるということをやらなくてはいけません、つまり、どんなものであろうと、使ってくれる人を意識して仕様を決める限り、自分で決めるということは、やれないという部分をエンジニアは理解しておく必要があります。
実はプログラム言語はどれでもいい
今は流行しているからJavaを、AIをやるからpythonをと、これから作るシステムやアプリケーションによって、利用するプログラム言語が変わったりしますが、長年仕事をやってくると、実はどのプログラム言語でも似たようなことができることを理解するようになると思います。
これは料理人がどの調理器具を使っても同じ料理が作れるのと同じことかも知れません。
包丁の形が、日本の包丁であっても、フランスなどヨーロッパのナイフであろうと、中国の包丁であろうと、野菜や魚、肉を切って、ハンバーグや魚料理を作ることになったとしても、作る料理人が何を作るかのゴールが一緒であれば、多少見た目は異なるかもしれませんが、同じものができあがるのと同じです。
確かに、包丁ではなく、自動で野菜を切る機械のようなものが、用意されているか、用意されていないかで、料理のスピード感が変わるとは思いますが、そのような違いがプログラム言語でもあるから、ときに使用するプログラム言語の違いが生まれるだけであり、実態としてどの道具を使っても、実現したいものが決まっているなら、同じものを生むことは可能だと感じます。
仕様変更を断る理由はない
要件定義フェーズで決めた内容と仕様が変わる。仕様変更は期限までに教えていただきたい。
プログラムを作るという仕事をやっていると、仕様変更は日常的にあり、期限を考えたり、これまで作って来たものとの整合性、スケジュール、影響範囲、いろいろなことを考えると、仕様変更を避ける、できないということが、出てきます。
確かに、お客様のいいなりになっていては、残業が増える、余計な仕事がでる、進捗が狂うなど、様々な問題がおこりトラブルの原因となるので、避けたい気持ちもわかります。
しかし、ある仕様を変えたいという状況が生まれたと言うことは、何かを変えないとまずいということが見えたという状況でもあります。やみくもにそれを避けるのは得策ではありません。
仮にその仕様変更をすることで、大幅なスケジュール変更や影響があったとしても、その事実をきちんと伝える必要があり、そこから判断をしてもらうのが筋であります。
この期限までやると言ったのだから、やれと言われることがあるのかもしれませんが、私がこれまでかかわった仕事の中で、仕様変更の影響を伝えて無茶なスケジュールをひかれたことはありません。
お金を払うクライアントが使えないシステムを導入して、使われなかった場合、あなたはエンジニアとしてどう思いますか?
あなたは期限までに作れたことで一時的にハッピーかもしれませんが、その作ったものが使えないと言われ続けることになるのです、使ってもらえること評価されるものを作ることがエンジニアの幸せの一部であると、私は考えているので、むちゃくちゃな仕様変更でない限り、私はよくその仕様を聞いて、無理のない範囲で仕様を変更することは、当然かなと感じています。
(つづく)
chigyo
最新記事 by chigyo (全て見る)
- 【WBS】遅延を回避する効果的なスケジュールの引き方 - 2019年10月3日
- スマホWEB、スマホアプリ、パソコンのブラウザに対応するハイブリッドなWEBページの作り方 - 2019年9月25日
- エンジニアになりたいと思った人が覚悟しなければいけないこと - 2019年9月12日