前置き
今年からフリーランスのエンジニアとして働くことになりました。
エンジニアとしてのキャリアは、常駐派遣型の開発者から始まり、web系の製作会社や複数の事業を展開する事業会社の社内SEを経て今に至ります。
エンジニアになる前は新卒で入社したメーカーで知的財産管理の仕事をしていました。特許や商標などを取ったり管理したりするいわゆる企業の関節部門です。
そんな僕の経験がこれからエンジニアを目指す人、フリーランスを目指している人の参考になれば幸いです。
エンジニアになる前(〜2012/2)
新卒で東京の機器メーカに就職。知財管理部に配属されます。将来は弁理士になりたいなあとか考えていました。
ちなみにこの時のITスキル(?)といえば、IE、Word、Excel、PowePoint。くろーむ?何それ状態です。手持ちの武器が乏しすぎますね。
経緯は割愛しますが、弁理士を目指すにあったのモチベーションが薄れ、ある時からエンジニアという人種に妙に憧れを持つようになり、転職することを決めました。
ただ、どうすればエンジニアになれるのかよく分からない。
とりあえず、「ITエンジニアといえばPCに詳しい人」という非エンジニアにとってあるある思考を発揮し、PCのパーツを一式揃えてそれは大きいデスクトップPCが出来上がりました。
これでプログラミングの勉強をします。ちなみに家には普通の買ってきたノートPCがありましたが、当時の僕の目にはそんなものは入りません。
エンジニアになるために
言語(入口)の選択
これはプログラミングの勉強を始める多くの人が抱える悩みではないでしょうか。調べれば調べるほどたくさんの言語があり、何から始めればいいのか分からない。こういう時は原点に戻るに限ります。
僕は職業としてエンジニア(当時は、プログラマー!)になりたかったので、世にある求人情報の必須スキル、歓迎スキル、業務内容などを片っ端から見ていきました。その中に業務未経験者歓迎な求人ではJavaに関係する求人が多く見られました。ということでJava、始めます。
今ほどネット上での学習ツールなど多くなく、書籍を中心に半年ほど現職の就業後に続けていましたが、イマイチよくわからん。
変数?箱ね。
配列?箱の集まりみたいなもん?
関数?道具かな
public?…static?…void?おまじないか何かかな?
args[]…さっき習った配列、なんで中身ないの?
悶々とする日々。
独学の挫折ポイントとはこういうところなのでしょう。全部publicでいいじゃんて考えちゃう。
SIerに転職(2012/2〜2013/8)
このままでは心が持たないので、独学はしつつも環境を変えることに考えをシフト。とりあえず未経験でエンジニアになそうな求人に応募します。
そしてなんとか客先常駐のエンジニア(SIer)として内定をいただきました。給料は下がりますがそれも仕方なかろうと割り切ることでエンジニアになれました。
エンジニアとして最初の仕事
入社したというものの実務スキルは無いに等しいので、研修を受けます。やはりJavaですね。
入社当初3ヶ月の研修のはずが1月半ほど経過したところで営業から唐突に、「面談」の予定が入ったと告げられます。そして面談に臨むもスキルシートには実務経験2年の記載。見覚えのない過去参画プロジェクトの情報。抱える一抹の不安。
そんなことを数回こなしたところで面談をパスし現場に入ることが決まります。
そしていくつかの現場を渡り歩き終電間近まで働きながらもスキル不足を補うために毎朝就業前に2時間ほど勉強時間を確保していましたが、心身ともにこの頃が一番キツかったです。
その後1年半ほど経った頃、SIerという多重請負の構造(多い時は5次請)や安月給、会社への募る不信感など諸々の理由から現状に見切りをつけ、受託メインのweb制作会社への転職を決めました。
ここまでで得たこと
- Java
- JSP
- tomcat
- JavaSevlet
- HTML
- javascript
- jsとJavaは違う
- 多重請負の闇
- OSSを頑なに導入しない勢の存在