バートリーのさいとうです。
今回は、
転職にも役立つ!働く前に、やって良かったこと・やっておくべきこと厳選計6選
を紹介したいと思います。
エンジニアになる準備、できていますか?
エンジニアとして勤務を始めて、約1ヶ月が経ちました。
エンジニアとして成長を感じる一方で、「うわー、この能力足りない…」と思っていることがいくつかあります。
同時に、やってて良かった!と思うこともありました。
そこで
- 今後、エンジニアとして転職するので、有利になる経験を積みたい
- エンジニアとして転職したいけど、何をすればいいかわからない
- エンジニアになるのが不安で、何か行動に移したい
と悩んでいる方は、この記事を読むことで
- 転職前に、実際にやって良かったこと(役に立っていること)
- 1ヶ月エンジニアとして働いて、足りないと感じるスキルや知識
の2つの切り口から、就職後に繋がる、後悔しないエンジニア転職を知ることが出来ます。
転職の成功談はよく語られますが、そこまでに何をしたか、そしてそれがどう生きているのか?と言う観点から語られることは少ないと思いますので
僕の経験が、少しでも皆さんの参考になれば嬉しいです。
転職前にやっておいて良かったこと
結論から言うと、以下の3つです。
- Qiita, twitterなどでの、継続的な発信
- 自分の学習したいと思った言語の学習
- 実際にアプリを作る経験
では、それぞれ今にどう繋がっているのか解説していきます。
Qiita, twitterなどでの、継続的な発信
「継続的な発信」
これが最も効果的だったと思います。
こう思う理由は、3つあります。
- 実際に転職する際は、「自分は学習の継続力があり、自走できる人材です」ということを示せるため。
プログラミングに限らず、継続できる習慣がある人材は、どこに行っても重宝される。 - 発信前提の学習=誰かに説明するための学習→自分のインプットが人に説明できるくらい明確になる
(結果)自分にプラスになる - 学習していないと罪悪感を感じるようになり、結果として学習習慣が身につく。
エンジニアとして必須のキャッチアップ習慣が身につき、市場価値が高まりやすくなる。
実際に実務に生きてくるのは、特に3つ目に挙げた学習習慣の定着です。
エンジニアは、常に新しく学ぶことがあります。
下流のプログラムの書き方のことから、要件定義や設計という上流のことまで。
常にキャッチアップしていく必要がある、非常に競争の激しい世界で生きていくためには、「そもそも継続できる力」というのが必要なことは明白です。
それをエンジニアになってから獲得しようとすると、多分ストレスがかかりすぎて幸せじゃないと思うので、先に習慣化しちゃいましょう。というのが僕からの提案です。
習慣化するためには
僕の経験上、2~3ヶ月継続できれば、もうそれは習慣になります。
こちらの記事でも書かれているように、ロンドン大学の研究によると、人が何かを習慣化するためには約2ヶ月必要とされています。↓
実際に、僕がエンジニアとしての学習を始めたのは11月の後半。
それから約半年、継続的に何かしらの媒体(ブログ・ツイッター・note)で、学習+アウトプットを続けた結果、今ではアウトプットしないことは考えられないくらいになっていました。
ちなみに、僕のtwitter, qiita, noteはこちらからご覧いただけます。
(現在は、twitterとqiitaで行っていた発信をこのブログに集約しており、そちらの更新が途絶えています。)
qiita
note
自分の学習したいと思った言語の学習
これは、少し技術的な話になりますが、とても貴重な経験になったのでリストに入れました。
これが必要だと思う理由は、以下の3つです。
- そこまで学習してきた言語と比較しながら、この言語だとこうなっているのか〜という気づきを得られる。
違いに気づけると、さらに学習意欲が高まる。 - モチベーションが維持される
例えばモバイルアプリを作りたくて仕方ないのに、その制作につながらない学習を継続するのは難しい。 - 技術選定という概念を知ることができる。
どの言語が、どういうことに適しているのかということを知るきっかけになる。
実際に業務に生きてくるのは、3つ目の技術選定の部分です。
先ほど申し上げたように、エンジニアの世界では常に言語のアップデートや、ミドルウェアのアップデートが行われます。
だからこそ、技術も常に新しいものにアップデートされます。
実体験をお話しすると、以前先輩エンジニアから、僕が趣味でGo言語を勉強していることを伝えると
「技術選定を行う中でGoという選択肢もあるんだけど、もしアプリの開発でFW使うことがあれば、使い勝手とか教えほしい」
とのことでした。僕はその時Go言語でアプリを制作したことがなかったので、力になれませんでしたが、もし僕がアプリを一つでも開発したことがあれば、その先の展開が変わっていたかもしれません。
実際にアプリを作る経験
これは、今や誰しもやっていることだと思います。
未経験エンジニアとして働き始める際に、「勉強はしてますが、0からアプリを作ったことありません!」というのは、営業の人が「商談のロープレはしていますが、実際に商談をしたことはありません!」と言っているようなものです。
もしまだやっていない人がいれば、企画→要件定義→設計→開発→テスト→(出来れば)運用保守という一連の流れを経験してから転職することをオススメします。
転職する前に、やるべきだったこと
では次に、やっておけば良かった…と後悔していることです。
- チーム開発の経験
- gitなどのバージョン管理ツール、Dockerなどのミドルウェアの学習・実践
- デスク周りの環境を整えておくこと
それでは、なぜやっておけば良かったかという理由について述べていきます。
チーム開発の経験
これが最も後悔していることです。
その理由は
- チーム開発をするにあたって重要なことを知ることができる。
からです。
例えば、gitにはpushやpullといった概念があります。
1人で開発している場合は問題になりませんが、チームだと話が違います。
具体的に書くと一つの記事になってしまうので、詳細については以下の記事等を参考にしていただきたいですが
実体験として、僕がやらかしたこととしては、pull(リモートリポジトリからローカルリポジトリに情報を引き込むこと)をしておらず、pull requestの際にいろんな不具合が出てしまったことです。
もし、チーム開発の経験をしていれば、もう少し対応も違ったんだと思います。このように、規模はどうであれ個人開発ではほとんど起きようのないコミュニケーションが発生することを体験しておけば良かったと思います。
gitなどのバージョン管理ツール、Dockerなどのミドルウェアの学習・実践
一つ目のトピックと繋がることですが、git, sourcetree, docker, circleCIなどは実践の現場ではほとんど活用されながら開発が進められているみたいです(もちろんこれ以外にもたくさんあります)。
例えばsourcetreeは、チーム開発してないとなかなか活用されないのではないでしょうか。
加えて、AWSなどのインフラ周りの知識も必要になります。
少なくとも、転職前には利用するツールやウェアが
「何のために」
「どういう用途で」
「どんなことに注意しながら」
利用されているか、知識として理解しておくことをオススメします。
その仮説を元に、実際の利用方法を知るという流れを辿れるからです。
デスク周りの環境を整えておくこと
これはすごい初歩的なことですが、要は必要な投資を先にしておこうという提案です。
例えば、ディスプレイは生産性を爆上げするということが言われていますが、確かにそう思います。
こんなん、なんぼあってもいいですからね。
つい集中すると、前傾姿勢になったり、座りっぱなしになったり、健康には良くない状態になりがちです。
もちろん、日々ヨガを行ったり、ポモドーロテクニックを利用して定期的にストレッチをするなどの対応は可能ですが、できることなら
- ディスプレイ(24~27インチ)
- 座りやすい椅子
- スタンディングディスク
この辺りは、先行投資だと思って用意することをオススメしたいです。
ちなみに僕は、まだディスプレイしか揃えることができていません。スタンディングディスク欲しい…
まとめ
いかがでしたでしょうか。
今回は、僕の経験談を踏まえ、エンジニアとして働く際にやってて良かったこと、やっておけば良かったという切り口から、転職の際にも使えるtipsをお伝えしました。
この記事を読んでくださる方々は、僕と同じように駆け出しエンジニアの方々が多いと思います。
1人でも、この記事をきっかけに行動を変えてくださる方がいれば嬉しいです。
普段は、週に1回~2回、Ruby, Ruby on Railsを中心に技術ブログを更新しています。
たまーに、このようにアプリやサービスの紹介もしています。
もし参考になったなと思ったら、ブックマークをよろしくお願いします。
最後まで読んでいただき、ありがとうございました!
それでは。