仕事に対して感じたギャップ、社内外で感じるギャップ
孤独アドベントカレンダー4日目のhalspringです。
なんと今回は4日のうちに投稿しています。
ほとんどテクい記事を書いていないので「これでいいのかな感」がありますが、今回もそんな感じです。
お題
お仕事に対するギャップとかいかがです?
なる前、なった後で、良くも悪くも「こんなことあるんか!しらんかった!」ってあるので、自分の経験と対比しながら読みたいです。
お題の提供ありがとうございます!
仕事に就く前と後のギャップについて、
また弊社のQAエンジニアの役割が他社さんとは少し異なるので、そのあたりで感じるギャップについてもせっかくなので綴ってみます。
読んでくださっている方も自身の過去と比べて見てください。
まだピチピチ新卒2年目なので、「最近の若いもんがどんなことを考えているのか」の参考程度にはなるかもしれません。
第一話「学生halspring、就活す。」
学生halspringは情報系の学部生でした。
友人とゲームしたりTRPGしたり、TRPGで計算が面倒なのでキャラシートの管理と諸々の計算だとか装備品とかスキルが管理できるWebアプリをつくっているような意識高いのか低いのかわからない系でした。
halspringは自分のつくったものを人が使ってくれること、喜んでくれることが大好きでした。
なのでhalspringは、(身近な人を含む)より多くの人に使ってもらえるようなサービスを扱う会社に勤めたいと思いました。
また、halspringは「安定した大企業に勤めてほしい」「有名企業に〜」「年収が〜出世が〜」といった言葉が極端に嫌いで、
「ベンチャー気質で」「無名でも共感できる理念を持ってサービスを作ろうとしていて」「利益よりもユーザーのことを考えるような人がいそうな」企業を求めていました。
halspringはなにかをつくることが好きだったので、エンジニアを目指していました。
しかし、同じくらいバグを見つけることが好きでした。
大学の課題や、同期の研究用のプログラムを見てはぶっ壊れそうな入力を入れたり想定していなそうな操作をするのが好きでした。
( 大学側が学生の進路把握に使っていたWebアプリに結構深刻なバグを見つけて直してもらったのは割と自慢 )
そして調べているとQAエンジニア、クオリティ(品質)エンジニアといった募集を見つけました。
ユーザーが安心してソフトウェアを使えるようには開発側がしっかりしないと、と思っていたので非常に興味はありました。
興味はありましたが「それって開発に関する知識を豊富に持っていないと、妥当に評価したり検証できないのでは?」と思っていたため、「新卒からなるものではない」と思い将来的に転向を考えられるようになればいいなと思っていました。
故に、アプリケーションエンジニアの募集からWeb系の企業に就職することになります。
第二話「配属先の宣告」
入社に伴い、配属が告げられます。
halspringの同期には、文系出身でリバースエンジニアリングやアセンブリが好きでバイナリを酒の肴にするセキュリティ大好きな情報量の多い変態がおり、彼は新卒からセキュリティエンジニアとしての配属になっていました。
それを横目に見ながら、変態的なキャリアを歩むのだろうな、すごいなぁと思っていたらhalspringの配属が告げられます。
「QAグループ」
一瞬、何も思考できませんでした。
それもそのはず、今だから書きますがQAエンジニアが存在することを知らずに入社しています。
(もちろん、存在を知らないので希望も特に出していません。)
QAエンジニアをハイスキルな職種と感じていたhalspringはセキュリティの彼のような変態にされてしまうのでは、と興奮して恐怖していたことを覚えています。
今ではしっかりと変態にさせてもらえたので非常に感謝しています。
(変態性を見抜いて配属を決めてくださったスーパー人事やCTO、その他関係者の方には本当に感謝です。)
本題 : ギャップ
思い出話終わりです。
自分のような変態性を隠し持っている人が選考にいらっしゃったら引き出してあげてください。
過去のイメージ 対 自社 編
想像
- アーキテクチャや設計をレビューしたりする
- コード追ってバグ見つけたりデバッグしたりする
- ユーザーのこと考えて「ここ大丈夫なん?」とかする
- デザインとかもわかっていたほうがいい
- 統計とかわかっていたほうがいい
現実
- 設計は「見ろ」とは言われないけど勝手に見たりする
- コードを見ないことはないけど、そこまで見ない
- デバッグはしない ( そもそもテスト担当側のスコープではない )
- ユーザーのことも考えるけど開発者のことを考えることも多い
- ユーザビリティ評価は専門の部署が隣にあった
- メトリクス周りで統計とかも知っていたほうがいいだろうなとは思う
と、思っていたほどギャップはなかったです。
実務においては想像よりスコープは狭い印象です。(といっても奥が深いのですが。)
現在、主な業務として行っているテスト計画やリスク分析を考えるとむしろ思っていたよりクリエイティブです。
仕事をしていての気持ち的なところでは、
ビジネスビジネスした堅苦しさを感じることはあまりなく、自分達が誰かのために良いと思うことを各々行っているような感じでとても楽しいです。
つらいのは通勤だけですね。
他に感じたこととしては、
開発よりもテストの方がおもしろくなってしまったことや、
情報系出身であってもテストのことを学ぶ機会がほとんどなかったことです。
テストがこんなにも重要な役割を持っているのに、なぜこんなにも学ぶ機会がなかったのだろうかと思っています。
技術書にもオンラインの教材にも、軽く「大事だよ」程度に書いてあったり、
「テストコードの書き方はこうだよ」くらいの情報しかなく、そこには少々疑問が残っています。
また、これは最近感じていることですが、
QAに求められているのはテストの技術というより、思考の技術であるように思います。
なにを持ってテストが十分と判断するのか。
より効率的にテストするにはどうすればよいか。
どんなリスクが考えらるのか。
開発者はどんなところで誤り、バグを作り込むのだろうか。
この仕様で問題は起こらないか、世に出して良いプロダクトなのか。
いろいろなことを考えています。
そして、それらはテストについての勉強をしていても急にできるようにならないものだと思います。
勉強したこと、見聞きしたこと、知識や経験の抽象度を上げたり下げたり水平方向にシフトさせたりして、
現在手に入る情報、積み重なった過去の情報から様々なことを考えているような気がしてます。
(これをテストの技術と呼ぶのかもしれませんが...)
社内 対 社外 編
「これがQAエンジニアだ」とヒヨコのときに叩き込まれているので、正直 社外のQA事情とのズレを感じます。
ひとつ大きな違いでいうと、自分がテスト設計をほとんどしていないことです。
弊社では開発者が自分達でテスト設計も実行もしており、自分がするのはそのサポートやテスト計画が主です。
自分で社内用にテストツールを開発することもあるので、それに関してはもちろんテスト設計もしましたが、比率でいうと圧倒的に少ないです。
そのため、自分の考えていることが理想論に近い、アカデミック寄りな内容になってしまって現場に即していないのではないかと考えてしまうことがあります。
それについて良し悪しは一概に言えませんし、
会社ではそれでも頼ってもらえたり信頼してもらえているので、期待に応えられているのなら良いのかなと思ってしまう複雑な気持ちがあります。
また、少々 トゲのある内容にもなってしまって恐縮なのですが、
正直、開発側とテスト側の対立が起こることが理解できないでいます。
(twitterやブログのエントリー、思い出話が主な情報源なので、情報の偏りや誇張したものを認識しているかもしれません。)
「より良いプロダクトを作ろう」と集まっていてゴールは同じはずなのに、なぜ敵対してしまうのでしょうか。
そして、テックな方向の勉強会においても「質問」の形でそれらの「愚痴」が挙がることがあります。
なぜそれほどまでに業界にこの問題が蔓延っているのか、知らなくても良いことなのかもしれません。
ただ、温室育ちでガラスの向こうから業界の不幸を見ているだけなのはモヤモヤします。
そういった業界内のギャップを感じ、またその状態に対しても不満を抱えているので、
おこがましいですが、少しでも引き上げられるのであれば引き上げられるよう活動をしたいと思う動力源にもなっています。
仮にそれが理不尽から来るものであればその理不尽をなくして不幸になる人がいなくなれば良いなと思います。
おわり
後半、気持ちが昂りエモくなっていますし、
アドベントカレンダーに載せていい内容なのかわかりませんが、少しでも若手が感じている想いとして誰かに伝われば幸いです。
そして、改めて変態気質のエンジニア志望がいたら自分のように沼に引き込んであげてください。