Open6

QAからWeb系エンジニアに徐々にスキルセットが変わっていったとき、学んだこと

mochimochi

スタートライン

  • 新卒でC言語でのプログラミング研修が1か月ほどあり、そこで基礎を学んだ
  • ただ、その後の現場ではテスターとしての仕事しかなかった
  • エクセルのテスト仕様書を埋める毎日のなかで、「全てのシートでA1セルを選択して提出しなさい」という不可解な要望に対して、保存すると全部A1になるマクロをこっそり作って対応したりした

それがスタートラインだった。
開発だなんて夢のまた夢で、私はいつしかプログラミング研修のときの気持ちを忘れてしまっていた。

mochimochi

転職を機に

私は縁あって、当日社員数が100人に満たない自社開発のスタートアップ企業に転職した。
2人目のQAエンジニアだった。

前職が組み込み系で、転職先がWeb系だった。
最初に覚えたのはgitでドキュメントを書くことだった。マークアップ言語とかもよく分からなくて、調べながら頑張っていた。

mochimochi

転職して最初の1年で勉強したこと

勉強っていうか、恥ずかしいくらいできなくてお話にならなかった。だから、できないことが大勢にバレないうちに勉強して、できるだけ長く「できるフリ」を続けようと陰で勉強した。
1人目のQAの先輩にもたくさん頼らせてもらった。
そうしたら、少しずつ本当にできるようになってきた。

できるようになったことを順番に並べてみる

  • GitHubのドキュメントをgitコマンドを使ってて更新する
  • dockerコンテナの操作と基礎知識
  • AWSクラウドプラクティショナーの資格をとった(サービス名と役割を覚えた)
  • GitHub Actionsを使った自動化
    • 他の人が作ったやつをちょっと変更しつつ、使い方を徐々に覚えていった
    • パイプラインの自動化を色々頑張るうちに、dockerやnpm, Node.jsについて改めて理解していった
  • jsのコードのちょこっと修正するやつに手を挙げたりして、徐々に開発に関わるようになる
  • 記念すべき最初のリリースは、User-Agent Client Hintから利用中のOSを判定して表示させることだった
mochimochi

開発をするようになってから学んだこと

  • JavascriptからTypescriptへ
  • AngularでHTMLとJavascriptで書かれたコードが連携していること
    • その後、Angular, Vue, Reactが同列にあり選択肢として検討されること
    • 初心者的に厳しかったのは、「どれが同列なのか分からない」問題だった
  • LPICの資格試験を通して、Linuxの操作やOSの特徴など
  • CDKでのAWSリソース作成
    • LambdaやSQSを使ったシステムを構築するときの考慮事項(SQSからLambdaが2つイベントを取ってくることがあるという制限事項、可視性タイムアウトなど)
  • システムアーキテクチャに関する知識(まだ入口に立っただけ)
    • デザインシステム
    • クリーンアーキテクチャ
mochimochi

勉強をブーストさせるために必要だと感じたこと

とにかく英語力。翻訳ツールを使えば大体なんとかなるとはいえ、原語(英語)でドキュメントを読めると、翻訳ではカバーしきれないニュアンスも汲み取れるのが強かった。
ツール使う手間も省けたし。ほとんど意地だったけども。

あと、ハードウェア系の基礎ができていたのは良かった。ソフトウェアの構造を考えるとき、ハードウェアがどうなってて、ドライバーがどうコントロールしてるかが分かってると、理解が早い。

OSがメモリをコントロールしてる仕組みとかも、Windowsの検証業務を通じて理解していたので、Linuxになっても応用が効いた。

mochimochi

こういう自分が勉強してきたことをまとめていきたいな。