この4月から、とあるシステム開発の会社に就職して半年になります。
まあ巷でよく言われる文系SEというやつで。国文の、しかも中世文学専攻という、ある意味ハイエンドオブ文系なのですが。
最初は研修でJavaを、つまみ程度にネットワークとかインフラとかも学習。
その後はphpを使ったアプリ開発の案件で上司の金魚の糞として出向し、
今月から会社内に戻ってきてphpのシステム受託開発(のドキュメント作成)がリリースまでこじつけ、できる範囲で保守をしつつ次の案件まで自学中という感じです。
PCは元々好きでしたし、こういった仕事に就くのは、(諸般の事情で)ある意味消極的選択とはいえ、「きついだろうけどまあなんとかなるんじゃねHAHAHA」ぐらいに思っていたら、いざやってみるとほんとにわかんないことだらけで、就職前、いかにSEという職業を舐め腐っていたかを死ぬほど思い知らされました。いや、舐め腐っていたわけではないのですが。
いまSEが大変不足していると言われている中で、
(これは悪い例ですが)
いろいろなIT企業が文理問わず積極採用しているという現状、自分と同じような感覚で入社する方々も大勢いるのだろう、というところを踏まえ、備忘録も兼ねて半年働いてみてわかったことを書いておこうと思います。どちらかと言うと後者の意味合いが強いです。
なお、自分は当然今の会社にしか属した経験がありませんので何とも言えませんが、当然入社先によってカルチャーがいろいろ異なる部分もあろうかと思いますので、そのへんはご了承下さい。
環境構築で躓く人。
野菜がほしい?じゃあ畑から作ろう、な某アイドルグループ的アレではないのですが、プログラムを書いて作って動かすためには、最初にマシンに開発環境を作ることが必要なわけです。エディタもそう、サーバー設定もそう。プロジェクトを作るのは当然一人ではなくみんななので、バージョン管理ツールなんてのもありますね。
それを上司や経験者は一人ですんなり、ものの数時間で必要なものをどんどんインスコして仕上げます。まあじゃないと現場で仕事なんてできないからね。
だがちょっと待って欲しい。
右も左もわからない新人は、これめっちゃきついです。必要な物が何かわからない。わかったとしても、それどうやって入れるの?なんてコマンドうつの?とか。
だから基本的には言われたコマンドをそのまま叩くだけです。やべえ。もちろん、一つ一つ教えてもらいながら進めていくことも可能なのかもしれませんが、それでは何日たっても終わらないし。そのあたりは恐らく上司も結構歯がゆいと感じていたりするのかな。そう信じてる。
php artisanってなんだよと。なんでそこで職人って単語が出てくるんだろう。意味を求めても不毛なこともあります。
カレーに例えるとこうです。
- 材料がわからない。味付けは何入れたらいいの?
- 人参入れればいいの?それはどっから取ってくるの?海に潜って銛で突くの?
- よくわかんないけどとりあえず人参とってこれたから、ピーラーみたいなよくわかんないやつで皮むく。よくわかんない。
- うわ!自分ではじゃがいものつもりだったのにこれじゃなかったっぽい! ・・・んで、じゃがいもは?
- あ、これで完成なんですか?ところでこれは本当にカレーですか?
合間合間にいろいろ吸収しながら調べて、何となくわかってきたような気はしますが、それでもわからないことは多いです。
コマンドに関しては、もうそういうものとして叩いたりするのもよくありますが、本当はちゃんと意味をわかったうえで、やらないとダメなんだろうなと思ったりします。
例えば、もうどメジャーなpwdっていうコマンドがあって、これはprint working directoryの略なんです。意味がわかってればどういう時に使うかもわかるし、何が返ってくるかも予見できます。もちろんそれは只単語として覚えても同じなのだろうけど、理解の差はあるんじゃないかなーとかね。
そんな自分が今、Docker-machineを使って開発環境を作っています。案の定、コケまくりの嵌りまくりです。それでもネットの海に潜れば色々情報があって、それを取捨しながらなんとかやっています。ありがたいね。
実はこれは、成長したんだね、とかそういうイイ話的サムシングではなく「環境構築難しそうすぎてて吐きそう」って上司に吐露した結果、コレ楽にできるしやってみたら?って言われてやってみているアレなんですが、実際に触ってみた感想はfhanaの佐藤純一さんのこのツイートに凝縮されていますので引用させていただきます。
さらにハイレゾの良さについては、「MacやiPhoneのRetinaディスプレイだって、それまでの低解像度の画面を知ってるからRetinaの良さが分かるんであって、今まで使ったことがない人が最初からRetinaを見ても凄さが分からないのと同じだよ」って話すと一瞬で理解してもらえる
— 佐藤純一 fhána(ファナ) (@jsato_FLEET) 2015, 10月 18
学びに楽なんてないんだ。
打ち合わせで非難轟々の人。
出向中、議事録取りとして何度か打ち合わせに同席する機会がありました。社会人初の名刺交換とやらもしました。そこでわかったことがあります。
世の中には、自分の常識を(悪い意味で)遥かに超えた人がいる
という事実に。
例えば。
- 取引先と打ち合わせをする。
- 決まらなかったタスクができる。
- 次回までに御社の方で決定して回答をお聞かせ下さいとなる。
- 後日、また打ち合わせ。
- 「先週の件はどうなりましたでしょうか?」「すみません、まだ上とのコンタクトが取れておりません」「・・・わかりました、では次回までに必ず」
- なお決まらなかったタスクは増える。
- 翌週、また打ち合わせ。
- 「先日の件はどうなりましたでしょうか?」「すみません、まだメンバーとの合意が取れておりません」「・・・わかりました、では次回までに必ず」
- なお決まらなかったタスクは増える。
- 以下ループ。
ぼくのほうが仕事できるんじゃないですかね、とは流石に思いませんが、例えばこれが開発の肝の部分だったりすると、これで開発スケジュールが遅延したりするので、現場の空気がもう冷えて冷えて仕方ない。挙句の果てに取引先の担当者同士で口論が始まったりしてもう修羅場です。会議中なのに。こっちはこっちで「こういうのもう慣れた」とか言ってる人もいるし。タフだなあ。
いろんな大人がいて会社が成り立っているのだということ、そういう人たちに対しても敬意を持って働かなければならないことも往々にしてあるのだということは肝に銘じて置かなければなりません。たいへんだ。
その分見えないところで罵倒するのは自由だと思います。くれぐれも見えないようにね。
まあこういう人は、SEにかぎらずどこの業界にだっていますよ。だからある意味「社会の荒波に飛び込んでわかったこと」と言い換えたほうが正しいのかもしれません。あなたの隣にもいるんじゃないですか?
自分からスキルを求めていかないと死ぬ。
悪い言い方かも知れませんが、弊社は比較的個人主義で、あまり働き方や内容に干渉はしません。ルールも緩めです。
ただ、その分、自分で見つけてやらないといけないという点は結構シビアです。今の自分のどこに問題意識を抱えていて、それをどう解消するのか。
この業界の特性も絡んできますが、とにかく技術の進歩は速い。3ヶ月前には最新だったものが今ではもう過去になっていたりとか。
こんな下らないブログを書いている、読んでいる間にも、技術は進んでいきます。エンジニアが生涯学習、と言われる所以です。
ですから、自分が何をやりたいか、何を求めていくべきか、考えながら仕事する癖をつけないと数年後死んでいるかもしれません。ただ、ろくすっぽ経験のないぺーぺーが、ああだこうだと言ってもうーんという感じですし。そのへんは常に焦燥感と恐怖心を持って戦っています。
エンジニアになろうとしているあなたへ。
もしかすると、もう就職が決まって、IT業界に入社することが決まっている方もいるのかもしれません。おめでとうございます。
そういう方なら、まあここまでお読みになってなんとなくわかった方もおられるかもしれませんが、
学ぶなら早いほうがいい。
当然かもしれませんが、意外にやらないんだよな、これが。あと半年もあるし。
去年の自分も、卒論を理由に逃避していましたが、今それなりに後悔しています。
多分、ネットを漁れば、いろんな情報があると思いますので、参考にしてみてください。この業界に進んだことを後悔するよりも前に。
あなたの友達が進むあんな業界やこんな業界より、この業界は学習しなければいけないことが多いですよ。自分もよくわからないけど。でも無事ソフトウェアが動いた時の快感ってあるとおもいますので、それをもとめて突き進んで行く感じでよいかと思います。
言わずもがなですけど、あまりに大学が暇だからっつって根詰めすぎるのもよくないですからね。遊んで下さい。
最後。
過去の自分へこれだけは伝えたい。
- 空気を読むな。本を読め。
- わからないことを素直に「わかりません」といえる大人になれ。
- キャリアを考えるな。目の前のことを考えろ。
- 講義はちゃんと受けとけ。