私が、IT企業に就職して3週間が経ちました。
私は過去にIT企業で働いた経験もないし、もちろん、エンジニアとしての実務経験もない30代元無職野郎です。そんな私が、IT企業に就職してエンジニアとして働いていく中で、思ったことを『未経験者のIT企業体験記』として、今後書いていこうかと思ったりしています。
今回は、私がIT企業に就職して3週間でやったこと・思ったこととかをゆる〜く書いていきます。
と〜げ
ほとんど自分のための日記的な記事です。が、私と同じように30代未経験でIT企業へエンジニアとして就職したい人の少しでも参考になればとも思います。
入社3週間でやったこと
LPICレベル1の勉強
LPICというLinux技術者の資格試験のレベル1を取得しました。LPICのレベル1は101試験と102試験の2つの試験に合格して取得することができます。私は、入社前に101試験に合格し、入社1週間後に102試験に合格しました。
各受験料が16,500円(税込)で、合計33,000円かかります。しかも、1度目で不合格になると、1週間受験することができません、そして、2度目で不合格になると、なんと1か月間も受験することが出来なくなってしまいます。
なので、微妙なプレッシャーの中、結構本気で勉強してなんとか合格できたという感じでした。
React.jsの勉強
React.jsは、Facebookとコミュニティによって開発されたフロントエンドのためのJavascriptのライブラリです。
フロントエンドとは、ユーザーがWebサービスなどを利用する時に目に見える表の部分のこと。ユーザーが入力した内容などのデータ処理、保存、結果の出力などを行う部分をバックエンドというみたい。
仕事でアプリケーションを作成する際に、必要になるということでReact.jsを勉強しました。やったことはこんな感じ。
- progateでJavaScriptの勉強
- progateでReactの勉強
- Reactの公式チュートリアル
- Reactの公式ページ(主に、フック)
- 会社の課題
最初、いきなりReactの公式チュートリアルを勉強しようと思ったのですが、全くわからず。。。それは当たり前で、そもそもJavaScriptの基礎もわかっていないので、progateを使ってJavaScriptとReactを勉強しました。
その後、チュートリアルをやると、なんとなく進めることが出来ました。正直、公式チュートリアルの内容は難しいと思います。私も完全に理解してる自信はありません。
progateや公式チュートリアルでは、クラスコンポーネントやstateを使用しています。しかし、最近は、関数コンポーネントやフックを使う傾向があるということで、フックを公式ページで学びました。
最後に、会社の課題で簡単なアプリを作成しました。
Expressの勉強
Expressは、Node.jsのフレームワークです。Node.jsとは、サーバサイドで動くJavaScriptです。JavaScriptはクライアンドサイドの言語ですが、それがサーバーサイドでも使えるということが凄いみたいです。※ サーバ上で動くものをサーバサイド、ブラウザで動くものをクライアントサイド。
Expressを使うと、サーバーサイドのアプリケーション開発を割と簡単に行えます。やったことは以下。
会社の課題では、以下のようなものを作りました。
- バックエンド(Express利用):特定のエンドポイントにアクセスすると、JSON形式のデータを返すページを作成
- フロントエンド(React利用):バックエンドのデータを元にテーブルを作成
JavaScriptライブラリのSocket.IO(クライアントとサーバー間のリアルタイムの双方向通信可能)も使ってみたりしました。
勉強について思ったこと(反省)
JavaScript、React.js、Node.jsを勉強して思ったこと(反省)について書きます。
学習の進め方と理解のバランスは難しい
勉強を開始当初、学習の進め方として、なんとなくの理解で前に進んでいました。理解は後から付いてくると思っていました。
この考えはある程度あっている部分もあります。完璧主義者になると前に進めません。私は全くの未経験者なので、完全に理解しながら学習を進めるのは難しいです。しかし、その中で確実に一歩一歩理解して進まなければいけないとも思うようになりました。
この学習の進め方と理解のバランスは難しいです。私の場合、進むことを優先し過ぎていて、理解を疎かにしていた傾向がありました。今後は理解をもう少し大事に学習を進めようと思います。
公式サイトを見るのは重要
何かわからないことがあると、基本ググって調べます。私の場合、わかりやすそうなQiitaの記事や個人ブログの記事を見ることが多かったです。しかし、これらの情報は2次情報です。正確ではなかったり、情報が不足していたり、時には間違いもあります。
なので、まず、1次情報である公式サイトを見ることが重要です。Reactであれば、React公式ページ、JavaScriptであればmozillaを見ることが重要です。
特に、JavaScriptの関数について理解するには、mozillaを見て、構文Syntax、引数Parameters、返値Return valueを正確に知る必要があります。これらは個人ブログでは得られない情報だったりします。
公式ページって、私のような初心者にはわかりづらくて敬遠していたのですが、用語や見方に慣れてくると結構わかりやすいです。英語だけでなく日本語でも公開されていることが多いです。
もっとスピードアップするには
勉強開始から会社の課題をこなすまで10日間ほどかかりました。思ったよりも時間がかかってしまったという感じです。その原因は2つあると思います(以下)。
- 何がわからないか、何がコードの問題かを明確にして進めなかった
- 考えても調べてもどうしようもないところで時間をかけてしまった
1について、わからないことやコードがうまく機能しないときに、なんとなくその答えをググって調べて時間を消費してしまうことが多かったように思います。
調べることを明確にして調べる、また、コードがうまく機能しない場合、どの部分が問題かを特定して、なぜ機能しないのかを仮説を立てて検証していくように進めるべきでした。生産技術をしていた時代に身に付けた問題解決力をもっと使って進めるべきだったと思います。
2について、本当にわからないときは同僚に質問をもっとすべきだったと思います。そのときに、何を試したのか、わからない箇所を明確して質問するようにすると良いでしょう。
今後は、上記2点を改善して学習・仕事に取り組んでいこうと思います。
入社3週間で思ったこと
成長は楽しい
何もわからない状態で入社したため、毎日確実に成長しているのが楽しいです。この成長することが楽しいという感覚を今後も大切にしていきたいと思います。
今後、仕事をしていくと周りと比較して、自分の出来なささや、能力のなさ、貢献度の低さに落ち込むということもあると思います。そんなときでも、自分の成長に集中して楽しんでいきたいと思っています。
私の場合、落ち込んだという経験をしても、その経験とどう乗り越えたかということをブログでアウトプットすることで、嫌な経験もブログのネタになるという視点で楽しめるような気がします。そうすれば、自分の成長に集中できるでしょう。
会社に感謝
未経験ながら採用していただき、給与をいただきながら、存分に成長していいよ!という環境を与えていただいた会社にはめっちゃ感謝しています。少しでも早く会社に貢献したい!と自然に思うようになっています。
機械学習をすぐにはできないかもしれないけれど、幅広く色んなことを学べる環境はありがたい。自分のような未経験者にとって、何もやってもめっちゃ勉強になるレベル。なんでもやって、成長してやろう!と思います。
定期的に、『未経験者のIT企業体験記』は書いていく予定です。次回をお楽しみに!って誰も見てないか。。。見てる人いたらコメントして〜。