times。それは、社内チャット内で自身のチャンネルを作り、その人が自由気ままに投稿することのできるいわば社内Twitterのような文化のことです。
僕が入社した時、このtimesという文化は弊社にはほとんどありませんでした。
ほとんどというのは、以前チャレンジしようとしたけど結局やめてしまった形跡を見つけたためです。
僕の入社を機に、timesという文化が活気付き、業種を超えてディレクターの方々までも始めるようになりました。
また、times文化が活気づいたことを機に、エンジニアに向けたお悩み相談部屋(定期会議)を立ち上げ、部署を超えて全社のエンジニアのサポートをしていける状況としました。
本講では、timesを機にわかった弊社エンジニアの悩みや考え方、それ踏まえた僕の行動軌跡と今後の予定をお話できればと思います。
サービス開始から6年、初めてのLaravel、PHPバージョンアップを行なっています。これまでサービスの成長につながる案件に時間をつかってきたため、定期的なバージョンアップを実施できていませんでした。そんな中、どのような経緯でバージョンアップすることになったのか、進める中で苦戦していること、学びを共有します。
2013年から約20年近く続くサービスの運用開発をしていますが、サービスは過去にオンプレからAWS環境へのリプレイスや
サービス内の大幅な機能のアップデートなどを繰り返し行ってきました。
そんな中で、PHP(Laravel)やNodeなどのシステムバージョンアップは優先度を上げきれず
セキュリティサポートが切れるタイミングなどリスクが高まってからかなりの時間を費やして実施してきたという背景があります。
今回はそんなサービスのバージョンアップを採用技術のバージョンアップサイクルと大差なく行っていくための計画を立て、実施しているお話をします。
具体的には、最新バージョンへのアップデートそのものと、バージョンアップを効率よく行える環境へのリプレイスの大きく二つが求められる中で
どのような考え方でコンテナ環境へのリプレイスを先に実施することにしたのか、実施してみての効果などを交えながらお話します。
PHP Conference Japan 2021でお話しさせていただいた、『SymfonyとDoctrineで 簡単クリーンアーキテクチャ』。実はあのサンプルコードのユースケースクラスは実際のプロト開発の書き方ではなく、実際は"主語"と"述語"を意識した書き方をしていました。
前回の登壇では時間の都合上、泣く泣くカットせざるをえなかった、『"主語"と"述語"を意識したユースケースの作成』について、ご紹介していきます。
「Raspberry Pi で L チカ」「PHP で L チカ」「Raspberry Pi で "Get Wild"」「PHP で "Get Wild"」のサンプルは良く見かけますが、みなさん「Raspberry Pi + PHP で "Get Wild" 」の実装例はまだ見たことがないのではないでしょうか。
というわけで、私がやります!
エンジニア20名規模で複数プロダクトの開発保守をしている自社で約3名の少数精鋭SREチームを立ち上げ、やろうとしてきたこと、それに対して実際できたこと出来なかったこと、そして今後の展望について話します。
チーム開発に欠かせないチームビルディング。
何となく雰囲気でやってませんか?
チームビルディングの目的や、よくある失敗例を混じえながら抑えるべきポイントについて説明していきます。
チームビルディングとはなにか
チームにおけるフェーズとその機能
チームビルディングでよくある失敗例と対策
メンバーのタイプと相性について
オススメのチームビルディング方法
チームリーダーを任されたけど何から手をつければいいか分からない人
何となくチームリーダーをしてるけど、なんかうまく機能していない気がする人
メンバーだけどもっとチーム感を持って仕事がしたい人
チーム生産性の話
スクラムなどの開発手法の話
開発組織の開発力、生産性を上げるために避けては通れないエンジニア一人ひとりの技術力アップ。
私がEMとして、ここ数年考え実践してきたエンジニアの教育において必要な要素や考え方について一部実例を交えつつ、整理して話します。また、組織・チームとしてのスキル獲得のための方法論、文化継承についても話します。
メンバーを教育する際に気をつけていること
エンジニア教育する際のマインド
レベルごとの教育スタンス(ティーチング、コーチングの使い分け)
教育にまつわる理論(認知特性やラーニングピラミッドを活用する話)
得意な勉強タイプごとの教育戦略
組織のエンジニア教育にミッションを持ち悩んでる人
エンジニアとして今後の成長方針に悩んでる人
教育に興味がある人
エンジニアに必要な個別技術の習得方法
エンジニアとしてどのような個別技術を学ぶべきか
Laravel8からInertia.jsを利用できるようになり、シンプルな設計でLaravelでSPAアプリケーションの構築ができるようになりました。
Laravel + Inertia.js + React.js + Vite + Typescript でアプリケーションを作った話をします。
【トーク対象】
チーム開発に欠かせないチームビルディング。
何となく雰囲気でやってませんか?
チームビルディングの目的や、よくある失敗例を混じえながら抑えるべきポイントについて説明していきます。
彗星のように現れた人工知能 言語モデル ChatGPT
PHPerにとって脅威か、救世主か!?
Stable Diffusionも衝撃的でしたが絵しか描けないことでプログラマーには少し距離がありました。
ChatGPTは日本語など各国語で会話ができて、何とプログラムも書ける!
PHP、JavaScriptなど有名なプログラミング言語はもちろん、フロント、サーバーサイド、インフラ、ドメイン駆動設計、テスト、CI/CDの設定、コンテナ、オーケストレーションなど何でも書けちゃうぞ!
プログラムだけじゃない。
採用のアドバイス、部下、上司の悩みまでアドバイスをくれる。
上下挟まれ続けるリーダー、マネージャーにとっても良き相談役になれるかも!?
PHPerKaigi 2023の場で、面白い活用方法、仕事で使う上でのリスク、対応方法など、話し合いましょう!
PHPerの皆さんが大好きなLT会、開催していますか?
開催したい気持ちはあるけど実際にやるのは難しい。。という方も多いのではないでしょうか。
私たちは社内LT会を毎月オンラインで開催しています。
4〜5人で運営しており、「2週間前の準備・当日の準備/運営・振り返り」のサイクルで行っています。
このトークでは、毎月開催するための準備・運営でやっていること、実際にやってみて上手くいったこと/いかなかったことを詳しくお話します。
メインの参加者はエンジニアですが、事業部側の人たちも多く参加してくれているので、その様子もお伝えしたいと思います。
オンラインイベントを運営したい方の参考になると嬉しいです。
皆さんが所属してるエンジニア組織の課題はなんでしょうか?
どの組織も何かしらの課題があるのではないかと思います。
弊社ではPHPで開発された複数メディアを運営し、
エンジニアの人数も増加しながら継続的にリリースすることで順調に事業を成長させてきました。
一方で、事業が成長するにつれて「スキル獲得に漠然とした不安がある」や
「他エンジニアと交流・切磋琢磨が生まれにくい」と言った声も聞こえるようになりました。
こういった課題に対して、エンジニアリングマネージャーやテックリードを中心に「技術推進委員会」という名の横断組織を爆誕させ、
メンバーで熱い議論を交わしながら課題解決の施策を考え、実施してきました!現在も実施中です。
このセッションでは、
横断組織の立ち上げから2年間の間で実施してきた多くの施策や施策を実施したことでの組織の変化について話します。
Symfonyドキュメントの日本語訳を進めています。
Symfonyは世界でも有名なフレームワークですが、最新バージョンに追従するドキュメントの日本語訳がないのが現状です。
日本語訳があるLaravelやCakePHPに比べると、初学者にとって難しいかもしれません。
そこで、Symfonyの学習を支援するために、公式ドキュメントの日本語訳を作成しています。
PHPerKaigi 2023にてこのプロジェクトの紹介と協力者の募集を行いたいと考えています。
また、日本語訳に協力していただける仲間も募集していますので宜しくお願いいたします!
PHPer界に光あれ!
Symfonyドキュメント日本語訳で輝く未来を切り拓きましょう!
PHPerの皆さんが大好きなLT会。
このLTでは、毎月オンラインで開催している社内LT会をどのように運営しているかをお話します。
私たちは4〜5人でLT会を運営しています。
運営チームが毎月行っている「2週間前の準備・当日の運営・振り返り」の様子や、その時にどんなことを話しているのかなど、
LT会やイベントの運営をやったことがない方、これから開催してみたい方に参考にしていただけたらと思います。
普段いつものようにphp-srcをソースコードリーディングをしているとき、配信しながらアバター姿でやってたり、
PHPのバグを見つけて報告するときもアバター姿で配信しながらやっています。
その際のノウハウやメリット・デメリットをトークします。
(アーカイブ残してるのでアーカイブ見るとわかりやすいです😁)
登壇する際にもアバター姿で登壇しています。登壇の方法は配信とちょっと違ってくるので、
どうやってやるの?というのもトークします。
PHPerKaigi 2021からアバター姿で登壇して2年になりますが、もっとアバター姿で登壇する人が増えると嬉しいです!
ちなみに、このトークの概要も、配信しながら作りました。
https://youtu.be/1r5CQ3u8GF8
後輩に教育する中でよく引用させていただく資料や名言をできるだけ活用例と合わせてざっと紹介します。
教育する際の観点の振り返りや、言語化しづらいときに辞書的に使ったり、自身の振り返りとしても活用できます。
サービスの立ち上げ、数年間の運用を通し
「試行錯誤を繰り返し、致命傷を負わない戦い方」
を少しずつ学んできました。
その経験を通し
と感じた話をします。
熟練のエンジニアの方にも、初心者の方にも「わかる、ウケる」と感じてもらえる話をして
「いいものを作ろうとしている仲間」
として交流のきっかけができればいいなと思います。
PHPで実際にモノを動かしてみたいと思ったことはありませんか?
ラズペリーパイ(ラズパイ)のGPIOをPHPで制御することで、アクチュエータ(電気シリンダなど)を動作させることができます。
ラズパイとはシングルボードコンピュータで、電子工作や、近年では産業用途・IoTなどでも使用されています。
普段PHPを扱っているとPC上で完結する仕事が多いと思いますが、たまには現実のモノを動化してみると面白いです。
Slackのtimes文化根付いてますか〜?
Slackにて個人チャンネルを作りtwitterのようにつぶやく分報チャンネルことtimesですが、油断すると業務の話ばっかりになったり、投稿ハードルがあり投稿されなかったり、、うまく運用していくのがなかなか難しいものです。
そこで私がtimesでやっている様々な工夫を一挙に公開したいと思います。