どうも、Norioです。僕がシステムエンジニア時代に経験したことをもとに、僕がどのように幸せになれたのかお伝えしたいと思います。
エンジニアにとっての幸せとは
まず、「幸せ」の定義については人それぞれ異なるのは当然ですが、僕にとってのエンジニアの幸せとは、「それなりの報酬のもとで、会社に縛られず自分のスキルだけで、働きたいときに場所を問わず働らける状態にある」ことだと考えています。
プログラムが書けない会社
僕は業界研究などもろくにせず就職してしまったために、システムエンジニアという職種が一体何をするのかよく知りませんでした。今思うと就活中にちゃんとやっておくべきでしたね。これはシステム会社の状況によって変わるのですが、僕が就職した会社は大手企業の傘下企業で株式の51%を握られており、親会社からの指示は断れない状況でした。よって上の会社の方針でプログラミング工程だけ中国の子会社に投げるということになり、自社の仕事は設計だけ。設計とは、プログラミングをする前の工程でどのようにプログラミングをしていくのかを決める工程です。つまり新卒社員にプログラムを書かせることが出来ないという事態に陥っていました。プログラミングのスキルが少ないため、自分の設計が正しいのかをテストすることができない。でも会社からは良い設計をやるように言われる。これはとても辛かった経験です。
プログラミングスキルの重要性
これは個人的な意見ですが、プログラミング出来ない人間はそれより上流のアーキテクチャの構築や設計はするべきではないと考えております。それは、良い設計はプログラミングを知らないと出来ないからです。海外ではこれは当たり前で、経験のない人間は上流工程などやらせてもらえず、経験を積むまではプログラミングやテストです。
親会社の存在
親会社からの指示は断れない状況という話をしましたが、これが優良企業をブラック企業にしてしまう大きな要因だと考えています。大規模な案件になると、ある程度大きな会社でないと何かあったときに責任が取れないので、どうしても大きな企業が一次請けとして案件を受注します。そしてゼネコン業界のように手数料だけ脱いて子会社や関連会社に丸投げするということが未だに行われています。これでは三次、四次請け企業あたりからだんだん採算が取れなくなり、やることに比べて予算が取れない、残業代が払えない。となるのです。しかし末端の企業が一次請けの大企業に文句を言うことなどできず、結局泣きを見るのはそこの社員ということになります。
ではどうするか
ではこのような状況において、僕がどのような対策をとり、幸せな状況になれたのか。この業界の根本的な部分を正していくなど個人には不可能でしょう。ではどうするか、これはもう1つに付きます。スキルを付けましょう。自ら勉強しプログラミングのスキルをつけるのです。え、会社からお金を貰えないのに、わざわざ自分の時間を割かないといけないの?と思う人もいるかもしれませんが、これは仕方ありあせん。スキルの無い者は、会社にすがることでしか飯は食えないのです。何かにすがって生きていくと、ある時裏切られたときに絶望するでしょう。投資家目線で言えば、損切りのプランなしでポジションを立てているようなものです。どんな大きな企業でも潰れるこのご時世です。いざという時に備えてスキルを付けましょう。会社でプログラミングができないなら、自分で勉強するればいいのです。もしくはプログラミングができる会社に転職するしかありません。なぜなら、資本的に支配されている会社では、その社長ですら親会社の方針には逆らえないからです。とは言えスキルの無い状態での転職はかなり危険です。プログラミングやれる会社は、基本的に即戦力の人材しか求めていません。転職はスキルを付けてからのほうが得策です。
スキルを付けたら
一旦スキルをつけるとこれで終わりなのか?そうではありません。日々新しい技術や考察が生まれてより良いものなっていきます。技術も同じです。その業界の流行などに合わせて自身もアップデートする必要があります。つまり終わりの無い勉強が始まるのです。しかし悪い面だけでもありません。新しい技術について学び、それをブログなどで公開していくことで、その後それを学ぶ多くの人を援助することに繋がるのです。そしてそのアンテナの高さも転職などにも有利な武器になるでしょう。また、医者や弁護士などと違いプログラミングは日本語ではないため、世界に出てもそのまま使うことができます。僕も日本で培ったスキルで転職活動し、自分をアピールして仕事を得てきました。プログラミングを身につけることは、そういった可能性の扉を開くことにも繋がるのです。