インターネット接続禁止の開発現場は全力で避けるべき理由
インターネット接続禁止とは
ITエンジニアとしてプログラミングなどの作業を行うとき、エラーや文法などをインターネットで調べながら進めていくと言うイメージをお持ちの方は多いと思います。
しかし、ごく少数ではありますが、業務PCからインターネット接続が禁止となっている開発現場が存在します。
今回、そのような開発現場を全力で避けたほうが良い理由を、解説して行きます。
本当にそんな現場あるの?
この記事を見ている現役エンジニアの人の中には「そんな開発現場は無いやろう〜」と思う方もいらっしゃると思います。
そのような方々は、幸運です。いままであまり外れの現場を引いてこなかったのだと思います。あるいは、後述する「インターネット接続禁止となる現場の特徴」に当てはまらないスキルセットを身につけられており、そもそもそのような現場とは無縁のエンジニアライフを堪能できているのかと思います。
実際、以下のような理由から「インターネット接続禁止」となることがあります。
インターネット接続禁止となる開発現場の特徴
1. 重要な個人情報を扱っている
最も多い理由はこれだと思います。
個人情報を扱うことから、情報流出を恐れてインターネット禁止となっています。この場合は、ある程度仕方がないと言えるかもしれません。
銀行などの金融関連や、公共関連などの現場に多いです。
こういった現場は、理由があればインターネット使用可能となることもあるので、まだ良心的かもしらません。
2. エンジニアを信用していない
このパターンはとにかく危険です。
本来、エンジニアの生産性を高めるための環境を用意するのが理想的なのですが、逆にトラブルを起こさないために、権限を剥奪することに注力している状況です。
また、多重下請け構造になっている開発現場では、下の階層のメンバーのみ、インターネット接続禁止となる可能性があります。
特に、多重で契約を結んでいると、間のどこかが禁止となっている場合、その配下も全て禁止となるため、接続禁止の現場に当たる確率が高くなります。
3. 必要が無いから禁止
これが一番たちが悪いです。
特に禁止する理由が無いにも関わらず、「使う必要がないから」という理由で禁止しています。
傾向として、「レガシーな技術」あるいは「独自フレームワーク・独自基盤」を使っている場合に多いです。
例えばCOBOLと言う言語は、あまりネットで調べる必要はないと聞きます。基本的な文法がわかれば、書けるようです。とくに、COBOLは数十年単位での経験を積んでいる人が多く、COBOL使いの方の意見が強い現場だと「インターネットなんていらないよね」と言う雰囲気になることもあります。
「独自フレームワーク・独自基盤」を使っている場合も同様です。インターネットをしらべても答えは出てこなくて、社内のマニュアルや仕様書を見ることが重要です。そのため、インターネットによる検索が不要になるわけです。
何が問題なのか?
では、インターネット接続ができないとどのような問題があるのでしょうか?
1. エラーや文法を調べることができない
これが最も良くない理由です。
エラーが出たときに原因を調べられないですし、新しい文法を確認しようとしても、調べられません。
まるで、侍が目隠ししながら戦わされるようなものです。
そうなると、現行システムから同じような記載を探してそれを真似ることしかできなくなり、エンジニアとしての成長は非常に鈍化します。
例えば、開発現場で新しくフレームワークを導入したとします。しかし、フレームワークのテンプレートや設定方法を調べられないため、かなり苦労します。
私の経験した例でも、JavaのフレームワークであるSpringBootを導入する際、インターネット接続禁止であるため、スマホで必死に調べ、サンプルコードや設定ファイルの内容を手で書き写したり、トラブルもすべてスマホで調べたりする必要がありました。
上記の例ではスマホが使えたのでなんとかなりましたが、場合によっては「スマホ持ち込み」も禁止の場所もあります。
その場合、冗談のようですが、皆廊下にでてスマホで文法やエラー原因を調べて、それを暗記して部屋に戻り、またわからなくなったら廊下で調べる、ということをやっていました。
もはや何をしているのかわかりません。人をバカにするにも程がある現場です。
余談ですが、このような両方の禁止ルールが適用される例は少ないです。しかし、多重下請け構造の場合、間に入っている会社の1社がインターネット禁止、他の1社がスマホ禁止だったりすると、両方のルールが適用されるので、上記のような地獄の現場が誕生します。
2. 便利なツールが使えない
例えば、VSCodeやGitHub等といった開発に便利なツールが多いですが、当然インターネットに接続できなければ使えません。
パッケージマネージャも当然使えません。使えたとしても、ローカルでリポジトリを建てなければならないため、本来不要な苦労をすることになります。
世の中には便利なツールや仕組みが多く存在しているのに、それを使えず、時代に逆行していく形ですね。
3. 他にも生産性を下げる要因がある可能性が高い
インターネット接続禁止ということは、エンジニアの生産性を上げることが優先ではないということです。したがって、他にも生産性を阻害する要因がある可能性があります。
例えば、何らかのソフトウェアを自分の開発端末にインストールする場合や、設定を変更するために毎回「申請」を出さなければならない、ということがよくあります。
また、生産性とは少し離れますが、スーツ着用が必須だったりする可能性もあります。
少なくとも、エンジニアを第一に考えている企業ではないということは言えると思います。
4. 技術的な魅力が少ない可能性が高い
前述したように、「レガシー技術」や「独自基盤・独自フレームワーク」を使っている開発現場の場合、インターネット接続禁止になる可能性があります。
これらの技術は、エンジニアの成長と言う意味では非常に効率が悪いです。
特に最近よく言われる「働きやすいエンジニア像」や、「稼ぎやすいエンジニア像」とは無縁のエンジニアライフを送る可能性が高いです。
どうすれば避けられるのか?
どうすれば避けられるのか、ということですが、上記の「インターネット接続の現場の特徴」にある特徴を避ければ良いとなります。
1. 金融系・公共系の現場を避ける
2. レガシー技術の現場を避ける
3. 独自基盤・独自フレームワークを使用する現場を避ける
4. 大規模案件(下請けでの参画)を避ける
最後に
キャリアの早い段階で「インターネット接続禁止」の現場に入ってしまうと、「それが普通」と言う感覚に陥ってしまいます。
しかし、世の中にはインターネットで調べながら作業ができる現場の方が遥かに多いです。
特に、いわゆるWeb系企業と言われるところだと、業務中に私用でインターネット検索をしても全く咎められないそうです。SIer系の現場だと監視ソフトなどで監視されており、私用検索などしたらすぐにお怒りの連絡が来るところも多いので、信じられないと思います。
このように、現在感じている悪い部分が、本当に「普通のことなのか」を考え、そこから「脱却」できたらと思います。
また、これからエンジニアを目指す方々は、上記のような「インターネットもつわせてくれない」ような現場は避けて、もっと「普通」なところでキャリアをスタートしていただけたらと思います。
この記事が気に入ったらサポートをしてみませんか?