先輩や上司になにかを相談したり1on1したときにみんなよく言う「メタ認知を鍛えよう」とか「メタ認知力を上げよう」という言葉が何を指しているのでしょうか?
視座とか自分を客観視したときの状態とか難しい言葉が多く、何を意識すればよいのか分かりづらいですよね。
また、成長のために必要だと言われてもいまいち何をすればよいのかイメージも付きません。
このLTでは、「メタ認知」の図解や具体例を交えながらわかりやすく解説しつつ、「メタ認知」を身につけるために有効な方法をご紹介します。
最近のプロダクト開発においてSPAやマイクロサービスといったアーキテクチャを採用しているケースが多く、バックエンドのWeb APIの開発を避けて通れないと思います。
登壇者も近年数多くのAPIの開発を行ってきました。その中でスキーマ駆動開発も取り入れた開発プロセスを取り入れるなど、APIのスキーマ定義・管理方法ついて試行錯誤を重ねてきました。
その中でAPIのスキーマのバージョン管理がコラボレーションを行う上で大変重要であると気づきました。
如何にAPI開発側及び利用者双方の運用負荷を増やさない開発プロセスを考えることが大事です。
等など、CI/CDまで踏み込んだ実践してきた内容をご紹介いたします。
弊社ではCakePHP1.3を使用しています。
CakePHP1.3では、DBから取得したデータは配列となって返されます。
その取得した配列をそのままviewファイルに渡して、それを使ってHTMLを生成します。
それだけならまだいいんです。
今となっては度重なる機能追加によって、その配列に様々なデータが追加されています。
その配列内にはテーブルのカラムとしては存在しないデータも含まれており、非常にカオスな配列と化しています。
その状態を改善すべく、なるべくオブジェクトを使用して、既存のコードに立ち向かっていっているという話をします。
あなたはいくつのプログラミング言語を使えますか?
プログラミング言語にはさまざまな異なった特徴があり、「達人プログラマー」という書籍では、年にひとつの言語を学ぶことを薦めています。
Lispというプログラミング言語は1959年括弧まみれと揶揄されますが、PHPとは異なる多くの言語的特徴、多くの機能を持っています。
このトークでは、PhelというPHP向けに実装されたLisp方言をテーマに、Lisp言語の初歩とPHPとの関わりについて学んでいきましょう。
株式会社ウィルゲートで、24新卒エンジニア向けに「エンジニア基礎」という研修を実施しました。
今回、社内で新卒エンジニアやベテランエンジニアからも大好評だった研修を、PHPカンファレンス福岡で特別に再構成して皆さんにお届けします!
バックエンドやフロントエンドの知識といったテクニカルスキルの習得よりも、エンジニアとして重要なのは、 成長していくために必要なスタンスやマインドについて知ること です。
このトークでは、2時間の研修から特に重要なポイントに絞ってお話します!
My talk in the conference is about why we need to code ? Why we need Generative AI ? Why coders always rely on ChatGpt and other open AI. Why programming language are difficult to understand ? Will AI replace the coders ? These are the sub domains , I want to talk in the conference .
私は現在VPoEとして、開発メンバー18人の1on1を毎週行っており、マネージャー時代も含めて3年以上メンバーとの1on1を続けてきました。
その中で、急成長する人は、1on1の使い方、上司の活用方法が圧倒的にうまいことに気づきました。
本セッションでは、VPoEの視点から様々なタイプの1on1を通して得た、急成長する人の1on1の特徴をまとめ、それを実践するための方法について話します。
昨今、サーバーサイドのお仕事といえばクライアントからのリクエストに応えてjsonを返す簡単なお仕事になっているかもしれません。
ですが、まれに外部APIや内部のサブシステムをHTTP, RESTで呼び出して返却された値を扱う場面もあると思います。
そんなとき便利なのが、そうGuzzleです。
このGuzzle、一言であらわすと便利なHTTPクライアントなのですが、中でも強力なのが非同期リクエストならびに並行処理(Concurrency)を扱えることです。
(我々人類はひとつひとつリクエストを投げてそれを待つ時間など無いのです)
今回のトークでは、
をお話したいと思います。
一緒にこのGuzzleと仲良くなりましょう!
エンジニアがサービスを理解するタイミングは、果たして機能開発やバグ修正に限られるのでしょうか?
私はそれに加えて、機能を整理する際にも深い理解が必要だと考えています。
実際、既存のリソースを統合または削除する行為は、機能追加やバグ修正と比較してもより高いリスクを伴います。
なぜなら誤って必要な機能を削除してしまった場合、予期せぬ障害につながる可能性があるからです。
そのため、これらの作業を安全に進めるには、インフラやドメインを含む広範な知識が必要不可欠です。
本トークでは創業当初から運用されているサービスの統合や整理を通じて、サービスそのものへの理解を深めた経験を共有します。
PHPStan、知っていますか?
PHPStan(PHP Static Analysis Tool)は、コードを実行せずに検査できる静的解析ツールです。
あなたの書いたコードの良くないところを探して、こういうふうに直すといいよって教えてくれます。
「なんかCIめっちゃ落としてくるめんどくさいやつだ」
今までPHPStanは導入されていたし、一旦従って何気なく使ってきました。
でもコイツ、思っているよりもめ〜っちゃすごかった。
PHPのバージョンアップに取り組み始めてから、PHPStanがあるってこんなに嬉しいんだ……!!と感動しました。
このLTを聞いた皆さんは、「PHPStanがあるとなんで嬉しいの?」から「PHPStanってマジですごい!!」になるでしょう!
わたしはかれこれ20年ほどエンジニアとして生活を営んでいます。その過程で様々なアクシデントや環境の変化に見舞われまれたことからの気付きとして、職業人として「力」を得るのは長期的な研鑽が欠かせず、つまり日々のトレーニングいかんによって成長度合いが左右されるということです。
10年代は闇雲に行っていて、それはそれで間違いではないものの、20年代に入ってからは先達から得た教えからトレーニングを3つの指標をモニタリングすることで確実な効果を得ています。
このセッションでは、具体的にどのような指標を使っているのかと、実際につけている記録からエンジニアリングとしてのプロセスの実践例を示します。
この皆さんが長く成長し続けるためのヒントになると信じています。
私はベトナムにグループ会社があるグローバル企業に所属しています。
今年2月頃に、日本開発部のエンジニア達でベトナムへ行き、ベトナムのエンジニア達とハッカソンを開催しました。
日本とは文化も言語も違うエンジニア達と、どうコミュニケーションをとりながらハッカソンに挑んだのか、
実際のベトナムでハッカソンをした貴重な体験談から学んだ異文化コミュニケーションの壁の乗り越え方をお話します。
「レガシーなコードは嫌」「リファクタリングして認知負荷の低いコードにしたい」と思っていませんか?
でもいざリファクタリングして、使ってないと思って消したコードが実は使われてて危うく障害になりかけたり、
テストコードを書こうにも、テストコードが書きづらいためにリファクタリングし辛いことも多々あるはずです。
このセッションでは、そういったレガシーなコードに対し、どのようにリファクタリングをしていくとよいか、具体的なテクニックについて話します。
日々レガシー開発の現場で闘っているみなさん!おつかれさまです!
自分も20年以上の歴史があるプロダクトの開発に関わっていたり、過去にはフレームワークのリプレイスに携わったりと、さまざまな問題に悩まされる毎日です。
そんなある日のカンファレンスで、同じようなレガシープロダクトに関する発表を聞いて思いました。
「ああ〜わかる〜あるある〜」
(ん?もしかして自分が思ってるあの悩みやこんなつまずきも、もしかしてあるあるなのでは?)
レガシー開発あるある、言いたい!!
というわけでこのLTではレガシー開発あるあるを紹介します。
あるある or ねーよ! など、皆さんの共感や感想交えて盛り上がれたら嬉しいです!
私はこれまでにPHPを全く書いたことがありませんでした。そんな私がPHPerKaigi 2024に参加しようと考え、せっかくだからLaravelで簡単なWebアプリを書いてみようと考えました。
RubyとRailsのエコシステムにどっぷりな開発者が、PHPそしてLaravelに入門して感じたことを話します。
そしてここからがこの発表の本題ですが、プログラミング言語またはフレームワークのコミュニティに新規参加者を増やすにはどうすればいいでしょうか。PHPerKaigiの懇親会で出会った、Rubyを学び始めたばかりの方からの意見など様々な方と話して考えたことを話します。
このトークでは、「このようなことができるかもしれない」というアイデアを投げかけることが限界でしょう。このトークを聞いた皆さんからも意見をもらえると嬉しいですし、あとでゆっくり考えてもらっても嬉しいです。
皆さんは「Azalea(アゼリア)」というPHPフレームワークをご存知でしょうか?
…すみません、多分知っている方はほぼいないと思います。
なぜならこれはサイボウズのGaroonというプロダクトで使用されている独自フレームワークだからです。
GaroonはPHP4の時代から提供されてきた、20年以上の歴史を持つプロダクトです。
昔はフレームワークの選択肢もなく、Garoonでは独自のフレームワークを構築して開発がされてきました、それがAzaleaです。
Garoonは今でも同じフレームワークで動いています。これはやばいです、色んな意味で。
このトークでは、なぜ今でもこのフレームワークが使われ、動いているのかについてお話しします。
■ 話すこと
2、3ヶ月程度かかる大きめの機能開発も任されるようになったとき、「設計をどのようにすればいいか分からない」「大きい変更のタスク分割が難しい」と悩むことがあると思います。
全体の機能を一度にまるっと作ってからリリースしようとすると、プルリクエストが肥大化しレビューが複雑になり、見落とされた不具合や障害が発生しやすくなってしまいます。
このトークは、その悩みを解決する具体的なテクニックを、設計やタスク分割に慣れていない方に向けて順を追って説明します!
-- 〇〇さん、次このプロジェクトに参画して開発してください
私は初めてプロジェクトに参画することになった。
-- 〇〇さん、進捗はどうですか?
進捗を聞かれてもいつでも答えられる。
-- 〇〇さん、作業終わったみたいだから次この機能開発してくれる?
開発タスクも順調にこなしてるし、よくわからないけどプロジェクトのマイルストンも順調に進捗してるらしい。
「あれ?でも、この機能って前にやった機能といっしょに開発したほうが早かったな。それにあのカンファレンスで聞いた〇〇って技術でもっといい感じにできたかもな。」
「でもテックリードでもPMでもないし、機会が回ってきたときでいっか。」
本当にそれでよかったのでしょうか?
このセッションでは、メンバー目線での情報がプロジェクトにとっていかに重要か、メンバーでもプロジェクトにもっと貢献するテクニックを話します。
みなさん、PHPカンファレンス登壇してますかー?
私はまだ登壇したことがありません!
これまで私はPHPカンファレンスに参加し、登壇者の皆さんのプレゼンテーションを楽しみながらも、自分自身が登壇することには一歩踏み出せませんでした。。
しかし、あるきっかけが私の心を動かし、登壇に向けたハードルを一つずつ乗り越えてきました。その過程で得た経験や気づき、そして成長の過程を皆さんにご紹介します!
登壇に興味があるけれども踏み出せない方、自分の学びを話してみたいけれど不安を感じている方、ぜひこのLTでお待ちしております!
私は今、受託開発の会社に勤めていますが、受託開発だと複数案件に関わることはあるあるだと思います。
ただ、参画したタイミングや状況により様々なポジションや開発言語で案件をかけもつことがあります。
時にはマネージャーとして管理を行い、時にはメンバーとして開発を行う。イレギュラーな事態は毎日発生し、考えていた進捗まで中々届かない。。
このLTはそんな中で自身を管理しつつ各案件をなるべく燃やさずに進めている方法をお話します。