前置き
東京で7~8年、Webアプリケーションの開発を行ってきました。
いろんな会社に委託に行ってたこともあり、結構色んな環境に触れてきたつもりです。
気が付けば社内のグループウェアや生産管理システムをスクラッチ開発できるようにもなり、ある程度スキルはついてきたかなーとか思いながら転職活動をしていました。
もう東京も満足したし、地元企業のSEとして働いてみよう!と思い立ち、社内にシステム開発部を持つ地元の企業に転職しました。
一年ほど経ちましたので、いろいろと記事にしてみたいと思います。
転職先のシステム開発環境
転職先の会社では、社内で開発した会計システムやグループウェアを使っていました。
不具合対応をしてほしいとのことでしたので、さっそくソースを見てみたところ、その内容に結構衝撃を受けました。
- HTMLにて「div」タグではなく、「frame」タグを使っている。もちろんBootstrapは使っていない。
- MavenもGradleも使わずに、ライブラリはjarファイルをプロジェクトに突っ込んでいる。ビルドはEclipse上で行う。
- JQuery等のライブラリを使っていない。値はdocument.getelementbyidで取得。
- IEのみ対応。社内ではIEのアップデートを禁止している。IEの古いバージョンしか「frame」タグが動かないとのこと。
- IISにwarファイルをデプロイして運用している。
- java6を使っている。
こんなところでしょうか。
なかなかレガシーな環境で、いろいろと懐かしさを感じながら、この一年間で多少はモダンな環境に置き換えました。
(5に関しては特にレガシーではない?)
行ったことは下記
- フレームワークを「struts」から「spring boot」に変更
- java6からjava8に変更
- Node.js・npmの導入
- Gradleの導入
- IDEをEclipseからintellijに変更
- Bootstrapの導入
- Gitにてソースを管理するよう変更
- サーバーにubuntuを入れて、dockerにてwebアプリケーションを運用するよう変更
まだまだ古いシステムは残っていますが、新しく導入したシステムに関してはある程度、レガシーから脱したかなというところです。
ある程度落ち着いてきたところで、なぜ、このようなレガシーな環境になってしまっていたかを考えてみました。
都会のエンジニア事情
まずは、都会でのエンジニア事情を書いてみようと思います。
私が東京で開発していた際は、とにかく周りの従業員が「モダンな開発」に心が奪われていました。
自分がクライアントサイドの開発に困っていると、先輩方が「お前まだこんな古いライブラリ使ってるのかよ。
今はこんな便利なライブラリあるんだぜー」と流行りのライブラリを自慢げに教えてくれたり、「Qiitaにかっこいい記事載せたから読んでおいてよー。いいね押してね!」と自慢げにチャットワークに自分の記事のURLを貼ってくれたりしました。
業務中に少し時間が空くと、java・Pythonなどの勉強会への参加や、ビッグデータ・AIに関する書籍、IT系の雑誌の購読、stackoverflowへの回答など行い、スキルアップへの関心が高かったように思います。
そんな環境にいるうちに、自分もQiitaの記事を読むことや、いろんな勉強会に参加するようになり、いつしか、モダンというキーワードが超かっこよく聞こえてくるようになりました。
「周りが常に新しい情報を求め、いろんな場所にアンテナを張っている状態」の中に身を置くことができていました。
田舎のエンジニア事情
対して、田舎のエンジニア事情ですが、地元企業に転職してから一年間、なぜ、レガシー環境のまま、業務が行われてしまうのか、少しわかったことがあります。
まずは、地元にてIT関連の勉強会・セミナーの開催が無く、新しい技術に対する興味を持つような場がないということが大きいのではないかと思います。
書籍やインターネットで新しい技術というのはいくらでも手に入るとは思いますが、やはり勉強会・セミナーの熱量とは大きく差が開いてしまいます。
また、通常業務の観点から見てみると、田舎のお客さんにとっては「新しい技術」よりも「昔からの付き合い」のほうが圧倒的に信頼度が高いため、おなじみの受注先において革新的な技術で対抗してくるような競合他社もいません。
そのため、今の技術をどうこうするといった話にならず、「実績があって動作する環境」であればそれでいいのです。
このような閉鎖的な環境が続いてしまえば、レガシーな状態になってしまうのかなとも思ってしまいます。
結論
もしかしたら私のように、都会に飽きて田舎に戻ろうと考えている方がいらっしゃるかもしれません。
その時、あまりの技術の差に直面して後悔することが無いように、田舎のエンジニア事情を伝えてみようかなと思った次第です。
もちろん、田舎のIT企業がすべてこんな状態かというと、そうではなく、最先端技術を駆使したサービスを提供している企業もいっぱいあると思います。
ただ、私の転職先はこうでした。ということです。
都会のメリット・田舎のメリット。いっぱいあります。
仕事においてのそのギャップがなくなれば最高ですね。