さかなソフトブログ

プログラミングやソフトウェア開発に関する情報

未分類

約10年間勤めてきたIT企業を退職しました

更新日:

こんにちは。@toshi3221です。

みなさんお待ちかね(?)の退職エントリです。

2018年3月末をもって約10年間勤めてきた会社を退職します。2月末に最終出社を終えて今月は有休消化期間に入っています。社会人人生の中で最も長くお世話になった会社の事なので、(人生からw)振りかえりを行って今後の役に立てたいと思います。

目次

あんた誰?なにやってきたの?

石川県金沢市出身&在住。年齢は以下読めばほぼ特定出来ると思いますw

学生時代は金沢大学大学院修士まで地元で通って東京に約6年間上京して現在はUターンしてます。

子供のころ

小学校の頃から生粋のゲームっ子でにいとこが持ってたファミリーベーシックでマリオをコントローラで動かせることに衝撃を受けて雑誌に投稿された数字とアルファベットを打ってそれをテープレコーダーで録音してデータを保存して遊んでいました。それが「プログラム」だとはっきり認識できたのは恐らく高校に入った頃になってからだと思います。

高校の頃は入学祝いに3.5"フロッピー2スロットのEPSON PC-486を買って貰ってDTMで遊んだりPC関連の書籍に付属で付いてくるフロッピーに入ってたフリーソフトのゲームをMS-DOSコマンドを打って楽しんでました。

大学のころ

数学が好きで大学は理学部数学科を受験しようと考えてました。その頃は工学には何故かあまり良い印象を持って無くもっと理論寄りを学びたいと考えていて情報処理系の進学は考えてなかったように思います。願書を出すギリギリのタイミングで「計算科学科」というのが出来るかもとの情報を担任から聞き、出来ない場合は数学科に入るというなんともあやふやな条件で受験しました。結局計算科学科は設立されたので一期生として入学しました。

やってたことは理論系の数学で研究室は応用面は符号理論とかグラフ理論とか意味論とか並べると凄そうだけど聞くだけで研究自体はやって無く、更に理論寄りな群とか表現とかいった離散数理学をやってました。CDデータとか衛星通信についてのエラー訂正とかが応用にあるという話を教授から聞いて希望したことを覚えています。あとは計算機としてのプログラミング学習でFORTRANとC言語がメインだったと思います。この頃はプログラミングよりも数学の理論的なところを論理的に証明をゼミ等でやっていたことが社会人となってから物事を順序立てて組み立てていく礎となって今でも役に立っていると感じています。

自分がいまWebエンジニアとして志しているのは大学時代のプライベートな体験が元になっています。自分の当時はインターネットがダイヤル回線で漸く繋がった、23時以降は単一電話番号は定額というテレホーダイなんていうシステムだった時代で、ブラウザでチャット部屋とよく言われていた今のチャンネルにあたるサイトに書き込んでたり、ICQ等のDMで全国の人と交流してました。この交流を夜な夜なやっており、実際に東京や大阪にかなりな頻度でオフ会をおこなって本来なら繋がることが出来ない様な人と交流してた記憶があります。この時に「ネットってすげえ」と感じ、そういう体験を生み出せるような社会人になろうと志し、今もそのWebという方向性はぶれずに進められていると思います。

大学時代のプログラミングとしては研究で巨大な素数・自然数を取り扱うために独自のBIGINT的なものを配列使って桁に制限のない自然数演算を出来るようにC言語で書いて計算してたり、ゲームのアレをナニするためにに8086の逆アセンブルコードを読んで書き換えたりw、ジオシティーズやプロバイダのホームページスペースにHTMLと既存のCGIを設置して交流を図ったり、あとは掲示板を自分で作成する為にCGI(Perl)を書いてました。文字数制限無くて荒されたりとかとても実用できるものじゃ無かったり。

大企業に新卒で就職

地元で学んだあと現職の親会社である東証一部企業に新卒で就職する為に上京しました。3年間程組み込み系開発をC++で書いてました。

その頃はRUPとかモデル駆動開発が流行っていて、クラス図とC++のhとメソッド定義cppにあたるスケルトンコードを自動生成して且つ同期(!)して実装するような事をやっていました。大規模開発にありがちな、「永遠に反復して終わらないイテレーション」とか「増え続ける機能仕様」とか「大量に投入されていくリソース」とか炎上プロジェクトを体験出来ました(世の中には出たのでポシャってはない)。

その頃は新人だったのでタイムマネジメントとか体調管理を上手く出来ずに風邪引いて長期間治らないとか長時間残業しているのにも関わらず進み具合はいまいちとかでした。今思えば景気だけは良かったのでもう少し耐えてもっと金稼いどけば良かったなと思いますがそんなメンタル無かったことや大企業なのでこのままいても「上流工程」に進むだけで自分で作りたい、自分がやりたいことと違うので後先考えずに辞めました。

Webデザイナーにトライしてみる

その後はやりたいWeb系をやるため、雑誌とかWebも扱う小さな広告代理店で営業と一緒に細かい中小企業のサイト制作案件をWebデザイナーとして受注してこなしました。

デザイン一枚張りからWebサイトに仕上げるところから、SEOやらバナー広告やらPPC広告やらも含めて集客を行うサイト運営を提案してそれを実施するようなことまでやってました。PhotoshopとかDreamweaverとかFlashとかCGI設置して簡易ECサイト作ったりとか。

クライアントからの売上としては最終的には50~100万を毎月ふらふらする感じになっててもし個人なら何とかやっていけるレベルにはなっていたのかなと思いますが、その頃は雇用社会が体に染みついていて独立とか考えにも及んでなかったです。今振りかえれば営業の方やクライアントやその他知人の方に個人的に声をかけてくれることもあったので関係が途切れる前にもう少しそういったことも検討しておいた方が良かったかなと。

やっていること自体はそれなりに楽しかったのですが何せ零細企業なので年収が300万を切っててこのままではまともに生計を立てられないと危機感を抱いてもうちょっとマシかなと思ったWeb制作会社にWebディレクターとして転職しました。が、入ってみると大量に案件拾ってきて単に受け流すだけのSIer的なポジションで、あ、これは駄目だWeb制作系では限界だと感じて東京での生活をやめて金沢にUターンします。

前職ではなにをやってたの?

新卒で就職した企業の子会社であるソフトウエア開発を主とする会社の金沢にある事業所にソフトウェアエンジニアとして転職しました。もともと大学の時にここの企業の方と近しい研究室の教授が知り合いで話を聞きにいったら親会社を受けたら?とありがたい声をかけてくれて就職が決まったこともあり非常にお世話になっている企業で、かつ、もともと金沢ではWebをやっていることは在職時から知っており、ここなら少なくとも「プロダクトを作る」事は出来るだろうと思っていたので入りました。

最初は組み込みWebアプリ開発(2008~2010)

最初の約3年はJavaでStruts1系な組み込み系のWebアプリケーション開発を行いました。大規模だけあってアーキテクチャ仕様書なんてものもがっつり記述されており、その仕組み自体は結構興味深く参考になりました。このプロジェクトも炎上してて今度はポシャりました。どこか偉い人達が原因分析してたようですが最終的に「JavaはGCが遅いせい」となっていてかなりホッコリしました。

クラウドストレージサービス開発(2010~2012)

Java案件がポシャったと同時に、昔から面白そうだなと思っていた新規事業やってるから参加しないかという声をかけて頂いてコンシューマー向けのクラウドストレージプロジェクトに参画することになりました。このサービスはRuby 1.8系、Rails2.2、バックエンドはIaaSとかでは無くリアルDCで当時作られており、ここで大学の頃からイメージしてたWebの世界でネットを通じて体験を提供出来る初めてのプロダクトに社会人9年目で漸く従事することが出来ました。

自分が参加した頃は既にサービス開始してから数年が経過しており、まずやって欲しいと依頼されたのは、ごちゃっと1アプリで書かれていたView部分にあたる部分とModel部分にあたる部分を別アプリに分離してView部分は自分のチームのところで開発して欲しいという再構築案件でした。今ならView部分はフロントエンドな部分でReactやAngularやVueで書かれそうな部分をバックエンド内で使うREST APIで分離して運用しました。両方ともサーバーサイドでRailsプロセスで処理した訳ですが、データフォーマットにmsgpackを使うなど工夫をした結果分離後もさほどパフォーマンス落とさずに分離できて並行して開発することが出来る様になりました。

このプロジェクトに参加してから3年程開発しましたが、思ったほど伸びないという経営判断でサービスを閉鎖することが決定されてプロジェクトは終了しました。Dropboxが上場を達成したことを考えると、企業的な基盤はしっかりしてるんだからまだまだ頑張れば良かったのにと思うのは結果論になっちゃうんでしょうかね。

VR系Webアプリケーション開発(2012~2017)

クラウドストレージサービスを終了してプロジェクト解散となると同時に殆どの開発メンバーはすぐにこちらのプロジェクトにアサインされてました。中身はほぼスクラッチで書くスタートアップで、更にエコシステムもまだ育っていないVR系のプロジェクトだったのでとてもモチベーションは高かったです。

VR系ハードの販売促進のために拡散用のWebアプリの開発を主に従事してました。Ruby1.9/Rails3からスタートし、現在はRuby2.2/Rail4.2で2018年3月現在も運用継続してます。サーバ環境はAWSでやってました。特徴としてはVR系の3D描写をWebで静止画・動画やるためにthree.jsでWebGLやったことと、6,7言語に対応したために国際化に関する対応をバシッと入れたところ、それに伴い取得系で高負荷なトラフィックを受けてCloudFrontでCDN対応を真面目に構築したこと、WebAPIをクライアント(スマホ・PC)に提供してNativeアプリケーションに展開が出来たところが良い経験になったかと思います。

プロジェクト後半の2016~2017ではPCアプリケーションをAdobe AIRで作ってましたが、技術的に廃れて来たのでそれをElectronに置き換える再構築開発を行いました。3D描写を行うメインの表示部分はRailsアプリで利用していたJSがほぼそのまま流用出来て比較的容易に開発リソース的にも技術的にも移行出来たと思います。

デバイス操作USB SDK開発(2016~2018)

前プロジェクトの事業は継続していますが当初のWebアプリケーションの目的がほぼ達成されたので経費削減も行われて徐々に仕事が無くなっていきました。次に依頼されたのはWeb系では無く、USBでかつPCがターゲット。沢山のプラットフォームにデバイス操作を展開したいということでSDKのI/F設計をWindows、.NET Framework(C#)でFIX、実装してその後クロスプラットフォーム向けには別途C++(Linux/Windows/macOS)に移植することになりました。

今まで避けてきたエンタープライズ系の開発プロジェクトでしたが、Visual StudioやXcodeをじっくり触れたこと、SDKというレイヤーでI/Fはクラスライブラリにしようと決めて、先ずは.NETでやろうと言うところからアーキテクチャ構築を行えたことは今後のエンジニアとしては良い経験になったと思っています。

なぜ辞めたの?

当然いくつもありますが理由として大きい方から並べてみます。

Web系プロジェクトに従事できなくなってきた

決定的な理由がここで、2016年頃からクラウドで世の中に出るWeb系の開発が大きく萎んできてしまい、世の中から取り残されていくという危機感が強くなっていきました。

親会社からの案件が殆どの企業ですので当然その方針に従って開発が進められます。親会社は典型的な日本のメーカーで強みはハードから作れることでそこは素晴らしいのですが殆どの案件が組み込みソフト開発・デバイス操作を行うソフトウエア開発・それらハード・技術の利用を絡めたIoT等ソリューション開発になっており、コンシューマ向けのクラウドサービスにまで事業展開できることは少ないです。

今の世の中の動向を見ると、Webは疑いようがないくらいにホットでエンジニアも求められています。自分が持っているスキルセットが陳腐化する前にプロジェクトがあるところに自分が移ったほうが良いと考えました。

会社が期待する人物像とのミスマッチが多くなってきた

新しい案件が出てきた時にバイネームでご指名頂いたり、直属の上司やそのまた上階層の上司から他のプロジェクトについても技術的サポートして欲しいとかいった引き合いが数年来ずっと強く続いていました。

最近の日本のIT企業動向に従った形でプロフェッショナル人材とかアーキテクトとかいったポジションで働けるように社内制度を改善しようという取り組みを行っていますが、それを待つ、若しくは長期的にじっくり見据えて一緒に作っていこうというのは自分的にはちょっと遅いと感じました。

自分はあと最低10年はエンジニアとしてプレーヤーでありたいと強く思っていますが、会社的にはコスト的にももっと大きい規模の案件に関わらせたい、多くのプロジェクトの顔となって欲しいと思うのは当然で理解も出来ますがその期待する人物像に妥協できないミスマッチな点があったように思います。

草鞋は1足しか履けない。

リスクはもう少しあって良い

その他いろいろあるんですがこれ以上はネガティブ路線になりそうなのでこの辺でやめときます^^;

総じて言うなら、良くも悪くも保守的な会社なのでとても安定してます。でももう少しリスク取った方が自由な働き方や大きな成果が生まれるのでは無いかなと。自分はその可能性に期待して次のキャリアを進んでいこうと決めました。

これからどうするの?

もっと自由で、自分がこれだと思える働き方を自らで見つけたいのでフリーランスとしてエンジニアをやります。今年の一月一日より屋号「sakanasoft(さかなソフト)」で開業届を申請しあり、失業保険はもう貰えない背水の陣で臨みました。条件としては、

  • Web案件(出来ればRails)であること
  • フルリモートであること

として、フリーランスを扱っているWebサービスやエージェントを調査していくつか応募してみました。

こんな条件で案件存在するのかと思っていたのですが、結果的には応募数は1桁台で済み、半分は門前払い、半分はちゃんと話を聞いてくれてオンラインで面談まで出来て後は契約条件面の交渉だけという段階ものが数件という感じで意外とあるもんだ・・・と驚きました。これに関しては前職や今までの職歴できちんとした実績を上げることが出来たという事に尽きるので、感謝の気持ちで一杯です。

この案件の中から、自分で契約するのは初めてで不安な面もあるので、法律面や契約に関するサポートが得られそうと感じたエージェントを介して早速来月から間髪開けずに希望通りのRailsフルリモート案件から稼働開始することが出来そうです。収入面でも前職から下がる感じでもなく内容も良さそうな雰囲気なのでなるべく長くお付き合い出来ると良いなと思っています。

最後に何か言いたいことはある?

会社名を出して良いのか良くわかんないので出せないのが残念ですが、今までの社会人人生の中で最も長く、最も沢山お世話になって、今の自分があること、今後のキャリアを歩んでいけることは前職企業があったおかげだと本当に心から思っています。

今後は今まで培ってきたスキルを活かしてストレスフリーな働き方も模索しながらキャリアアップ・社会貢献出来ていければと思います。

長い文章をここまで読んで頂いた方ありがとうございました!なんか参考になったのであれば嬉しいです。

そして最後に欲しいものリストです。お待ちしております!

正方形336

正方形336

-未分類

Copyright© さかなソフトブログ , 2024 All Rights Reserved.