プログラミング未経験の僕がSlerからweb系に転職できるまでにやったこと。その1~前準備~
2018-04-01
この記事を読んでいる皆々様におかれましては、あえて前置きする必要がないのかもしれませんが、一口に「IT業界に就職した!」といっても、就職先が、Sler系なのかSES系なのかはたまたweb系なのかでその先のキャリアパスは大きく変わります。
どう違うのかはさておき、「兎に角、俺はものづくりがしたいんだぜ。プログラムの経験は殆ど無いけどな!!」的な人は何も考えずに、SIerやSESやってる会社に飛び込むのはやめたほうがいい。というのが現在の所感。
気づいたらエンジニアとか開発者というよりかは、調整や、火消し役として性格もスキルも独自の進化を遂げることになるかもしれない。少なくとも僕はそうでした。
そんな人はいわゆるweb系と呼ばれている会社や、明らかに社内の技術力を重視している会社にターゲットを絞ったほうがいいのでは無いかと。
実際には、大手Slerでも部署によって違うし、SESでも現場によって違うし、その人の実力や、やり方しだいでどうにでもなると思うのですが、そういうのって就職する前は考えないし、経験しないとわからないし、人によって考え方が違うので面倒くさいじゃないですか。だから僕は皆にこう言いたい。
「純粋にモノづくりしたいなら大手SIer、SESは後悔する可能性が高い」
と。
どの道に進めば勝つのか!?な話は置いておいて、僕みたいにSIerから、Web系に転職したい!って人も少なからずいると思うんですよねぇ。というか胸を張って私は「エンジニア」です。とか「開発者」です!って名乗れるような職場。
それか、開発はできているけど、今使ってる技術は古かったり、マニアック過ぎて将来役に立つのだろうか?とか、システムの延命処置を繰り返している気分になってたりとか、この会社が潰れたら他で活かせるスキルがないかも。とか、そもそも楽しくない。とか含めると結構な人数になるのではないかと。
なので、僕がプログラム経験全く無しの状態からどうやってモノづくりに専念できる会社へ転職を果たしたのかを書き記すことで、年齢や経験やスキルを理由に一歩踏み出せずに悶々としている人たちのヒントとなれば幸いです。
注)この記事を書いている人はまだ転職先では試用期間中です。万が一、3ヶ月後、「農業に目覚めた」とか系の記事を書いていたりしたらそっとブラウザを閉じていただけると幸いです。
一回目の転職準備で挫折したもの
流石に、「一度もプログラムを書いたことがありませんが、やる気はあります!」と言って、転職できるとは思えません。
まずは、「独習Java」みたいな参考書を買ってちょこちょこ隙間時間でやっていましたが、「この参考書を一通りやりました!」ぐらいにしかアピールできなさそうだし、モチベが沸かなく、早々に諦ました。
さらに資格を取る。という考えも頭に浮かび、ひとまず「基本情報処理技術者」を取得しましたが、「応用技術処理試験」の勉強をしているうちに「この知識をアピールしても、『モノづくりを君に任せたい!』」とはならないんじゃぁ・・・。と思い心が折れました。
まぁ、上記の2つは完全に言い訳ですよねw
勉強も、資格取得もいいと思います。
大事なのは、目的を見誤らない事だけですね。(何故、転職するのか? どういうところに転職したいのか?)
あと、転職する際の面談で何をアピールするのか?を考えながら勉強するのはすごく大事だと思います。
一回目の転職準備は何をしたか?
勉強が全く進まないので、結局、「実務で動くものを作るしか無い。」という結論に至り、会社の仕事で「何かモノづくりできるチャンスはないか」と虎視眈々と狙っているうちに、外注の開発会社さんがやるのを渋っていたテストツールをつくることになりました。
テストツールは、他社の外部システムと同じ動きをするもの。でした。納期は3ヶ月ぐらいでした。
8年間SEをやっていたのに、プログラミング経験なんて無かったので、最初は画面を出すだけで一苦労でした。(画面が出せた時は凄く嬉しかったですが。笑)
言語はjava。「デスクトップで動く。」「皆に配布できる。」が条件だったので、JavaFXというGUIライブラリを選択(Swing覚える暇なかった・・。)、規模は・・忘れました。5kぐらい?
TCP/IPで通信し、最大5スレッドぐらい同時に起動・停止ができ、それぞれのスレッド毎に定期的にパケットをやり取りできるやつで、そこそこ複雑な計算をしてから送信しなければならないので結構めんどくさかった記憶があります。
もちろん、ただでさえ通常業務が忙し目なのに、追加の仕事を請け負ったせいで持ち帰り作業となったりしましたが、どうせ何かしらの勉強をするつもりだったで、強制的に勉強できるぜーー!と自分を洗脳しながらやってましたw
あと、TCP/IPで通信とか、画面をデスクトップに表示するのにjavaではどうやるんだよ・・。とか、そもそもclassってなんなんだよ。変数しかわからねぇ・・。スレッドって。。継承ってなんだよ・・・。みたいな感じで1ヶ月ぐらい潰した気がする。
今考えると、通常業務にかなりの支障をきたしていた気がしますが、、結構周りの人は生暖かく見守ってくれていました。感謝。
まとめると
- 制限時間がある仕事を請け負うと、追い込まれるので一番効率的
- 他の人がやるのを渋ってる(金銭的に割に合わない)開発なら一次受けの人間でも任されやすい
- 実務で開発できれば、転職先の面談でも説明しやすい
- 転職する際の面談で何をアピールするのか?を妄想しながらそれを糧に頑張る
という感じですね。
自分が働いていたところは、残業時間が、本当に、どうしようもなく、多かったのでこんな感じでしたが、何か作りたいものがあって、少しは余裕があるのでしたら、自分の作品を作って面接の時の武器とする。という方が健康的な気がします。
ああ、あと最近良く感じるのですが、この言語、技術使って将来やくにたつのか・・。という葛藤は余り気にしなくていいと思います。
JavaFXとかTCP/IPでの通信のやり取りとか、スレッドとか、今全く使ってないけど、考え方とかは色々なところで使えるし、新しい技術の飲み込みもはやくなる。
なにかしら勉強してれば後で繋がってくる。と、今は信じています。
長くなってきたので、今回はここまで。です。
この記事がお役に立てたら、是非シェアをお願いします^^