Main) 4~6年目 会社分裂。波乱万丈の幕開け
ひょんな事から諦めていた「開発の経験」を学ぶことが出来ましたが、それがきっかけか分かりませんが、「波乱万丈」な1年を経験します(笑)。結局自分が何になりたいのかよく分からないまま、ここまで来てしまいました。
人生においても、未熟な自分が良く分かる時期となります。悔しいですが、頑張らないといけません。
さて、前回から「給与がきつい! ギリギリ生活できるけど、貯金できねぇ!」ってことで、転職を決意しました。ここで、初めて転職支援を使用して、転職します。結構、焦らずじっくり探す事が出来たので、その時は良い会社に入れたと感じていました。
~転職支援を使用した結果~
Linuxの構築・運用・保守の業務に就く事が出来ました。ベンチャー企業で、年収も大幅UPし、引越しの際も引越し代金を頂き、とても良い会社だなと感じました。しかし、やはり、「ん? 変だな?」と思える事がある会社は、良い会社だと感じても駄目な会社なんだなと後に理解することになります。
県外からの転居なので、「雇用促進住宅」を利用できます。ある程度の部屋の広さを確保しつつ、家賃を抑えられるのでとても助かりました。
貯金が出来る環境が整い、子供達も保育園にいけるようになり、妻もパートに行き……と、理想的な形になりました。
~構築、構築、構築!!~
就職した会社は、自社開発パッケージを持っており、開発は勿論、構築・導入・保守と請け負っているところです。Linuxベースのシステムで、ファイルサーバー等の目的でWindows製品も導入しています。
波に乗っている時期に入社したので、導入案件がポンポン来ているようでした。1案件で、構築に大体2~3週間ほどかかりました。NEC(Expressシリーズ)、Fujitsu(PRIMERGY)製品がメインで、サーバー構築のスキルを伸ばす事が出来ました。
ハードウェア面からの確認なので、悩んで悩んで悩んで調べて調べて……一つずつ確認して……と、とても面倒だったと記憶しています。箱に入っている資料は全て読んでましたし、メーカー独自の監視ツール等のソフトウェアも一つずつ確認して、必要だと感じれば提案して導入……導入といっても、カーネルバージョンによって使用可能なツールのバージョンも変わってくるし、RAIDコントローラによっても導入出来るツールも変わってくるし……Linuxはメーカー独自の手順書通りにしないといけないし、その手順に記載されている内容を理解しないと、「いったい何に影響でるのやら」と今後面倒な事になる可能性があるので、サポートに連絡してみたり。。
サーバ構築を行うにあたり、決まっている事は「自社開発パッケージ導入に必要なパッケージ」「過去に必要だろうなと思って入れてきたツール」の2点。それ以外は柔軟に対応する必要があり、苦労しました。でも、そのおかげで理解出来た事があります。
「サーバ構築は、箱についてくる資料を全て見ろ、いや、熟読しろ」
「サーバ構築は一般のデスクトップと違い、神経質にならなければいけない……」というのを潜在意識に刷り込む事が出来ました。案件としては、11件ほど、台数としては、30台ほど対応する事が出来ました。Linux:8のWindows:2の割合です。
~バージョンアップ作業、そして微妙に障害対応~
自社開発パッケージなので、無論バージョンアップも行ってます。ちなみに、ちまたに溢れているような感じではない事をまずはお伝えしておきます。実行ファイルをクリックするだけでバージョンアップなんてしませんから。
詳しくはお伝えできないのですが、あらゆる要望や不具合対応に応えていった結果、色々な派生(バージョン)が誕生します。派生によってはイレギュラーな対応が必要だったりする訳です。さらに、それが事細かに別れるとさらに複雑化します。
ある程度自動化できないかPythonで頑張っていたのですが、志半ばで挫折。どんどんバージョンが増えて行き、ブランチを切られるのでレガシーなバージョンはどんどん廃れていく訳です。レガシーなバージョンが廃れても自動化できるツール……今の俺には無理だと心の底から思いました。
バージョンアップにも、事前調査・テストが必須でした。事前調査も細かくなっているので、先代から受け継げられた備忘録を基に調査します。例として以下のような感じです。
・とあるパラメーターが「1」である場合は、このバッチを流す
・この派生の場合、このバッチとこの設定箇所を修正
・このバージョンからUTF-8になるので、このコマンドを実行
などなど、必要なバッチが増えたり、設定変更したりと柔軟な対応が必要でした。
事前調査を終えたら、それを基に手順書を作成します。ほぼ全てLinux上でのコマンドベースになります。手順書作成後、タグ付けされたバージョンをビルドしてバージョンアップ用ファイルを取得したり、必要なファイルを集めます。そして、その手順書を基にバージョンアップのテストを行います。
テスト環境としては、VirtualServerを利用していました。当時、なんとなくは知っていたのですが、本格的に利用するのは初めてでした。
今利用されているバージョン、ユーザー環境と同じバージョンのイメージを構築していたので、それを利用します。
手順書通り作業を行い、最終チェックに問題なければ、問題無しとしてテストを完了していました。で、その手順を基に本番でも作業を行う訳です。
障害対応ですが、Linuxなので基本「logを見ろ。そこに全てが書かれてある」なのですが、パフォーマンス障害がメインでした。TOP、Sysstat、データベースの処理ログ……とある程度参照する場所は決まっていたので、あまり苦ではありませんでした。
~元プログラマーにちょっ……とだけプログラムを学ぶ~
その当時は上司が元プログラマーで「プログラム」というのを学ぶ事がちょと……とだけ出来ました。しかも、わざわざ「学ぶんだったら、制約(語弊がある言い方かもしれませんが…)が多いPythonがいいよ」と教えて頂いたので、Pythonを学びました。
logをtarで固めて圧縮するだけのプログラムを作成してみましたが、それだけでもプログラムの奥の深さを知る事が出来ました。関数の戻り値さえもうまく使えなかった私にとって、感動ものでした。
元々、Linuxのスペシャリストになりたくてプログラムを独自に学び(このときはC言語)、挫折していた私ですが、再びその夢が表側に出てきたのは、言うまでもありません。このきっかけが次に繋がるとは、その時は思いもしませんでした。
~波乱の幕開け~
チームも3人体制となり、磐石の布陣を築きあげ始めた時、上司にご飯に誘われました。久しぶりに3人での昼飯だったので、何事かと思いました。
要約すると、「会社でもキーマンが退職するという事。それに加え役職持ちの社員もほぼ全て退職するという事。自分達はどうしたいか考えてみて欲しい」との事でした。
……今思うと、良く考えた「つもり」だったと感じています。
悔しいですが、これも人生です。これをバネにして頑張るしかありません。さて、以降は当時の未熟な考え方と共に記載していきますので、見苦しかったら、すみません。
営業・技術・運用とキーマン全てが抜ける会社。正直、1~2年で潰れるんじゃないかという思惑でいっぱいでした。ヒラもほぼ退職するという情報もあり、「本当にやっていけるのか、この会社」と。仲の良いヒラ社員メンバーで何度か集まり、話し合いをしました。無論、意見それぞれです。「お客様との繋がりが……」「上司の負担が自分に……」「何でいきなりこんな事に……」と、個人的にはやるせない怒りがありました。「子供がいるのに、ホイホイと短期間で転職できるか」と。
当時、そのまま既存の会社に残ったとしても、上司の抱えてた業務プラス、社長からの無茶振り業務にてんてこ舞いになるのは見えていました。
衝撃的な発言から、1~2週間経った頃、キーマンが会社を立ち上げるとの話を聞きました。そこに、受け入れてくれるとも。どうやら、ずいぶん前から計画していた模様でした。役職持ちの方々もその計画に前から参加していたようです。尊敬していた上司も、その会社に行くとの事でしたので、私も気持ち的にその会社に行きたいと感じました。
会社設立から、メンバーとして参加出来る機会なんて、滅多にないですし、ずっと前から経験として欲しかった「開発」の経験が出来るとの事でした。でも、すぐに行こうとは思いませんでした。
計画に参加していた方々は、準備期間もありますし、家族とのコミュニケーションもうまく出来てたでしょう。しかし、何にも伝えられていなかった私達にとっては、急すぎる話でしたし、私自身、家族とどうするかという話を短期間でしなければいけませんでした。仕方ないとしても、怒りを覚えたのは事実でした。
本当は、1ヶ月様子を見て、予想していた通りの現実であれば転職しようと考えていました。が、当時のメンバーに説得されて様子を見る事無く転職する事になります。……これも、今となっては後悔かもしれません。25歳で主任or係長になれた可能性があったのですから。給料も上がり、家庭も多少楽になったかもしれない。。そう思う気持ちもあります。もう「if」話しても仕方ないですが(笑)
ある程度気持ちを固めて、新しく設立する会社に転職する事にしました。そこでは、私は開発メンバーとして業務を行ってもらうとの事でした。「これで、経験したくてもできなかった経験が出来る」前向きな気持ちで取り組むことになります。
……しかし、これが波乱万丈な1年の幕開けとなるとは、思ってもみませんでした。