15年勤めた地方SIerを退職するので、この15年間をふりかえる

本日3月31日を持って、今の会社(新潟にある地方のSIer)を退職する事になりました。 本日が最終出社日でした。 2006年4月1日に新卒入社し、本日までの丸15年をふりかえってみます。

新入社員配属

新入社員研修を2ヶ月間受けた後、配属された部署は自治体の業務で困っていることをほぼなんでも対処する部署。 配属してすぐ、Webサイト構築の案件に携わります。 Linux / Apache httd / MySQL / PHP のいわゆるLAMP構成。 この時はCMSとしてXoops Cubeを使ったと記憶してます。

大学院時代に他専攻の「データベース特論」あたりを受講していた際に 実際にDB触りたくなったので、LAMP構成を自作PCで組んで遊んだことはありましたが、 会社内でLinuxでアプリケーションを組んだことのある人がほとんどいなかったので、 私一人でいろいろ調べて構築しました。 セキュリティ対策もこの本を参考に、 自分で調べてかなり学びました。

本番環境は、まさかの「他の会社が管理するLinuxサーバに相乗り」 & 「サーバ内にjail環境が作られたので、必要なミドルウェアはソースからビルドしてね」だったので、 PHPやMySQLなどをソースからmake & make install。 「『od』が無くてconfigure通らないから、『od』入れて」と問い合わせたら、 「『cd』入れたよ」と返答され、「すでに『cd』あるから!『od』だよ『od』!」と再依頼したのも、 今となっては良い思い出です。

12月には、東京へ配属された先輩のプロジェクト2つを引継ぎ、 「ASP.NET (VB.NET) & SQL Server」なWebシステムと、 「ASP (VBA) & Oracle DB」なWebシステムを追加で扱います。

配属直後のLAMPシステムとこの2システムは、 その後の部署異動までずっと私がメイン担当としてお客様とやり取りしながら、 メンテやリプレースに携わった思い出深いものです。

Ruby と Rails との出会い

Ruby自体は大学・大学院時代にFreeBSD扱っていたとき(確か4.8とか5.3あたり)に、 portupgradeというコマンドがRuby製で、 portsでまず最初にインストールするのがRubyという認識しかなかったのですが、 Railsが登場して何やら流行っているようなので、 会社に入ってからRuby 1.8系を触り始めます。

2008年頃に新潟でもRubyの勉強会が立ち上がり、その勉強会に参加した後で、 実際に仕事でもRubyとRailsでWebシステム構築する案件に偶然にも携わることになります。 この案件は2012年秋からプロジェクトリーダーとして、日本各地を行脚することになります。

また、部署異動前の半年間に、別の会社のRailsプロジェクトに関わり、 日本各地行脚の合間に構築支援も行ってました。

Rubyは、個人で自動処理スクリプト書く際のファーストチョイスとして、 2021年現在でも愛用しています。

MacBook購入してiPhoneアプリ開発

2009年に私物Windows PCをMacBookに買い換えました。 理由は「RubyはWindowsよりMacの方が開発しやすい」と思ったから。

WindowsでRubyの開発環境は整うのですが、Windowsでは動かないライブラリもあり、 その度にLinuxの仮想環境上で開発環境構築し直すのが面倒だったし、 そもそも仮想環境立ち上げるのが面倒でした。 以降の私物マシンはずっとMacを使うことになります。 業務でWindows PCを使うものの、部署移動後は業務でもMacをメインに使うことになり、 仕事もプライベートもMacを使うことになりました。

iPhone 4あたりを使い始めてから、私物Macで自作iPhoneアプリを試作して遊んでみたり、 その後仕事でもiPhoneアプリ開発を携わることになりました。 昨年の2020年春ごろにも、iOSアプリのプロトタイプ作成支援をしておりました。

「iPhone作れるならAndroidもいけるでしょ」な感じで、Android開発も少し携わります。 と言っても、Javaを使える要員が揃えられず、 Apache Cordova & Angular で構築する場合もありました。 JSのコールバック地獄も今となっては良い思い出です。

ソフトウェアテストを学ぶ

仕事では開発メインで行うものの、テストのやり方を体系的に学んだことがなく、我流でテストしてましたが、 2011年に「JaSST'11 Niigata」が開催されたのをきっかけに、 新潟でソフトウェアテストの勉強会が立ち上がる情報を得たので、 勉強会に参加し始めました。

その勉強会は「新潟ソフトウェア開発勉強会 (すわにい)」。 2021年現在はプライベートな勉強会を月1回開催するとともに、 人を呼んでパブリックに開催することをたまにしたりする、ソフトウェアテストの勉強会です。

ちなみにパブリックに開催する際は、現在は私が管理者としていろいろ動きます。

すわにいをきっかけに、JaSST新潟の実行委員やったり(2017年は実行委員長やったり)、 ソフトウェアテスト研修講師やったりと、いろいろ経験させてもらってます。

部署異動と昇進

2015年4月に部署異動となりました。翌年の2016年にようやく昇進。 新しい部署では新規技術調査と他部門の技術サポート業務がメインとなりました。

まずは、クラウドサービスとして(AWSではなく)IBMのBluemixとSoftLayer(のちにIBM Cloudとして統合)を調査し、 AIサービスであるWatsonで何ができるかをいろいろ調べました。 また、モバイルアプリ開発の支援として、iPhoneアプリやAndroidアプリの開発支援も行いました。

AWS と JAWS-UG との出会い

AWSは2013年にアカウント作成してます。意外と古参です。

きっかけは前年に、とある勉強会で「長岡で楽しい勉強会やってるから、今度参加してよ」と誘われたので、 初めて参加してみた「第30回長岡IT開発者勉強会」(通称NDS)。 「JAWS-UG長岡」の立ち上げと、「AWSハンズオン」がテーマでした。

ここで1年間の無料枠を使ってみたものの「今はまだ使わなくてもいいかな」と思ってしまい、 無料枠終了してしばらく放置していました。

2015年の「第44回長岡IT開発者勉強会」で、 第2回JAWS-UG長岡が開催されたものの、EC2/RDS/S3くらいの知識で止まっていた私にとって、 発表内容で登場してきたサービスが全然理解できず、 「これはまずい」と思ってAWSの勉強をしなおします。

翌年、石川県金沢市で開催された「AWS Cloud Roadshow 2016」が開催された際に、 初心者向けの「セルフペースラボセッション」があることを見つけて、参加しました。 開催日(2016/8/26)はたまたま遅めの夏休みをとっていたので、 新潟から金沢まで片道4時間かけて参加しました。

EC2とS3から学び直す、良いきっかけになりました。

以降は、業務でBluemix使うものの、「クラウド使えるエンジニアならAWS知ってた方がいいだろう」と思って、 個人でAWSを学び続けます。 東京出張の際に、平日夜のJAWS-UG勉強会に参加することをよくやってました。 「JAWS DAYS」は2017年に初参加。AWSユーザの熱量に圧倒されます。

その後、業務でもAWSを扱うことになり、社内でのAWS利用をリードするために、 技術サポートやアカウント管理をしていく事になります。 また、JAWS-UG新潟も立ち上げる事になりました。 JAWS-UG新潟を立ち上げると、AWSやクラウドの情報が自然と集まってきて、技術習得が効率良くなりました。

AWSとJAWS-UGは、人生を変えたと言っていいくらい、今後に大きく影響を与えています。

なお、AWSを触れるきっかけの内容は、 JAWS-UG新潟立ち上げ時の発表資料 にも掲載しています。

データ分析・機械学習

データ分析や機械学習が流行っていると聞きつけて、 まずはBluemix上でWatsonのサービスで何ができるのかをみていきました。 昔からある統計処理はどうなのだろうと思い、統計学も少し手を出して行きます。

2016年11月に、新潟大学で 『新潟大学高度技術研修「Rを活用したデータ分析:基礎から実践まで」』 が開催されたので、参加してみました。

統計学初心者の自分が受講した感想は「なるほど、わからん」。

「なぜわからないのか」は、3つありました。

  1. 数式の意味がわからない
    • 数学の基礎知識が足りない
  2. Rの出力結果の意味がわからない
    • 「p_valueって何それ、おいしいの?」状態
    • 質問しても回答内容が理解できない
  3. 分析の手法を学べるが、手法を使う場面が思い浮かばない
    • 分析手法に価値を見出せない

参考資料はたくさん載せていただいたので、 統計学、数学(微分積分・行列など)、Rの本を色々読みました。 また、「統計学が最強の学問である」と 「統計学が最強の学問である[実践編]」が 個人的には統計で行なっていることのイメージが湧きやすかったので、 この本を読んでから、分析手法に価値を見出せるようになりました。

続いて2017年1月に、新潟県工業技術総合研究所にて ディープラーニングの基礎と応用についての講演がありました。 中部大学の山下先生の講演と Caffeを使った畳み込みニューラルネットワークによる画像分類(MNIST)を行いました。

講演を聴いた感想は「資料はよくわからん。でも話の内容はなんとなくわかる。」でした。 数学を復習していたことが良かったと思いますし、 MNISTのサンプルを動かすのも理解が深められたと感じています。 ここからディープラーニングにも入っていきます。

社内でデータ分析チームが立ち上がり、 ここから業務として、データ分析と機械学習の技術支援に邁進することになります。

コミュニティでも、長岡IT開発者勉強会でデータ分析や機械学習ネタで発表したり、 Python機械学習勉強会in新潟が立ち上がったので、 参加と発表を行っていきます。 Python機械学習勉強会in新潟は、2021年から世話人(代表)が私に代わったので、 今後も継続して開催していきます。

また、長岡AIイノベーションハブで「ディープラーニングによる画像認識入門」講座の講師をやる機会がありました。 2019年に開催後も2020年と2021年の合計3回開催されました。 良い経験になりました。

ふりかえり まとめ

この15年をふりかえると、ここで紹介しているもの以外にも、かなりいろんな技術に携わっています。

正直、「この分野ではNo.1だ」と言えるコアスキルが身についているかどうかは分かりませんが、 いろんな技術を「広く浅く」触っているので、 技術を組み合わせてサービスを生み出すのが好きなんだろうなと改めて思っています。

また、業務で触る前に新しい技術に個人的にいろいろ調べて触っていくと、 後から業務で触る機会に巡り合うので、 比較的恵まれていた環境にいたのかもしれません。

「普段の業務で触ってないから、新しい技術を身につけられない」と嘆くよりも、 自分自身で一歩を踏み出して、何かしらのきっかけ・偶然性をものにして 技術を身につけていくのが大事なのかなと思います。

自分は偶然性は意識していなかったのですが、 迷わず一歩踏み出したら思いの外いい方向に進んでいきました。

良いこと悪いこと、いろいろありましたが、 この15年間は本当に楽しく過ごせました。ありがとうございました。 出社最終日は労いの言葉やプレゼントなどたくさんいただきました。 会長からもプレゼントいただくとは思いませんでした。

次へのステップ

技術の研鑽と新たなチャレンジを求めて、 4月1日から別の会社にジョインする事になります。 アラフォーの新たなチャレンジとなり、期待と不安が交錯しています。 今後ともよろしくお願いします。

なお、ジョインブログは別途書きます。 → ジョインブログ書きました

comments powered by Disqus