SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

育成期間が終了したようなので、ここ1年半の振り返り。

11月に僕らが社内の儀式と呼んでいる人事施策が終了し、それは育成期間の終了を意味しているようなので、ここで入社から今に至るまでを振り返ろうと思う。およそ一年半という月日が経過して、二つのプロジェクトをSEとして渡り歩いた経歴となる。正直ネガティブな内容が多くなってしまうと思うけれど、自分はネガティブからスタートして頑張れる人間なので敢えて文字にすることで、プラスへ転じようと思う。どれくらい成長したのか、見物である。

入社前のやりたかったこと


現在の会社、SIerに就職を決めた理由としては、「企業の発展になんらかの形で貢献することで、しいては社会の発展に貢献するんじゃなかろうか」という学生的な考えから始まり、多少なりとも学生時代にコードを触っていたので、「ITでそれを実現しよう!」という考えに至り、SIerを最終的に志望するようになった。学生時代、暗室に籠って写真の作品を作ることに没頭していた自分は製作過程に楽しみを見出すことがわかっていたので、モノづくりに携わりたいと考えた。実際にプログラミングはパズルみたいで面白いし、意図した通りに動いた時は今でも楽しいので間違ってはいなかったと思う。この選択は当たらずとも遠からずという形になるのだけれど、結果としてIT業界に飛び込み、法人の部署を志望して二か月間の研修を終えたのち、SEとして現場配属されることとなった。

最初のプロジェクト


SIerという業界に対しては入社前から調べていたこともあり、自分の入る会社が実際に手を動かしてソフトウェアを作ることをメインとする会社ではないことはわかっていた(勿論、そういう部署もある)。けれど、小さいプロジェクトならそれも出来るよ、という会社の先輩の言葉を信じ、配属面談時には法人かつ小さいプロジェクトで上流下流関係無く働きたいです!と言っていた。結論から言うと、この希望が叶うことはなく、大規模プロジェクトに配属されることとなる。分野もなかなか希望に沿うことはなく、まぁこんなものかと半ば現実を受け入れとりあえずSEとしての人生をスタートさせた。
勿論大規模プロジェクトであったため、上流下流は完全に分離しており、さらに自分の担当はアプリの開発チームではなく、構成管理や試験統制といった共通チームというところであった。具体的に何をしていたのかと言うと、Subversionをちょこちょこいじくったり、お客さんと社内の窓口的な調整係が主な業務であった。何かを開発することはないし、Subversionもなんか好きじゃないし、調整調整の日々でよくトレーナーとの面談で噛みついては悩ませるという難儀な新人だったと思う。

社内ニート時代に突入


10月頃になった時に、突然プロジェクトが終焉を迎え、メンバーが離散し、晴れて社内ニートとなった。およそ二カ月近く、仕事がなく(厳密に言うとあったけれど、引き継ぎ用のドキュメントをひたすら作るような仕事だった)、その頃本当に業務中に勉強をするという日々となっていた。SIerの代名詞であるExcelで業務効率化するかーと考え、VBAを勉強し、午前休取りまくり、定時帰りが絶対となり、家でひたすらPythonDjangoチュートリアルを見ながら勉強をしていた。この頃は、Git勉強し出したり、Numpy、Scipy、scikit-learnでガチャガチャやり出したりした時期でもある。

二つ目のプロジェクトにアサイン


年が明けて、ようやく自分の受け入れ先が決まり、BIを扱うプロジェクトにアサインされた。そこでは開発担当と維持管理担当として役割を振られ、アサインされた週末に「じゃあ二つ案件担当してみるか」と言われ、システムの仕様も全くわからない状態で翌週の要件定義を最初の仕事として担当することになった。ここからはシステムの仕様と業務知識、要件定義のやり方を必死で覚えつつ、なんとか業務をこなしていった。平行して維持管理対応やお客さんからの問い合わせがじゃんじゃかあったので、ここで初めて「SEやばいなー」と思うようになった。前プロジェクトから一変、退社が深夜になるようになった。
このプロジェクトは、自分が入社前にやりたかったことと非常に近く、お客さんの経営分析や営業分析に役立たせるようなデータを提供するシステムであり、かつ規模が小さかったので、当初は強くやりがいを感じていた。しかし、SIerの現実というものがあって、小さい規模でも上流と下流は完全に分離していた。「開発がしたい!」と大声を上げていた自分にとっては、SIerという壁を突き付けられたようで、ここに来ても相変わらず上長やトレーナーに噛みついていた。噛みついた結果、隣プロジェクトの業務効率化のためのツールを作ったり、自プロジェクトの効率化や品質管理のためのツールを作ったりと、案件の脇でツールを大量生産する日々が始まった。今でも自分のローカルには、ゴミコードからバグを抱えたツールのコードまで沢山存在している。けれど、結局開発をする機会には恵まれず、自分は要件定義と処理ロジックを考える人間で、あとの実装は放り投げるような仕事に従事するようになる。
また、実際にシステムとしてもBIの魅力がなかなか弱くて、それだけのデータで分析に役立つのかと疑問に思うところがある。お客さんの要望を聞き入れるだけじゃなくて、ITでやれることをもっと提案してシステムとして提供すべきだと思いながらも、それが難しい現実に対して悶々としていた。

そして今


それ以降大きな動きはなく、三か月サイクルの開発であるため、既に自分も案件を複数リリースさせ、PDCAサイクル的なのも三回回したこととなる。依然として足りない業務知識からいろいろな人に助けてもらってはいるが、慣れというものは恐ろしく、お客さんを前にしても一切緊張することはなくなり、ベラベラと仕様について話す自分がいたりする。協力会社の人たちとも仲良くなり、あだ名かつタメ口で話されるようになり、「プロパっていうか友達だね」と40歳オーバーのおっちゃんに言われたりもして人間関係は良好である。
そして入社から1年と半分が経過した今、自分は育成期間を終えた(ようだ)。

思うこと


最後に成長に対して言葉をつけると、「サラリーマンとして成長してはいると思うけれど、SEとして成長した感じはしない」という結論になる。
それはこの一年半の業務内で培ったことのほとんどは業務知識でしかなく、SEとして必要と認識している技術に関しては培えていない、ということを意味している。前評判通り、(少なくとも自分の周りでは)SIerの業務チームでは技術を磨くような機会は自身でツールをこそこそ作るぐらいでしかなく、そもそも通常業務が忙し過ぎるのでこそこそやる時間はどうしても少なくなりがちである。
だからプライベートでコード書いたり技術書を買って勉強するしかなくて、特に社外の勉強会に足を運ぶことが多くなってからは周りとのあまりのスキルの差を見て、もっと時間をかけなければ!という思いが強くなっている。 業務の中で技術を培うことは現状難しくて、けれどこれだと将来何も作れないおっちゃんが出来上がってしまうので、最近はまた上長にそういう想いを伝えては困らせている。
正直ここから先の話をすると、SIerという業界自体の話にもなって、とてつもなく長くなるので、打ち止めにして違うエントリで書こうと思う。ただ自分もとうとう有名な「SIerの憂鬱」というものになったのか、としみじみしているところがあり、この憂鬱感を抱いたあたりSIerの中の人間として成長したのかもしれない。個人的に思っていることは有名な以下の記事と基本同じなので、張っておく。

人月計算とExcelとスーツの世界より

年を越すと二カ月後には24歳になる。24歳という数字を意識するようになって初めて、これから先の人生ってやつをちゃんと考えるようになった。確実に言えることは、将来何も作れないおっちゃんになって、会社から放り出された時、盆栽チョキチョキ、ゴルフゴルフな人生は嫌なので、なんとかしなければならないということである。とりあえず最後の最後に目先の目標として以下に挙げてみる。

<プライベート>
- 作りたいアプリがいくるかあるので、半年以内にリリースする。
- 溜まっている技術書を消化する。
- Udacityの講義の間隔をあけない。
- TOEIC800点の壁を越える。
- ブログさぼらない。

<仕事>
- 業務で作ったツールのバグ取りをこっそり行う。
- 定時ダッシュに命懸ける。
- 会議を撲滅する。午前中全部会議とか、6時間会議とか許せないし許さない。
- 半年以内にプロジェクト抜ける。

仕事で掲げた最後の目標が実は一番大事であったりする。 憂鬱から抜け出すためには。

Remove all ads