新卒が使ってよかったツール・見てよかったリンク集
はじめに
こんにちは、株式会社COUNTERWORKSのくりまろ(@kuririmaro)です
以前から技術的な記事は書いているので、若干趣向を変えて書いてみます。
COUNTERWORKSに新卒で入社して、バックエンドエンジニア(兼QAエンジニア)として働いています。
この9ヶ月ほどで、バックエンド(以下BE)のタスクや若干のフロントエンド(以下FE)を齧るようなタスク、インフラのタスクなどさまざまな仕事を任せてもらったのですが、何もわからない。。。というのが本音でした。
なので、私はとにかく調べるところからスタートしました!
いろんなことを調べているので、時系列とともにどんなサイトが役に立ったのかやどんなツールを使いながら仕事をしたのかを紹介できればと思います!
内定者インターン
4月から正社員として入社しましたが、同年1月より内定者インターンとして業務を開始しました!
PCのセットアップ
入社して初めてやることはPC(M1のMacBook pro)のセットアップですよね。
ほぼ何も入っていないPCを使いやすくしていきましょう!!!
と言っても私はwindowsしか使ったこと無かったのでMacBook便利なツールもコマンドも何も知りません。
困り果てていた時に、さすが先輩教えてくれました。
新卒よこれ入れておけ
MacBookを使いやすくするツール
Clipy(コピペツール)
これあるなしで圧倒的に生産性が違う
command + shift + v で出るようにしています
こんな感じでクリップボードにある履歴を30個保存してくれます。
コピペ職人である私にとってはなくてはならないツールです。
Figma(デザインツール)
こちらはダミーデザインですが、このように画面デザインを確認するのに使います!
Karabiner-Elements(コマンドをカスタマイズする)
他にもcommand + q を長押ししないといけないようにカスタマイズできて便利(タイプミスってアプリ落とすとかなくなる)
こんな感じで設定できるのですが、私は日英切り替えしか設定していません。
おすすめの設定があれば教えてください。
Visual Studio Code(エディタ)
これ以上の説明は必要ですないですね。
拡張機能の追加のしやすさもVSコードの良さです!
Homebrew
以下紹介するライブラリもHomebrewを使ってインストールします。
なんでビールのアイコンなのかを調べてふみたら、"brew"に醸造するって意味があるのですね。
参考:https://qiita.com/omega999/items/6f65217b81ad3fffe7e6
CLIライブラリ(ターミナルを使いやすくする)
jq(jsonを見やすくする)
整形もしてくれるので、レスポンスを雑多に保存して、jqで見るなどで重宝しています!
高速grepライブラリ
ripgrepを入れていますが、あまり使っていません。というか使い方がよくわかっていないです。
ripgrepのインストール方法は↓
anyenv(言語のバージョン管理)
最初にインストールしたっきり使っていなかったのですが、これはめっちゃ便利ですね。。。
特に言語が違うプロジェクトを横断して 配属されている場合は、言語のバージョン管理が楽になりますね!
tig(logを見やすくする)
git logとか見るのに便利です。
ghq と peco
英字キーの私はこの記事同様 bindkey '^]'でショートカット control + ]で出るようにしています
1月-3月
やっていたことはインプットとアウトプットです!
インプット編
弊社のBEはRury on Rails(以下Rails)を使っているのですがRailsは全く触ったことがありませんでした。
そのためインターンとしての最初の業務は、Railsチュートリアルを完走することでした。
アウトプット編
Railsチュートリアルと並行して、研修用アプリの作成しました。
DockerでRuby3.1、Rails7.0、MySQL8.0の環境構築
RubyもRailsも新しいものを使いたかったので、こちらの記事を参考にしました!
立ち上げ時に何かに詰まって↓の記事も参考にした記憶があるのですが、ちょっと覚えてない。。。入社
4月になり社会人になってしまいました…
最初1ヶ月は先の研修用アプリと新卒研修でてんやわんやしておりました。
5月からはチームに配属されて、少しずつタスクを任せてもらいました!
4月
研修用アプリのデプロイ
個人で作ったアプリを無料で公開したい時の代表と言えばHerokuでしたよね。しかし、Herokuは2022年11月28日をもって無料枠を撤廃してしまいました。
今回の研修では、Herokuの代替としてFly.ioに白羽の矢が立ちました。
Fly.ioへのデプロイの仕方は、弊社のキタデが公開したアドカレ8日目の記事をご覧いただければとおもいます!
座学研修的なあれ
今年もミクシィの22新卒技術研修の資料と動画を公開します!
gitの使い方はミクシィさんの研修資料から学ばせていただきました!
ミクシィさんは新卒研修を前年度の新卒が行うらしいですね。
私に同じことができるか?と聞かれると…
ソフトウェアエンジニアとしての姿勢と心構え / Software Engineer's Survival Guide
エンジニアとして成長していくためにはどうするべきかをまとめてくれています!
「Web 基礎」という講義をしました
webとは何か。webについての基礎はここにまとめられていると思います!
7つの設計原則とオブジェクト指向プログラミング
疎結合とは何かを理解していなかった私にとっては、とても良い記事でした。
Ruby on Railsの正体と向き合い方
疎結合に関して、Railsを用いて説明してくれているスライドです。
5月
E2Eテストの導入
チームに配属されて最初のタスクはe2eテストを導入することでした。
e2eテストのツールはPlaywrightを使うことにしました。
Playwrightの導入方法
導入にしかフォーカスを当てていないので運用については記載されていません。
なぜE2Eテストでidを使うべきではないのか
弊社でもdata属性をつけることで腐りやすさを軽減しています。
playwrightでMailtrapのapiからメール本文を取得する
メールを取得するという操作は別のサービスにログインする必要がありますが、別サービスの動作確認をする必要はないので、apiから取得する方法をまとめました。
6月-現在
BE
Railsで実装するタスクを任せてもらえるようになりました。
Railsチュートリアルをやっているとはいえ、知識はガバガバでした。
調べる→PR出す→コメントを反映する→PR出す→……という流れでガバガバ知識も現在はレビューできる程度には知識が付いてきました!
Rails Guide(Railsの機能についてはこれ)
zennやQiitaで調べていても最終的に戻ってくる実家のような存在です。
Everyday Rails - RSpecによるRailsテスト入門
RSpecを使ってテストを行う場合は必読です。
Railsのクラスメソッドとインスタンスメソッドをマスターしよう!実践的でわかりやすい解説
ふわっとしかわかっていませんでしたが、業務に入った後では使い分けが必須です。
Rubyバージョンアップのやり方をまとめる
入社するまでRubyもRailsの使い方を知らなかった新卒がバージョンアップをRubyのバージョンをRuby3.0.4からRuby3.2.2まで上げたときに参考にしました。
新卒エンジニアがRubyを最新版にした時に躓いた話
私が書きました。Rubyのバージョンを上げたときの話をまとめてあります。
ちょっとしたFE
openapi-generator v6.5.0での出力をキャメルケースにする
私が書きました。アップデート後でもキャメルケースで出力できるようにしました。
インフラ
Terraformを使った環境構築のタスクも請け負いました。
インフラについては、弊社の@yuuAnが書いたアドカレ7日目の記事をご覧ください!
Terraform入門と便利ツールまとめ【一気に中級者へ】
これを読めばTerraformを使うことは困らないと思います。
Terraformのバージョン管理にtfenvを使う
環境ごとにTerraformのバージョンが異なることがあるので、tfenvを使うことでバージョン管理が簡体になります。
おわりに
内定者インターン時代から現在に至るまでの業務経験を振り返り、その中で役立ったウェブサイトやツールを紹介してみました。
プログラミングの知識が豊富な人からすると当たり前と思うこともあったかと思いますが、知識が皆無の状態からスタートした新卒エンジニアの成長過程を通じて、今後私たちのチームに加わるかもしれない後輩たちに実際の仕事内容の一端を垣間見てもらえれば幸いです。
最後までご覧いただきありがとうございました!
=================================
今回の記事を読んで COUNTERWORKS に興味を持った方がいらっしゃったら、ぜひ以下のリンクよりご応募ください!
ポップアップストアや催事イベント向けの商業スペースを簡単に予約できる「SHOPCOUNTER」と商業施設向けリーシングDXシステム「SHOPCOUNTER Enterprise」を運営しています。エンジニア採用強化中ですので、興味ある方はお気軽にご連絡ください! counterworks.co.jp/
Discussion