Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

DAY1(2022 6/1) ~ DAY3(2022 6/3)

はじめに

どうも、ハガユウキです。
2022 6/1に金融SEから、無事にスタートアップのソフトウェアエンジニアにキャリアチェンジしました。働く中で、自分がしたこと、考えたこと、感じたことを忘れないようにするために、日記を書きます。気軽に楽しんで読んでいただけると嬉しいです。

シンガポールチキンライス

DAY1(2022 6/1)

  • この日からソフトウェアエンジニアとしてのキャリアがスタートした。

  • MacBook proとモニターが支給される。あと自分が座るイスがめっちゃ座りやすい。値段を聞くと8万もするらしい。隣にCTOがいるので、いつでも気軽に聞くことができる。すごく最高な環境。

  • 午前中は雇用契約について、説明を受ける。

  • 本当の意味での裁量労働制 ( 出社時間と退社時間が自由、成果次第で労働時間を自分で決められる ) を導入するのは、法律上難しいことが発覚する。現時点で導入しても、ブラックな働き方になってしまう為、現状は勤務時間固定の働き方をすることになった。自分がどういう業務を担当するかで、裁量労働制になれるそう。シニアエンジニアのレベルが必要そうなので、最低でも3~4年はかかるそう。早くシニアエンジニアになって裁量を持ちたい。。

  • レストランで昼飯をご馳走してもらいました。シンガポールチキンライス的なのを食べた。めっちゃ美味しかった。

  • 午後はまず開発環境の構築、開発に必要なアプリをインストール、Googleアカウントの作成をした。Dockerを使うことで、一瞬で開発環境が構築できた。Dockerは事前に勉強していたので、裏側でどういう処理が行われているかをスムーズに理解できた。

  • CTOのPCの操作スピードがめちゃくちゃ速いことに気づく。開発スピードを上げるためにも、盗めるものは積極的に盗すんだり、ショートカットキーを使いこなして、なるべくマウスを触らないことを心がける。

  • SmartHRで住民票に関する情報を入力した。

  • 初日ということもあり、大したことをやっていないのに、業務後はすごい疲れました笑。

DAY2(2022 6/2)

  • この日から本格的に開発がスタートする。

  • 色々なタスクを振っていただきました。

  • 初めてプロダクトのコードをガッツリ読んだ。

  • まだリリースしてないので詳しいことは言えないが、ある機能Aを実装した。フロント側をMaterial UIやReact・TypeScriptで作ったり、バックエンドのRailsと通信したり、色々コードを書いた。

  • レビューを出すまでに5時間くらいかかったが、正直2時間くらいで終わりそうなタスクなので、何とかしたい笑。既存のコードを読んだり、分からないことを調べるのに時間がかかっているので、まずはそこを改善する。

  • ソースツリーがめちゃくちゃ便利すぎて感動した。開発速度が爆速で上がるので、使いこなせるようになりたい。

  • SmartHRでマイナンバーの情報を入力した。

DAY3(2022 6/3)

  • 昨日実装した機能のセルフレビューをした。

  • CTOにレビューしていただいた箇所を修正した。

  • CTOと初めて1 on 1をした。SOについて話したり、現状の不満や今後のキャリアについて相談した。

  • editorconfigを初めて設定した。

  • ある機能Bを実装した。実装する過程で、Material UIとReact-hook-formを使って、フォームと画面を作成した。Material UIが便利すぎて、今後も使っていきたいと感じた。

  • プロダクトをどのように使ってもらうか全員で話をした。ビジネス的な込み入った話になると、何も分からずに意見を言えない時があるので、当事者意識を持つために、間違ってても自分で意見を出すべきだと感じた。

  • SmartHRで保険に関する情報を入力した。

  • いつも19時30には帰るが、初めて夜の22時まで開発した。楽しくて止まらない時があるので、気をつける。

開発における気づき

  • cssには優先順位がある。

  • !importantでスタイルの優先順位を一番高くすることができる。

  • スタイルを整えるときは、検証ツールでcssをいじる。

  • command + /でコメントアウト、解除ができる。

  • メソッドを調べたいなら、まずはリファレンスを読む。

  • editorconfigを使うことで、どのエディタを使っていても、共通のコーディングルールを設定できる。

  • option + command + iで検証ツールを開ける。

  • ログインフォームには、バリデーションをつけすぎない。悪意のあるユーザーにヒントを与えて攻撃される可能性があるため。ログインフォームのバリデーションは不親切くらいが丁度良い。

  • エラーを出力するときは、console.errorを使う。

  • タスクの見積もり時間は、ちょっと多めに言っておいた方が良い。コードを読む時間や、予期せぬバグが発生したりするので。

所感

自分のやりたいこと ( Web開発 ) を仕事にできたので、業務時間 ( 8時間 ) の終わるスピードがとても速いと感じました。あと、働くことが全く苦痛ではなくなりました。やっぱり、やりたいことを仕事にするのってすごい。。
ただ、楽しくなるあまり、気づいたら10時間働いていることもあるので、短い時間で成果を出せるような仕組みを作ったり、意識を持ちます。
技術的な面、金銭的な面、将来の面で、今後のキャリアをどう作っていくか悩んでいましたが、まずは、そういうのは置いといて、目の前のタスクを全力で素早く正確にこなして、頼れる若手になろうと思います。今後の自己学習ではタスクに関する技術を中心に学ぶと思います。その集団の中でトップクラスの技術力を持つような人材になりたい。。理想に近づくためにも、1日1日を大事に過ごすよう意識します。

以上です。
6/6からの5日間も頑張ってきます!