とある元SEの思考を探る

ひょんなことからとあるICT企業ではたらくことになったなんちゃって元SEがしたためるブログ。主に、政治・経済・社会問題・日常の出来事について発信していきます。お読みいただけたら、感動にむせび泣くほど嬉しいです。よろしくお願いします。


Webエンジニアの苦手な仕事3選

エンジニアリングに関する話題は別のはてなブログで書くこととが多いですが、今回は読み物ということで、このブログで書いて見たいと思います。

 

Webエンジニアの仕事は多岐に渡ります。私はアプリケーションよりのエンジニアなので、主にソースコードと呼ばれる英単語の羅列(ときたま日本語)を書いたり、営業やサポートからの要件を聞いて設計をしたりしています。

その中でもWebエンジニア歴1年半弱の私が苦手とする仕事を3位から順に3つ上げていきたいと思います。

 

第3位 環境構築

第3位は環境構築。私はアプリケーションよりのエンジニアなので、設計やプログラミングに対する苦手意識はあまりないのですが、開発環境を作るための環境を整備したりする必要はすべからく全てのエンジニアに求められるスキルです。

あらゆるライブラリはバージョンが違うだけですぐに動かなくなるのが常です。設定ファイルの置き場所が変わっていたり、なぜか相性が悪かったり、原因は様々です。エンジニアがまずやるのはそのエラーメッセージで検索することです。しかし、同じエラーメッセージでも原因が違い、自分の環境には当てはまらないこともありますし、当てはまる場合でも、多くは英語で書かれている場合が多いので読み飛ばしてしまう場合もあります。最終的に本家本元のドキュメントを読みに行く場合でもやはり英語なので、読み解くのには労力が入ります。

同じ環境を構築しようと思っても少しの違いで動かなくなるので、毎回環境構築は怖いのです。

 

第2位 レビュー

エンジニアはお互いの作業が正しいかどうか、リリースに足る品質かをチェックし合います。これがレビューです。このレビューほど頭を使うものはありません。

そもそも、他人がやっている仕事がどういうものかを十分に理解しなければレビューなんてできません。そこから把握する必要があるわけです。時には、ソースコードを読むだけでなく、自分の環境で動かして見たり、直接聞きに行くなどして背景を把握します。それだけでもそれなりの労力だと言えます。

加えて品質についても担保しなければいけません。テストが十分に書かれているか、コーディングガイドに乗っ取っているかなども大事な要素です。先輩のレビューをするときも、自分が試されているような気がしますし、あえて指摘が必要なプルリク(レビューを出すために作る)を出してくるかもしれません。後輩のレビューをする場合でも、やはり自分の環境に持ってきて、うまく動くかどうかをチェックする必要がありますし、「あれ?」と思ったところを修正して実際に動かしてみるまでは指摘なんてできないので時間がかかります。また、いかに相手を深いに思わせず、気持ちよく修正してもらえるかというコミュニケーション能力も必要です。デール・カーネギーの「人を動かす」も読んでおく必要があります。(半部冗談・半分本当)

自分のエンジニアとしてのレベルが一番分かるのがレビューだと思います。それゆえに苦手なのです。

 

第1位 デプロイ(リリース作業)

映えある第1位は何と言ってもデプロイでしょう。新しく機能を追加したり、バグを修正したりしたあとは、本番環境に反映させなければいけません。そのためには様々な手順を踏む必要があり、その一連の作業のことをリリース作業と言ったりします。本番環境に反映させる前には諸々の前作業があったりするわけです。そしてそれらが一通り終わり、実際に本番環境にソースコードを反映(展開)させるのをデプロイと言います。(厳密には違うかもしれません。この業界は用語の使い方に厳しいので優しい目で見てください)

この作業は、基本的に単純作業で、一度身につけてしまえばスキルの上達はありません。しかし、本番環境に反映させるということは、それだけ不具合が発生したり、負荷が高くなってしまってサーバーが落ちたりする確率が高いということです。そのため、一瞬たりとも気が抜けません。

不具合があれば、サポートとも連携を取らなければいけませんし、どの修正で不具合が発生したのかを見極め、適切に対処しなければいけません。必ずしも自分の修正した箇所のみをリリースするとは限らないため、日頃から、どの人がどのような作業を行なっているかを大まかに把握し、発生したエラーから修正してもらうべき人に連絡する必要があります。取り返しのつかない不具合であれば切り戻しを行う必要も出てきます。その判断力も必要になってきます。

デプロイ作業はエンジニアリングのスキルとは別の総合的な人間力が試される作業と言って良いでしょう。

一番精神的に疲弊する仕事がデプロイと言って過言ではないと思います。エンジニアでデプロイ作業を好んでやる人はあまりいないのではないでしょうか。

 

いかがだったでしょうか?(久しぶりにこのフレーズ使った!)Webエンジニアの生態が少しは垣間見れたのではないでしょうか。

私たちは、どんな手強い環境構築にもめげず、どんな鋭い指摘にも動じず、多発するデプロイ時の不具合にも平常心を保てるエンジニアを募集しています!

We are hiring!

いけてるベンチャー起業の技術ブログならこうなりそうですが、私は一個人なので、残念ながら募集はしません悪しからず。