lufeの備忘録

学んだことをてきとーに。

CA Tech Accel 参加記

2022年1月から2022年3月まで約3ヶ月間CA Tech Accelに参加してきました。
※この記事は個人的な感想や偏見が入っているため、理解して読んでいただけると幸いです。

CA Tech Accelとは

Cyber Agentが主催している育成型プログラムであり、今年度は24卒のエンジニア志望学生を対象にし、22卒のCyber Agent内定者の方々とチームを組んで成長しようといったものです。
今年度はBackend, Frontend, Game-Client, iOS, Android, MLDSといった6つの分類があり、合計11チームありました。
参加者の技術力は個人的にバラけているかなといった印象でした。

参加するにはCyber Agent内定者の方から認知してもらったり、推薦してもらう必要があると思います。 そのため、以上が達成できれば意欲があれば誰でも参加できると思います。

参加の経緯

今まで色々とセキュリティについて学んできましたが、プログラミング経験が本の写経や大学での授業だけであり、自分でプログラムを書いているといった気分ではなかったため、プログラミングが苦手でした。脆弱性診断をしている上でプログラムがどのように作られているのかや、自分での検証といったところなどで開発経験や実力が必要だとは思ってはいたのですが、なかなか手を出せずにいました。ただただ基本的な脆弱性を知っている頭でっかちなどになりたくないとも思ってました。そのため、プログラミングができるようになりたい。自分でプログラムを書いている気になりたい。といった技術力と自信を得たかった時にCA Tech Accelについて大学の先輩から教えていただいて、参加しようと思いました。

上記は今思うとこうだなって思っただけで、実際はインフラなどのミドルウェアみたいなものを作ってみたいけど、自分には実装力が足りないし、何をすればいいかわからないとか、クラウドなどのインフラ技術を触ってみたいといった曖昧な感じで「インフラエンジニア枠」で応募した気がします。

その時に実際に何に悩んでいるのかといったことが当時の私にはわかっていなかったと思います。

内容

Go

ちょうどCA Tech Accel開始と同時に並行してSecHack365をやっていたのでAPIをGoで描き始めました。
※SecHack365のことはそっちの参加記を書く予定なのでできたらそちらをみてください。
この時何もプロダクト開発をしたことがなくずっとどのようにすれば書けるかを本を買い漁ったり、QiitaやZennの記事を読み漁っていました。
最初はほとんど何かのコピペだったことを覚えています。この当時はプログラミングで公式ドキュメントを読むといった基本的で一番大事なことをやっていませんでした。全て記事や本から取ってきてエラーに苦しんでました。

APIはひと段落すると、次に私は実際にAPIを生やしたり作ったりしたいわけではないことに気づきました。
最初の自分が言っていたようにミドルウェアを作りたいのかな?と思いながらまずは、CLIなどのソフトウェア?を作ることにしました。
文字列を解析したり、それによって判断を変えたりと表面上ことをしたいのではなくいろんな処理に興味があることがわかったためGo言語の静的解析に取り組みました。コードを書いていく中でGoの標準パッケージの中身を読んだりして自分でやっとひとつ静的解析を作ることができました。この時、自分で作ったと言った自信ができたと思いました。標準パッケージを読みながらテストを書いて、実際にコードを走らせて出力を解析して作っていく。こんなプログラマーにとって当たり前のことがやっとできるようになりました。 自分が考えて作ったものをOSSがマージしてくれるととても嬉しいです。今後も多くのOSSに貢献していきたいと思いました。

ちょくちょく22卒の内定者の方々が講義を行なってくれてGoの標準パッケージについてやテストについて、ちょうどGo1.18のリリースの時期だったので1.18の新機能のこと、実際にこの関数はどこで使ったりするのかなどの実務的なことや実践的なことを教えてもらいました。他にも自分で作っているときに出た疑問点をSlackのtimesチャンネルに投下していました。

Goについてもまだまだだと思っているので色々なものを作りながらプログラミングの経験を積んだり、Goに限らず他の言語でも色々なことをしてみてプログラミング力をつけていきたいと思います。

Kubernetes

インフラについて興味を持ってはいましたが、実際には何も触ったことがなかったため、Kubernetesについては本当に何もわからない状態でした。
まず、「Kubernetes完全ガイド」を購入し、本を読んで基本的なリソースについて理解してからgithub上でKubernetesクラスタを一から作ってみるといったものが公開されていたため、それをやって基本的な構造について実際に手を動かしながら理解できました。まだ自分が使うところまでいけてはいないのでこれから何かサービス開発やサーバー設計をしたときに一緒に組み込みたいなって思ってます。

キャリア面

Cyber Agentの社員さんや22卒の内定者の方々からCyber Agentのことをたくさん教えていただきました。部署ごとの特徴や何をやっているかなどこのようなことを聞けるのはここだけだろうと思いました。色々なエンジニアの方とも喋って〇〇エンジニアはこんなことをするといった具体例などを知ることができ、視野が広がりました。
自分はセキュリティエンジニアの道しか考えていませんでしたが、この機会にプログラミングが苦手ではなくなったのでバックエンドエンジニアやSREに興味を持つようになりました。
実際に自分が作ったものを見ると嬉しいですし、何より楽しいと思うようになりました。加えてそのような開発や基盤構築をしているとセキュリティエンジニアとしても成長している気がします。
このように自分の将来のなりたいキャリア像なども浮かべることができるようになりました。
加えてインターンやそういったイベントのことも教えていただいて多くの会社のことを知ったりしてどの会社がどんなことをやっていて、何をしているか等の興味も出てきました。
これから多くのインターンに参加してその会社ごとの業務を知りながら、環境にもまれたりしながらどんどん技術力等を高めていきたいです。

おわりに

本当にこの3ヶ月ですごい成長したなって思っています。これも最初にCA Tech Accelを教えていくださった先輩と、近くて支えてくださったメンターさん、Cyber Agentについてやキャリアについて教えてくださった人事の方や関わったCyber Agentの社員さん本当にありがとうございました。この3ヶ月すごい楽しかったです。これからも色々なことに挑戦をしてみて成長していきたいと思います。この機会に知り合った方々とこれからもよろしくお願いします。
最後になりますが、ありがとうございました。またの機会があればよろしくお願いします。