エンジニア一年目で学んだ心得
この記事は、
徒々然々 Advent Calendar 2021 - Adventar
4日目の記事です。
こんにちは。ベルネスティ・エチェバルリアです。
ナイツ&マジック│TVアニメ公式サイト (knights-magic.com)
さて、本記事では僕が一年目エンジニアとして学んだ教訓集を書いていきます。
来年、再来年にエンジニアになる人とかは読むといいんじゃないでしょうか。
お仕事面と健康面に分けて書いていきます。読んでると「当たり前じゃん」と思うことも入っていると思いますが、言うは易く行うは難しです。
お仕事面
一日の最初、午後の最初に目標を決める
今日やること、今週やればいいこと、位の粒度でざっくりと、事務作業も含めて書き出します。書き出さないと見積もれませんね。
優先度を立てて、自分がわかる範囲まで分解しましょう。チームの人に「どれくらいかかりそう?」と言われたときも根拠を持って答えやすくなります。
午後の最初で軽い振り返りと見積もり直しをしておくとbetterです。
「仕事道具」に気を使う
ここでいう「仕事道具」は普段使っているソフトウェア、ツールのことです。具体的に言えば、Chrome(ブラウザ)とかVSCode(エディタ)とかiTerm(ターミナル)とかのことです。最近のツールは優秀なので、デフォルトである程度使えてしまう(し、そういうところが魅力でもある)のですが、自分なりのカスタムはすればするほど手に馴染んでいきます。どこかのタイミングで一度時間取って環境設定の整備をじっくりするのをおすすめします。
僕もデフォルトである程度使えるヤツのほうが好きです。
文字の大きさ、等幅フォント、テーマやカラー、表示する情報、レイアウト、拡張機能などなど.......
思想や背景を理解する
簡単に言ってますが結構難しいです。常に意識しておく、くらいが関の山だと思います。というか最初は具体的な部分の理解に必死でそこまで気が回らないとおもいます。
例えば、
などです。研究でやる深堀みたいなものです。
やってない人も多いかも。僕はやらされました。今では良かったと思ってます。
言語だけ、フレームワークだけを知っていればいい(知識)、という状況ってほとんどなくて、セットと言うか組み合わせのレパートリーとそのメリット、デメリットをどれくらい知見として持っているかが、重要だと思います。
もちろんとっかかりはどっちからでも良いと思います。
あと、dockerのimageとcontainerの違いがわからないとか、そもそもそういうレベルで概念の理解が欠けていることに気づいた場合は、チャンスなので土日とかに本とかで勉強するのがいいと思います。
業務時間中に調べてなんとかなるのは背景の概念は理解していて、細かい知識が知らない場合が大抵だと思います。
ポモドーロテクニック
ありきたりですが。
25分やって5分休むサイクルを繰り返すやつです。僕は集中力がないので20分のサイクルにしてます。20分毎にタイマー鳴らすだけでも効果あると思います。
集中力が乗ってきたら無視しましょう。
わからないことにぶつかった時
いくつか気をつけることがあります。
時間で区切って潔く聞く
30分とか、15分とか。「何がわからないのかわからない」みたいな状態がこの時間以上続くと、精神的にきついし端的に時間の無駄だしいいことがありません。潔く質問してしまいましょう。
「何がわからないかはわかっている」「何かしらの進展はちょこちょこある」みたいな場合は、粘ってみるのもいいと思います。
ログやエラーをまずは落ち着いてじっくり読む
Fatal!!とかErrorとか書いてある行に目が行きがちですが、案外その前後(特に前)に答えとなるキーワードが書いてあったりします。
最初は幅優先調べ、ある程度アタリが付いてきたら深さ優先調べをする
そもそも「webpackが何か知らない」みたいなときに、まあいきなりドキュメントを見て理解できる人はそうすればいいと思うんですけど、僕は最終的にドキュメントが理解できればいいと思っている人間です。
そういうときは、
webpackとは、とかそもそもそれが何かを調べる
今やっている事例に近い具体的なコード例をとにかくqiitaとかで探して読んでみる
とか、浅く広く調べる:幅優先調べを先に行ったほうがいいと思います。
仕事をすすめるときは仮説やアタリをつけて進めていくこと自体はとても重要なのです
というかそうしないと進まない場面とか普通にあるので.......
が、狙ったもので検索しても出てこないことがあると思います。そういうときは、まず自分が本当に前提知識や背景の部分でわかってないことがないか、広く調べ直してみるのがいいと思います。
案外忘れがちです。
検索はキーワードゲーです、いろんなワードで検索してみましょう。
図と文で今の理解、状況を整理しておく
例えば
- 今どこまでできていて、何がわからないのか。
- 今どういう構成にしたくて、どこまで構築できているのか。
- 今どういう処理をしたくて、どういうところまでできているのか。
ポイントは、こういうことがしたいから、こういうことをしている、というのをしっかりと人に伝えられる状態にしておくことです。こういうことをしている、だけだとそもそもその処理をやる必要があるのか、みたいなところが聞いた人がわかりません。
僕はこれを最初めっちゃよくやってディスコミュが発生しました。気をつけましょう。
あと案外図を使うという選択肢が頭から抜けがちなので注意しましょう。関係性とか自分の詰められてないところが自動的に明らかになる(なってしまう)のでおすすめです。
わかった瞬間を残しておく
なんかわかった瞬間になんでわからなかったかわからないみたいな状態になってしまうのが人間のバグなので、きちんとその時の記憶は文字として残しておきましょう。
現象・原因(原因の推測)・対処を分けてきちんと書き残しておきましょう。半年後や数年後の自分を救うかもしれません。
会議でわからない単語を持ち帰らない
聞くは一時の恥聞かぬは一生の恥はマジです。ググればわかることなら「ググればわかるよ」って言われるだけだし、相手も慣れっこなのでそんなに気にしなくていいと思います。これもわかったらちゃんとどっかにまとめて書き残しておきましょう。
健康面
環境に投資する
あなたが普段使っている道具にこだわりはありますか?
ここでの道具は主に物理世界にあるモノを指します。
エディタやターミナル、ブラウザの設定を自分好みにするのも大事です。上で書きました。
たとえば......
- 良い椅子、机を使っていますか?
- キーボードやマウス、ディスプレイは使えるからと言って何年も同じものを使っていませんか?
- イヤホンやヘッドホンはそれが周りからどう聞こえるかテストしてから使ってますか??
あたりです。
社会人になると、学生時代にバイトしていたのとは比べ物にならないくらいのお金が入ってきます。もちろん将来のために貯金するのも大事だと思いますが、僕は自分の仕事環境に積極的に投資するタイプの人間です。だって使う頻度が高いものに課金しなくてどうするんですか。もったいなくないですか?
椅子は特にエルゴヒューマンやオカムラのSTRIKERあたりを軸にいろいろ検索してみるのがいいと思います。僕はエルゴヒューマンを使っています。
机はIKEAのベカント(120 x 80 cm)を使ってます。デスクワークなので奥行きがあるのがおすすめです。電動昇降はいいらしいですが僕はつけませんでした。
BEKANT ベカント デスク, ホワイト, 120x80 cm - IKEA
キーボードはめっちゃ散財してこれ!っていうのを見つけたのでまた別で書きます。
マウスはエレコムのトラックボールのを使ってます。もう腕を動かす生活には戻れません。
Amazon.co.jp: エレコム マウス 有線/ワイヤレス/Bluetooth トラックボール人差指 中型ボール 8ボタン チルト機能 ブラック M-DPT1MRXBK : パソコン・周辺機器
イヤホンに関しては、僕はiPhoneによくついてる有線のEarPods使ってます。ヘッドセット使ってる人はよく息の音が入る印象なんですがあれが僕は個人的には好きではありません。まあもうだいぶ慣れたんですが、毎日会議するようになると最初は気になるかもしれません。会議に支障がないような機器を使いましょう。
陽の光を浴びる
人間は陽の光を浴びないと鬱になりやすいそうです。植物みたいですね。
運動する
最近(これを書いているのは11月中旬~下旬です)リングフィットのストーリーをクリアしました!!昼休みにリングフィットをするように習慣づけてから午後への気分転換にもなり、健康になった気がします。
スマホとかだらっと見てると一瞬で時間すぎるからね。
気がしますと書きましたが、この気分が意外と大事なんです。コーディング始まっちゃえば目の前の問題を粛々と課題解決していくだけなんですが、そこに入るまで最初に自分を起動するところが一番コストがかかるので。
エアコンも電源をつけたり消したりすると消費電力が高いそうです。
特に目と頭痛の健康は死守する
目が疲れていたり、頭痛が発生すると仕事にならなくなります。本当に。
もう実装するだけとか、最初に発散するための調査とかならまだできるんですが、それ以外の仕事を作業に落とし込むあたりのタスクが全くできなくなります。
目が疲れてるときは仕事中でも1分くらい目を閉じましょう。仮眠したりアイマスクしちゃってもいいと思います。最悪ユンケルをキメましょう。
頭痛は緊張性と片頭痛に分かれます。超簡単に言えば血管が収縮して痛くなってるか膨張して痛くなってるかです。前者のときに誤ってコーヒーとかキメると臨終してしまうので気をつけましょう。
水分と糖分が足りてないことがほとんどなので、素直に水を飲んでチョコとかお菓子を食べましょう。最悪ユンケルとかバファリン、ロキソニンあたりをキメて、冷えピタとかですかね......そこまでしたことはないけれど。
そこまでいってしまったら、リリース前とかじゃなければ普通に休めばいいと思います。ほとんどリモートだと思うので。
あとはよく寝ましょう。
まとめ
色々気をつけることを書いておきました。たまに自分でも見直しながら、これからもエンジニアしていこうと思います。