何を書こうとしているか・本記事の目的
プログラミングに苦手意識があった中で、アジャイル(スクラム開発)に携わることになった私が1年間の経験を経てどう変わったか書いてみようと思います。
学生時代~アジャイルに携わる前の自分について
学生時代
学生時代は一応情報系の大学に通っていて、プログラミング自体も授業で学んでいました。学習言語はJavaで週に数時間授業があったと記憶しています。
ただ、当時の自分はプログラミングがあまり好きではなく、得意になろうとしていませんでした...。
ひたすらできる友人のソースコードをコピペを続ける日々でした。
就職のタイミングでSEにならない選択肢もあったと思いますが、手っ取り早く就活を終えたかったのと、プログラミング未経験の文系出身学生でもエンジニアになっている人がそれなりにいることを知り、社会人になってから覚えるでも遅くないのでは?と感じSEになりました。
社会人1~2年目の途中(アジャイルに携わる前)
3ヶ月の新人研修終了後、配属されたのはできる人が集まると言われるPJでした。弊社では研修の進捗が速い一部新人(要するに優秀な新人)は2ヶ月で先行して現場配属されるのですが、自分が配属されたのは直近2年連続でその先行配属の新人が送り出されたPJでした。
そのPJで新人研修以上に自分が如何に技術力が無いかを思い知らされました。覚えなければいけないと思うことが多すぎて、何から覚えていいのか自分の中で優先順位が全く付けれませんでした。
その中の一つがアジャイルでした。優先順位高めに覚えなければいけないものではありませんでしたが、同じPJ内の先輩にアジャイルについて詳しく勉強している人(その後、自分が異動先となるアジャイルPJで一緒にチームを組むことになります)がアジャイルについて発信する活動をしていたので、それをきっかけに知りました。
アジャイルを知った最初の感想は「楽しそう」でした。そこからその先輩が主催した社内アジャイル勉強会に参加したり、自ら勉強をしましたが、そこで自分の中のイメージが「楽しそう」から「難しそう」に変わりました。
フルスタックエンジニアで無ければアジャイルに携われないのでは?というイメージが強くありました。それでもいつかアジャイルには携わってみたかったので、個人的にはもっと技術を身に着けて5年目に携わることを目標にしていました。
アジャイルに携わった直後
「アジャイル = フルスタックエンジニア」のイメージがすっかりできあがってしまった自分はアジャイルPJに入った直後、周りとの差を更に痛感しそのイメージがより強くなってしまいました。(元々持っていたイメージによるバイアスがすごくかかっていたこともあると思いますが。)
また、同じPJに所属していた他社メンバーが自分とほとんど年齢が変わらない人が多かったのも自分にとって危機感が強くなる要因でした。
なぜ、できない自分がここにいるのか?最初は焦りと不安を感じる日々でした。
そこからどうしたか
できないことを隠すのをやめた
もはや隠せないレベルだったとは思いますが、自分ができないことを素直に認め同じチームメンバーに質問するようにしました。(※自チームの開発メンバーは弊社2人、顧客先 + 他社ベンダー5名という構成でした。)
以前の自分はできないと分かっていながらも、分からない自分が恥ずかしくなかなか積極的に質問することができませんでした。
ただ、スクラム開発では1タスクごとの見積もり時間が〇日から〇hに変わった(特に自分のチームでは5h以上のタスクを作らないというルールを設けていた)ため、以前よりも考えたり迷っている時間が少なくなりました。
それが自分にとって大きくプラスに変わりました。
自分一人で考える時間が以前よりも短くなり、分からないことを恥ずかしがっている場合ではないと気持ちが変わっていきました。
また、自社の先輩に限らずチームメンバーが分からない自分に対して優しく教えてくれたことも大きな要因だったと思います。特に先ほどもあげた同じチームの自社の先輩には何度も何度も質問してしまったので、かなりご迷惑をお掛けしていたと思います...。
コーディングタスクを積極的に担当した
スクラムではフルスタックなチームを目指す以上、属人化は禁物なのでこのやり方がよかったかどうかは何とも言えないと思います。(とはいえもちろんコーディング以外のタスクをやらなかったわけではありません。)
着手可能なタスクにコーディングタスクをそれ以外のタスクがあったときはコーディングのタスクを積極的に取ることにしていました。
自分はこれまで継続的にコーディングをしたことが業務・業務外問わずなかったため、1回書いても覚えた気になって終わってしまうことがほとんどでした。(もちろん業務外で継続的に学習すればよかったのですが...)
それが最も自分にとって技術力が不足している原因だと思っていたので、まずは継続的にコーディングをすることを意識しました。
実際アジャイルは継続的なコーディングをするにはうってつけだと思います。WFでは数週間~数か月単位でフェーズが変わってしまうので、業務だけでは継続的にというのが難しいですが、アジャイルでは短スパンでイテレーションを回すので継続的にコーディングをすることができます。
どうなったか
フロントエンドの実装が好きになった
正直得意になったかといえばまだまだだと思いますが、特に自分はフロントエンドの実装が好きになりました。1年前までプログラミングに苦手意識しかなかった私にとっては大きな進歩でした。最初に比べると独力でコーディングもできるようになり、難易度高めなタスクもひとりでこなせる部分がかなり増えたように感じました。
自分に自信が持てるようになった
上記の話にもつながりますが、そこから徐々に自信をもって作業ができるようになりました。バックエンドの実装は今でも得意意識はありませんが、実装する前に機能のロジックはある程度イメージしてから着手できるようになったので、例えそのロジックで上手くいかなくとも、「自分はこういうロジックで考えて実装したけど、〇〇の部分で××になってしまった」など、質問のレベルも以前に比べて向上したように思えます。
できなかった自分と比較して今はできることが増えた実感が持てたので、そこが自分自身の自信へとつながりました。
積極的になった
自信を持てるようになってからはあらゆることに積極的に取り組めるようになったと思います。
今年度は自らお願いして、自分の所属する部門向けにアジャイルについての説明発表をしたり、その部門メンバーが入っているTeamsでノウハウを共有するチャンネルを作って自ら発信したり、他メンバーも発信する機会を作ったりと自らいろんなことに取り組めるようになりました。
スクラムで開発する上で主体性が以前によりも求められる環境だったからこそ、この積極性は身についたのではないかと感じています。
まとめ
自分にとってアジャイルは自分を変える大きなターニングポイントだったと感じています。
もちろんまだまだ技術を身につけないといけないと感じています。自信がついたといってもまだまだ1人前ではありません。もっと成長してQiitaにも技術的な記事をバンバンかけるくらいになることが目標です。
もし、自分と同じように技術に自信が無い、でもアジャイルに携わりたいもしくはこれから携わる人がいたら不安に思うことなく、むしろポジティブにチャレンジしてほしいなと思います。