你的浏览器还没开启 Javascript 功能!

あなたはいつまでコーディングするの?

エンジニア(特にSIer)ならこの一言は絶対に一度は言われたことがあると思います。また、上司からもよくこう言われるのではないでしょうか?

「お前はそろそろ設計やマネージャーをやれよ。いつまで現場でコーディングしてんだよ!」

ここ10年くらいIT産業の発展は凄まじいが、エンジニアやプログラマの立場はたいして変わらず、いまだに弱い。経営者からしたら、「プログラマは駒みたいにいつでも置き換えられる存在」である。

そして、IT業界から他の業界に転職したいエンジニアが増えつつある。もちろん、転職は悪いことではない。でも、長年の慣れ親しんだ業界のから別の業界に行くことは、多くのことを0から覚えなければイケないし、相当茨の道であるだろう。

もしあなたが「俺はいつまでコーディングすりゃいいだろう?」と頻繁に悩むようになったら、あなたは既に以下の状況に落ちいてるだろう。

  • 自分の能力を疑う
  • 自分の仕事に疑問を抱く
  • 環境に不満に持っている
  • 上司や同僚に不満を持っている

では、そんな状況に落ちいてたらどうすればいいでしょうか?

少し愚痴

答えを出す前に少し愚痴らせてください。

正直、私もここ2~3年前にコーディングしたくなくなった状況に落ちいたことがあります。そのときはとあるプロジェクトのせいで精神崩壊になりかけた。プロジェクトのフェーズがどれだけ進んでも、止まらない仕様変更。

もちろん、この業界で唯一変わらないものがあるとすれば、それは「変わる」であることは重々承知していた。

しかし、そのときのプロジェクトの複雑な変更要求はもはや不合理なレベルでした。挙句の果て、納品したあとに追加された仕様にも対応しない「検収してやらないぞ!」と言われた。

当時は本気でエンジニアを辞めて他の業界に行こうと思ってた。

だが、こんな考えもプロジェクトが終わると同時に消えた。

自分のキャリアを変え、コーディングしたくなくなった開発者のほとんどは、私のようにプロジェクトと環境の影響によるものだと思います。

少し脱線したが、今回はエンジニアはなぜプログラム書きたくないを書きたいわけではなく、ただ私の考えを少し共有したいと思います。

プログラムはただの土方??

今でも鮮明に覚えています。

私が若手のときに、上司とキャリアン面談の会話。

私「私はエンジニアとしてプログラムをバリバリ書きたいです!!」

上司「プログラマは出世しないぞ、会社が欲しいのは優秀なPMだ。それに、年とっても技術を追うこと大変だろう。今、あるプロジェクトの運用保守のリーダーが空いてるぞ。あそこは安定して楽だし、PMの経験を積むにはいいぞ~」

もちろん、私は納得せず、開発プロジェクトに居続けました。

そのときは、漠然と上司の要望を断ったが、今思えば、私は安定嫌いという理由で断ったと思う。安定した環境は人を腐食し、成長を停滞させてしまう。そこにエンジニアに未来が見えなかった。

当時の上司と同じく、今だに多くの人プログラムを書く人に対する印象とは・・・

  • コーディングなんて新人がやることだ
  • 40,50歳になってもコーディングしている人は成長していない
  • プログラマのゴールは上流の設計、マネージャーである

まるで、マネージャーとかにならないと「キャリアアップ」とは言わない考え方…

否!断じて否!!

しかし、3~5年くらいしか開発経験がない人に上流設計が務まるか?

プログラミングの基礎できておらず、コーディングをただ労働と思って仕事し、何年経っても同じ実装、同じアーキテクチャしか組めない。少しでも新しい技術を追っていない人が要件定義できるでしょうか?

システムの実装方法や作業計画や構造を分析するために、他人の力がまだ必要し、自分で判断できない人のアーキテクチャは信用できますか?

調整、伝達、管理をマスタできない場合は、どうやってマネジメントするのか?

エンジニアのキャリアは別にマネージャーだけではないのに、日本の多くのSIerは開発者を置き換え可能な道具としてみており、資産として見ていないのが非常に残念です。

企業は本来であれば、社員に新技術を学習する機会を与えチャレンジさせるべきなのに、実情は枯れた技術を強要させキャリアの選択肢を減らしてる。

考えて見てください。私達が普段使っているOffice, Chrome, Visual Studio, SQL server Management Studioなどのソフトは開発経験3~5年しかない人が作ったものですか?

当然、違いますよね。

理想像

私はエンジニアがずっとプログラム書いてていいと思いますが、以下のマインドを意識しないとCodingがたちまち只の労働に変わってしまう。

  • 他人を助けられるメンバーになる
  • システム開発はただ機能を作るだけではなく、全体の最適化を考慮して設計し、ユーザーに提案する
  • より難しい、よりコアなコンテンツを意図的に開発するようにチャレンジする

Codingしたくない状況を脱するには

もし、エンジニアとしてのキャリアが3~5年、もしくは10年以上あって、コーディングが嫌になったら、原因を探って見てください。

  • あなたは常にプログラムを見直していますか?
  • あなたが自分で書いたプログラムを理解していますか?
  • あなたはプログラムをより美しくしていますか?
  • 開発の効率を上げる方法を考えたことがありますか?
  • どのように賢く働くか考えたことがありますか?
  • 新技術や新アイデアをシステムに導入しようとしたか?
  • 記事やインターネット、書籍をたくさん読んでいますか?
  • 仕事の後に学習をするのに時間を費やしてますか?
  • 開発の問題について話し合ったり、時折経験を同僚や社外に共有したりしますか?

もし、それでも原因がわからず、解決方法を見つからなければ、他業界に転職も一つの選択肢としてありかもしれません。

まとめ

私自身も今だに仕事でいろいろ悩みありますが、考えは固まっている。

Coding Forever!

それはおそらく難しく、会社は私をずっとCodingさせてくれないこともわかっている。

まぁ、それでも理想を持つことは大事だ。