ソフトウェアエンジニア、特にWebエンジニアは若い職業で、若いエンジニアがどんどん活躍する業界です。
そんな中で50歳を超えたエンジニアはまだまだ少数派ですが、少しずつ増えてきました。
このトークは、YAPC::Hiroshima 2024では52歳を少し超えている予定の私が、50歳を超えてからキャリア・健康・マインドセットにどんな変化があったのか、これからどうしていくのかを、実体験もりもりでお話しします。
以下のようなキーワードに関連する内容を取り上げます。
テストコードを実装しない開発を当たり前のように行っていた組織が今日ではテストコード文化が醸成され、開発にテストコードを自発的に拡張していくようになりました。ここまで行ってきた数々の話をします。
PHPが多く採用されているプロジェクトで、個人の裁量程度で設けられていたPHPUnitのテスト。ローカルの実行方法でさえフローが浸透していなかった状態から、 全コードにテストコード設置を目指すために環境立ち上げからカバレッジやスキルを上げていった話、後にテストを整備したアプリケーションを立ち上げて開発や保守運用にどう影響を与えたか。
今ではエンジニア自身からテストを拡張し、実行環境、CI、スキル、体制構築と整備をアップグレードし続ける状態になってきましたが、そこまでに奮闘し、組織の考えや開発の仕方が変わってきた記録を話します。
2019年の春、大学で情報工学を学ぶか、宇宙物理学を学ぶか迷っていた私が、入学後最初にしたことは、「Perl入学式 in 千歳」の門を叩くことでした。
Perlはもちろん、shellのコマンドもvimの使い方もほとんどわからなかった私が、歴戦のPerlエンジニアたちに囲まれ、はじめて聞く専門用語の波にもまれながら、プログラミングの楽しさを知りました。
私は今、新卒2年目のWebフロントエンドエンジニアをしています。Perl入学式ではありませんが、その後も様々な形の勉強会の主催などで、エンジニアのコミュニティ活動と関わり続けています。
あの日の行動が、出会いが、今の私のキャリアを作ったと確信しています。
あの日のPerl入学式が私のその後のキャリアにどのような影響をあたえてくれたのか、私にHello Worldを教えてくれたあの日の先生たちと、コミュニティへの感謝を伝えるためにお話します。
変化の速いスタートアップでEM (Engineering Manager) になった頃、組織課題を洗い出すため、以下に取り組みました。
・組織: 大規模スクラム (Scrum@Scale) の図をベースに組織構造を図化
・プロダクト: 複数マイクロサービスの相関関係を図化
・スキル: スキルマップ (星取表) でチームの強み・弱みを見える化 (Scrum Master の方がワークショップを開催)
・マネジメント: 上記を元にマネジメント領域ごとの課題をマインドマップ化
これらは「システム思考」でパターンを見出し、構造に働きかけるための土台作りでした。
そして、今追求している「プロダクト志向のエンジニア組織」の土台作りでもありました。
「システム思考」でどのように構造を見える化し課題を洗い出したか。
そして、どのようにエンジニア組織に改善策を適用していったかをお話できればと思います。
私たちエンジニアにとって、技術的な意見交換 (以下、これを「技術交流」と呼びます) はいつだって面白くて盛り上がることだと思います。
社内での技術交流であれば、社外公開のために気にするようなこともなく、気心の知れた仲間たちの間で盛り上がりやすいでしょう。社外に向けても技術交流できると更によいですね。
そんな技術交流を、「そそのかし」という観点からより盛り上げていくためのテクニックについてお話しします。
この発表が、技術交流の促進につなげられれば幸いです。
拡大した会社組織では、個々や組織の役割が専門化してしまい、その間で放置されてしまう課題が多く発生します。
そのような、役割の狭間に落ちたボールを拾い、解決のためにリードしてくれる人材はとても貴重です。
ですが、もしその人が会社を去ったり、他に優先すべき業務が発生したりした場合、課題解決の取り組みが途絶えてることは少なくありません。
バイセルではそのような課題解決を「ワーキンググループ」という少人数の横断組織でカバーしています。
これは、単に複数人で冗長化することでカバーしているというだけの話ではありません。
解決の取り組みを仕組み化し、改善のループを回し続けることで、最終的には組織文化へと昇華させ、リードする人間が不在となっても課題解決が持続することを期待しています。
本トークでは、バイセルでのワーキンググループの起こりから現在に至るまでの取り組み、成果、課題などについてお話しします。
トグルホールディングスは、「まちづくりのためのデジタルインフラ」と称して、不動産・建築・金融を一つにまとめた、新しいデジタル産業インフラを創ることに取り組んでいます。
複数の業界に横断するように表現していますが、ある市場領域に着目すると、これらは一つの産業であると言えます。
とりわけ技術が光る部分としては、不動産・建築であり、業界特有の専門知識が必要不可欠とする中で、ソフトウェアや、数学、AIを駆使して、新しい仕組みの確立に挑んでいます。
これらの取り組みについて紹介するとともに、新しいデジタル産業インフラが出来たのちに、私たちの生活にどのような変化が生まれていくのかについてもお話します。
昨今、スクラムに関する話題は尽きません。
様々な意見が飛び交いますが、2年間スクラムを実践してきた私が言います。
スクラムを取り入れただけでは輝かしいプロダクトは生まれません。スクラムはHOWです。
ではなぜスクラムなのか?
それは良いプロダクト作りをするための1つのフレームワークだからです。
しかしスクラムガイドや入門書だけでは形だけスクラムに陥りやすいです。(私もそうだった)
学習と実践を重ね、開発者/スクラムマスター/プロダクトオーナー、全ての役割を体験した私が「形だけスクラムにならない、良いプロダクト作りをしていくための話」をします。
話すこと
・形だけスクラム/陥るポイント
・スクラムイベントの深掘り
・他のアジャイル開発手法
・スクラムでプロダクト作りを円滑にするには
ターゲット
・スクラムを知っている方
・スクラムがしっくりこなかった方
・なんか話題のやつでしょ?な方
皆さんは社会人1年目、どんなことを考えてお仕事されていましたか?また、今何のために、どんなお仕事をされていますか?
語弊を恐れず言うと私は、自分の幸せのため「だけ」に仕事をしています。
このセッションでは、(未来を切り開く)22歳の新卒エンジニアである私なりに考える、自分の幸せを構築するための「圧倒的自己中心的主義」と、そのために意識している3つのことについてお話しします。
話すこと
「ここ数年、同じような仕事ばかりしていて、野心的な挑戦をできてない」
「プログラマ定年を迎えて、この先も生きていけるか不安」
こうした悩みを抱える方は少なくないと思います。
今回のトークでは、私自身が「開発もできるProduct Manager」になることを目指し、進んできたキャリアについてお話しします。
・決算書が読めないので、事業が儲かっているかわからない。
・機能開発の大きな裁量を任されたら、何から手をつけていいかわからない。
・取捨選択の判断基準がわからない。
・専門領域の異なる人とのコミュニケーションがうまくいかない。
・新規開発と機能改善の優先順位がうまくできない。
...etc
私が実際に直面した課題とそれをどう克服したかについて具体的にお話しします。
「エンジニアリング」と「プロダクトマネジメント」の掛け算で、皆さんが自身の未来を切り拓くヒントになれば幸いです。
FUN Developers Hubは、公立はこだて未来大学に多数存在する学生技術コミュニティの情報が集まるポータルサイトとして、学内の意欲ある学生たちの手によって約1年半前に開発が開始され、正式リリースに向けて開発が続けられています。
本トークでは、このサイトの開発の歴史を振り返りながら、
などについてお話します。
プロジェクトの立ち上げ・開発の停滞など、このプロジェクトの通ってきたさまざまな出来事や、このプロジェクトに懸けるアツい想いなどに触れながら、「未来」の学生技術コミュニティの情報基盤の姿をお見せできればと思っております!
採用活動を行っている方にとって、優秀な学生や学生コミュニティとの接点を作ることは自社の採用活動を進めるための重要な課題の1つでしょう。また、学生コミュニティを運営している方にとって、コミュニティを持続可能にし、盛り上げるための方法を模索する場面は少なくないはずです。
このような課題を抱える企業と学生コミュニティが関係を築くことができれば、双方にとって継続的なメリットが生まれます。
ただし、そのような関係を一朝一夕に築くことは困難です。
本セッションでは、未来大在学時代に未来大の学生コミュニティを対外的に知ってもらい、盛り上げるために企業を巻き込んで取り組んだ経験や、企業に就職した後の私が採用活動や学生コミュニティと関係を構築するために取り組んだ内容を踏まえて、企業目線と学生目線の両方から企業と学生コミュニティの双方にメリットのある連携について紹介します。
Rubyはバージョン3.2以降YJITと呼ばれるJIT実装が追加されています。
YJITはRubyのJIT実装としては完成度が高く、実際のプログラムも高速化でき、数%〜数十%の高速化につながります。
発表者はRubyコミッターであり、RubyのXML実装の1つであるREXMLにコントリビュートしています。
REXMLは全体がRubyで書かれているため、YJITで大いに高速化されます。
これは、他のXML実装であるNokogiriがC拡張で、YJITの恩恵をあまり受けられないのとは対照的です。
しかし、REXMLへの修正によっては、YJITを有効にしても高速にならないことや、遅くなってしまうこともありました。
この発表では、RubyのJITの仕組みや、JITのために望ましいコードの書き方など、JITという未来の技術を活かすための知識をみなさんに伝えたいと思います。
約5年間、建築系のSaaS 企業でVPoEとして勤務しました。その間、プロダクションコードは一度も書かず、コード修正は利用規約の修正などの文字列変更のみ。そんな人間が5年振りにSREの現場に戻ってコードを書くようになりました。5年振りに現場に戻って感じたことや進化したなと感じる事を伝えたいと共に、5年ぶりに現場に戻ったからこそ感じるこの先のエンジニアに必要なことをお伝えできればと思います。
[概要]
生成AI市場は非常に変化が早く高速なデリバリーが求められる環境下のため、必然的に開発速度の向上を目指す必要があります。
そのため弊チームでは、より良いものを取り入れるための技術選定の工夫や、エンジニアがより開発のしやすい環境を整えるための取り組みを積極的に行なっています。
そんな0->1の新規サービスの開発チームで、エンジニア一丸となり様々な取り組みを始めてから約1年経ちました。
(3ヶ月時点での記事: https://zenn.dev/aishift/articles/ce9783a0d7acd0)
[話すこと]
下記の事柄について良かったこと、つらみを沢山話します。
業務に関する大規模ソースコードから趣味レベルのものまで、基本的に全ての開発作業をNeoVimで行っています。
LspやDap、FuzzyFinder等々の機能を自前で入れる必要があるNeoVimですが、それ故の良さに「カスタマイズ性の高さ」があります。要は自分が求める機能を自分で実装できます。
今回はNeoVimをさらに強化する為にIDEであるIntelliJを実際に使用したりVimMasterの動画を見て便利機能を取り込んだ話や、なぜ自分で実装する工数を使ってまでNeoVimなのかについて話すセッションになります。
また、Vim系エディタでチーム開発を進める上で重要になるのがTUI(terminal User interface)の話です。
最近の「Rust製」の勢いを踏まえて、VimやTUIを活用した「Terminal IDE」(個人的命名)についても話します!
AWSにおいて「サーバーレスアーキテクチャ」は非常にメジャー、かつ多くのアプリケーションで採用されいるアーキテクチャです。
そしてその中核を担っているのはAWS Lambdaで、数多くの処理をLambdaで行っていると思います。
しかしその結果、Lambdaの数が膨大になり、金銭コストや単体テストなどの管理コストが負担になってしまうという問題もあるのも事実です。
そこでこのセッションでは「Lambdaレス」という、「あえてLambdaを使わない」というサーバーレスアーキテクチャを紹介するとともに、
「Lambdaレス」を採用することでどのようなメリットがあるのか?逆にどのような点がデメリットなのか、そして「Lambdaレス」のユースケースは?などをお話ししたいと思います。
また、もちろんAWSだけではなく、AzureやGoogle Cloudにも適用できる内容になります。
CloudbaseではCNAPP(クラウドネイティブアプリケーション保護プラットフォーム)製品を提供しており、発表者も日々脆弱性スキャンの機能を開発運用しています。
このセッションでは一般的にtrivy、vuls、syft/grypeなどに代表される脆弱性スキャナのソフトウェアのバージョンから脆弱性データベースを突合し、ライブラリやパッケージの脆弱性を検知する仕組み、実装方法を解説します。
昨今、政治資金に関する問題が世間を賑わせている。政治資金に関しては我が国に政治資金規正法という法律があり、これに基づき政党や政治家個人の政治資金の支出入はすべて政治資金収支報告書という形で総務省のHPなどで多くが公開されている。しかしその中身は紙の書類をスキャンしただけのPDFデータで、政治資金の詳細な集計や分析は困難な状況となっている。
この問題を解決するために発表者は趣味のプログラミングの一環として、オープンソースのOCRエンジンなどを用いて政治資金収支報告書の解析・分析プログラムを実装し、これらを最終的に【政治資金データベース】というWEBサービスの形にまとめて公開した。
本発表では政治資金の問題の背景や先人たちの取り組み、そして政治資金データベースの今後の開発の方向性やプロジェクトのオープン化、コミュニティー活動化の可能性を探り、実現したい未来の政治活動や政治資金の姿を示したい。
マネジメント未経験から20人ぐらいの開発組織のCTOになれた経験を通じて、将来、CTOやEMを目指す方が「自分でもできるかも?」と思ってもらえるような内容をお話しします。
コロナ禍に社会人になり今年で5年目です。
キャリアの半分以上をCTOとして過ごしてきているので技術以外ゼロからのスタートでした。
そんな僕でもマネジメントを学び、採用を学び、リファラルで集まった数名の開発組織から20人ほどの開発組織にまで成長させることができました。
その経験を経て学ぶべきことやマインドについてお伝えします。
下記のような内容を具体的にはお話ししようと思っています。