みなさん、こんにちは。
たけいです。
ついに会社で退職届が受理され、2020年8月をもって、エンジニアデビューを果たした今の会社を辞めることになりました。
今日は「現場に入る前にエンジニアになるためにやっておけば良かったこと」について書きます。
書こうと思ったきっかけ
エンジニアになってから、「もっとこうすれば良かった」と思う時がいくつかありました。
自分がなぜ今の職場を辞めなければならなかったのか。
もちろん先輩と合わなかった等ありますが、根本的に言えば、私のコードをかける実力が足りてなかったんです。
「コードをもっとかけていれば・・・・」
こんな感じで、今回は現場で働いてみて、「入社する前にこうすればよかった」と思ったことを書こうと思います。
現場に入る前にやっておけばよかったこと
1.得意なプログラミング言語を身につける
まず、〇〇エンジニアという肩書があったら、絶対に得意なプログラミング言語を身につけておきましょう。
JavaScript、PHP、Ruby、Java、Python
何でもいいので、とにかくプログラミング言語を。
マークアップ言語と呼ばれるHTMLやCSSだけじゃダメです。
htmlとCSSだけでも一応、web制作会社では給料もらえますが、20万前後くらいです。
ですが、そこから給料が上がるのは難しいかなと思っています。(会社員の場合)
あと、いきなりJavaScriptのコードを読み解いたり、書いたりする仕事ふられたとき、何もできないので
「プログラミング言語を1つ身につければよかったと」思っています。
自分は入社前
HTMLとCSS→まぁまぁできる
JavaScript→ほぼできない
という状況で、「JavaScriptは入社してから、先輩に教えてもらいながら身につければいいやぁ」と思っていたら、マジで痛いめにあいました。
なぜなら、先輩エンジニアは1から教えてくれることがないからです。基本放置なので。
その結果、JavaScriptの仕事を振られた時に、何もできなくて、先輩には怒られ、終いには今の会社を辞めることになりました。
こんな感じで、「現場に入ったら、教えてもらえる」と思わず、もっともっとガンガン勉強して、プログラミンング言語を身につけるべきでした。
2.コードをかける人から習う
プログラミンやボウリングといった、スキル系を学び始めてから、
「コードをかける人からプログラミングを習えば良かったな」と思います。
最低でも、プログラミングスクールにいけば良かったなと。
ちなみに、今、私は趣味のボウリングでたまにプロボウラーからアドバイスを頂いてるんですが、
やっぱりプロから教えてもらうと、めちゃくちゃわかることが多いんですよ。
「もっとこうしたほうがいいですよ」とアドバイスされたり、「こういう状況ではどのように投げるべきですか」とか、質問し放題ですし。
こんな感じで、自分では気づかない癖や非効率なことを、長年経験してる先輩が教えてくれます。
エンジニアだったら、
「ここでは、このショートカットを使ったほうが早い」
とか、
「ファイルの検索はここをコピペして、ここを洗濯した方がいい」みたいに。
独学でもある程度いけますが、「もっと早く成長できるのは、他人から習うことだ」と改めて確信したので、
経済的に余裕がある方、もしくは「人生への投資だ」と思ってちょっと負債抱えることができる人は、
ぜひプログラミングに詳しい方から習うといいと思います。
そうすると、実際に現場にいって、「この子は基礎の基礎ができてるな」と思われ、一歩リードできます。
逆に先輩も先輩で、知らないショートカットとか効率の良いことを見た瞬間、「えっ、それは知らなかった」ってことで、新人から学んじゃたりするんですよ。
こんな感じで、先輩といかにいい関係を作れて、いつでも質問できたり、「この子には教え甲斐がある」と思わせるかが重要です。
3.専門用語はとにかく知っておく
現場に行って、専門用語を知らなくて損をしました。
まぁしょうがないことではあるんですが、「もし知っていれば、もっと飲み込みが早かったな」と思ったわけです。
例えば、
ASP,JSON,JSONP,API,Ajax,FTP,CPU.UI.UX,ローカル、リモート、ブランチ、ディレクトリ、デグレ、サーバー、ブラウザ、ファイル、グローバルナビゲーション、タブ、ページャー、モーダルウィンドウ等
独学時にこのような単語の意味を全く理解していなくて、会社でこの単語を言われた時、何をすればいいかわからなくて、大変でした。
簡単な例を挙げるとするならば、Index.htmlとかindex.phpってファイルって言うんですよ。
ファイルの意味を知らないと、
「トップページの該当ファイルはどれかわかりましたか」って聞かれた時、何を指してるかわからないわけです。
それくらい専門用語には疎い状態だったので後悔しました。
現場のエンジニアは、専門用語を使ったほうが楽なためか、上記のような単語を1年目のエンジニアにもガンガン言って説明してきます。
ですので、専門用語は知っていて損はないです。
(捕捉)ショートカットは知っておく
まぁ、補足ですがショートカットは知っといたほうがいいです。
1回、あまりもにわからなすぎて、先輩エンジニアに1からコードを書き直してもらった時があったのですが、
マウスを一切使わず、ショートカットを駆使して、キーボードだけで操作してる瞬間には驚きました。
例えば、画面で右クリックし、メニューを見た時ショートカットキーとかちゃっかり載っていますよね。
コピー(ctrl+c)みたいに。
ショートカットを習得したいのであれば、そういうのを見た瞬間、実際に使えばいいのです。
あと、「これどうやったらショートカットできるかな?」と思ったり
保存とかリロードとか、キャッシュのクリアとか、印刷とか、ショートカットしか使いません。
なので、ショートカットキーで操作できるものはできるだけ操作して慣れておけばよかったなと思います。
ちなみに、キーボードを早く打つ練習をしてる方がたまにいますが、まぁ無意味ではありませんが、
現場で打っていれば自然と早くなりますし、ショートカットキーを打つ練習をしたほうが、全然効率的です。
どんどんショートカットキーを使うようにしましょう。
結局は情報戦
現場に入って、結局はいかに「知ってるか」がエンジニアとして、成功するかしないかの分かれ道だと思いました。
エンジニアとしてキャリアを描くのであれば、勉強するしかないんです。
なので、コードを見るだけでもいいので、コードに触れる時間を増やしていきましょう。
わたしもマイペースにこれからも勉強していきます。
今回のブログもご覧いただきありがとうございました。
TwitterのDMにて、エンジニアに転職したい方むけに相談を行なっております。
ぜひ、ご連絡ください。
また、zoomでも相談も受け付けているので、ぜひそちらを希望の方もご連絡ください。
よろしくお願いいたします。
よくわかるRuby on Rails入門 オンライン講座
