職場や自身の担当が変わった時など、今まで触ったことのないプロダクトをキャッチアップする機会はままあるかと思います。
そういった時、少なくともコードベースでのプロダクトを理解することは、その後の仕事効率に効果が出やすいものです。
ではプロダクトを理解するためには、何から見ていくのが良いか、それをどうやって自分の知識に落とし込んでいく方法があるのか、ということを簡単にお伝えしてみたいと思います。
トークの目的
①PdM・Biz職の方:実力のあるエンジニアとの仕事で自分なりの価値をどう発揮するのかについて、ヒントになることがお伝えできればと思います!
②エンジニアの方:日々のPdMとのやり取りに活かせるような、PdMの視点・悩みをお伝えできればと思います!
トークの概要
・私は2022年4月に新卒入社し、新卒1年目、かつPdM・エンジニア等の経験なしでPdMのポジションで仕事をしていました。(CS出身)
・私が所属する株式会社リンケージでは、プロダクト価値の最大化を考えられる、課題解決能力が高い、「強い」エンジニアが集まっています。
・私はエンジニアの方々と仕事をする中で、「自分がいる意味ある?」と非常に悩んでおりました…(今も悩んでますが)
・本トークでは、「機能を考えない、Whyを考える」など、私なりに見出したPdMとしての価値、及びそこに至るプロセス・悩みをお話します!
勉強会とかカンファレンスに何回か参加しているとそのうち湧き上がってくる感情があると思います。
それは、自分も登壇する側に立ってみたい!
でも、
発表には憧れてるけど、発表することがない。
自分なんかが発表したって誰にも刺さらないでしょ?
発表したいけど発表ネタが浮かばないから、手を挙げられない。
その一方で、いつも登壇してる人がいるし、なんなら勉強会が決まった後にネタなんて考えればいいでしょ?って人もいるんです。
同じようにネタがないのに発表できる人と発表を尻込みしてしまう人、この違いはなんなんでしょうね?
そこで、ネタがなくて発表を尻込みしちゃっていた自分が、発表ネタを見つけるために心がけたことを話します。
同じように発表したいけど話すネタがなくて困ってる方の背中を押せたら嬉しいなと思います。
AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします
今回はAWS LambdaとLaravelを利用して作成した個人開発のMVPの動的サイトを紹介します
サーバーレスPHP、話には聞くけど動いてるとこ見たことないなぁという方必見!
技術要素を超高速スライドめくりで、構築する手順を示します(※解説するわけではありません)
元々個人的に作成したかったものをこのタイミングで作成して配置しておき、
皆様にも動かしてもらいながら、サーバーレスPHPを体験して頂ければ幸いです。
話者はPHP Conference Japan 2022にてHTTP3について調べた結果「スゲー!」ってなりました。
この体験を皆さまにスピーディーに体験していただくために、
HTTP3のいいところを仕組みにちょっと触れながらライトニングに話します。
細かいことは良いんです、HTTP3スゲー!ってなって欲しいんです。
その結果、HTTP3やってみるか〜!というモチベーションに繋がる事を望んでいます。
HTTPとPHPは切っても切れ離せない関係があります、その世界に酔いしれましょう!
私はWebフロントエンドエンジニアですが、PHPカンファレンスに参加するうちに、PHPという言語の持つ魅力と、PHPコミュニティの魅力に深く引き寄せられました。
そこで、自身のWebフロントエンジニアとしての視点から、PHPの新たな展開を探ることができないかと考えました。私が注目したのは、Webブラウザのようなモダンな実行環境上で、ネイティブコードに近い速度と安全なコード実行を可能にするWeb Assemblyと、Rustで書かれたモダンなJavaScriptランタイムエンジンであるDenoを用いて、PHPを動かしてみるという取り組みです。
本プロポーザルでは、シンプルなアクセスカウンターの作成を通じて、これらの技術要素の組み合わせの持つ可能性を探求します。具体的な成果物の作成を通じ、Web AssemblyとDenoから実行されるPHPの可能性を掘り下げ、その結果についてお話します。
「ここN+1起きませんか?」「テストコード追加して下さい」「使っていない use 消して下さい」等々、
最近のコードレビューで指摘されたことをシェアします。みんなで悪い例を見て良いコードを書きましょう!
レビュアーの負担が減るよう個人的に作って確認している「レビュー依頼前チェックリスト」も見て下さい。
コミュニケーションにおける「パス」について、「コミュニケーションパス」がまず頭に浮かぶと思います。
いわゆる、1対1のコミュニケーションがどれだけ発生するか?というコミュニケーションパスとともに、チーム間を跨ぐ場合に誰を経由してコミュニケーションするか?という経路としてのパスもあります。
個人的に、直接のコミュニケーションにおけるやりとりも「パス」(pass)することだと考えていて、相手にいいパスを出せるか?というのもチームコミュニケーションにとって大切な要素ではないでしょうか。
本トークでは、1対1のコミュニケーションにおける対話(パス交換)に着目して、私が大切にしていることを共有したいと考えています。
アプリケーションのパフォーマンス改善を行う場合、適当に手を動かしてもうまくいかないことが多いと思います。
少しでもよいカイゼンを行うためには「事実」を把握するために「計測」するというアクションが大事です。
ツールを使ってコードのメトリクスの取得するのも1例です。
コードのサイズ、重複コードの有無、コーディング規約の遵守状況、循環的複雑度、エラーの有無などコードに対する「事実」を把握することができます。
把握できた色々な「事実」を元に、どこがアプリケーションの改善点なのか…?何がアプリケーションにとって最適なのか…??プロダクトにもっとも寄与するためには…???を考え「判断」し、「行動」に繋げていきたい。
このトークではどのように考えてカイゼンのための行動をとっているのか?をお伝えしたいと思っています。
学習のためにOSSに触れるとよいと聞きますが、具体的にどんなことが学べるのでしょうか?
腕の立つエンジニアが作ったOSSからはいかにもテクニックが学べそうな気がしますが、具体例がないと腹落ちしきらない気もします。
このトークでは具体例をお伝えしたいと思います。
私は静的解析ツール(PHP Parser, PHPStan, Psalm, Rectorなど)を読んだり書いたりすることが多いのですが、その中で見てきた設計の事例を通じて、OSSから学べる何かの一例をお伝えします。
一方、学ぶ上で留意すべきことがあるとも考えています。
このトークではOSSから学ぶということの解像度をあげることを目指します。スキルアップへの引き出しが一つ増えれば幸いです。
様々な職種の学生インターンが常時100人程度働く組織において、
エンジニアインターンが急増した中で、新卒3年目のエンジニアが学生インターンと向き合い、どのように格闘したかをお話します。
★今回お話する内容
・ そもそもなぜ学生インターンと働くのか
・ チャレンジしたこと
・ うまくいったこと / いかなかったこと
・ 今後の野望
誰もが最初は未経験のエンジニアです。
学生時代からエンジニアとしてのキャリアの1歩目を踏み出すインターン生の成長の裏側を見てみませんか?
【注意】 このプロポーザルが採択されることでタイトルのお話ができます!
これまで技術系のイベントでは、
登壇に憧れながらも、参加者としてずっとみなさんの登壇を見に来るだけでした。
しかし、とあるきっかけから登壇するハードルが1つずつ下がっていきました。
その過程をみなさんにご紹介します!
「Nginxってどんなものなんだろう?」「Webサーバーってどうやって動くんだろう?」―こんな疑問を持つあなたに捧げる、Nginx入門者向けのLTセッションです。
このLTでは、Nginxの基本的な概念から始め、基本的な設定の読み方について紹介します。
対象者
話すこと
コードやチームの健全性や品質向上について、「データを取って可視化する」のは便利です。
それを見て安心したり、進化を喜んだり、
「問題が起きているかも知れない、考えてみよーぜ」と気付くキッカケになったりします。
そのために、見るべき(見てほしい)人が簡単にアクセス出来ることが重要です。
「データ取得ロジックを自由に扱える」
「定期的に更新する」
「アクセス制限をする」
「簡単に開ける」
要件を考えていくと、地味に面等だったりしませんか?
そんな時、GitHub Actions + GitHub Pages + SQLiteが便利です!!
定期実行はもちろん、
任意の言語でのロジックの実装も、
GitHub Pagesなら組織限定公開も、
SQLiteをコミットすればデータ管理も容易です。
実現方法(とっても簡単!)の紹介に、
どんなものを収集していくと便利そうかな?を加えてLTします!
きょうびPHPの開発ではほぼ必須と言っていいPHPライブラリの依存を管理してくれるComposer。
とは言え普段の開発ではそこまで触らない方も多いのでは無いでしょうか?
そんな方の為にComposerの設定ファイルであるcomposer.jsonのpropertiesを公式ドキュメントを元に一挙に紹介していきます。
LaravelのEloquentモデルイベントって何?という人も多いかもしれません。
このモデルイベントは、モデル内でcreate、save、delete,、updateなどの操作をした際のイベントを指しています。そして、これらのイベントを実行する際、合わせて何らかの処理を行わせたい場合に使用します。
例えば、モデルのデータを新規作成する際にはdateカラムに現在の日付を初期値として入れたい時などに使用します。
他にも実際にどのようなケースでモデルイベントを使用するケースがあるのか、モデルイベントの注意点などを話していきます。
はポモドーロ・テクニックをこよなく愛する者です。会社ではポモニキと呼ばれており、日々ポモドーロ・テクニックを使っています。
しかし、このテクニックには抑えておきたい大事なポイントがいくつかあります。そうしないと集中もできず、作業も進まず、無駄に終わってしまいます。
本トークでは、ポモドーロ・テクニックの要点とやり方、さらにはおすすめのタイマー紹介など、ポモドーロ・テクニックを始めるための知見を紹介します。
Xdebug は開発時に最も頼りになる相棒です。
一般的には、ウェブアプリケーションのステップ実行が有名ですが、コンソールコマンドや、PHPUnit のテストでもステップ実行させることが可能です。
しかし、慣れていない人には、Xdebug の設定はむずかしいです。あれもこれも色々試すけど、上手く行かないことも多いです。
本LTでは、ポイントを一つに絞り、PhpStorm と Xdebug の連携方式にのみフォーカスします。
仕組みさえ押さえれば、どう設定すればよいかは自ずと思い浮かんで来ます!
Xdebug の設定はこわくない!上手に Xdebug を設定して、スムーズなウェブアプリケーション開発を楽しみましょう!
熟練のエンジニアたちがプロジェクト参加時に何を考えているのか、知りたくありませんか?
もしかして、設計のことを考えている?利益?事業ドメインの理解?
いやいや違うんです、兎にも角にも真っ先に確認しておかないといけないことがたくさんあるんです。
このトークでは、シニアエンジニアがプロジェクトを成功させるために何を考えているのかをぶっちゃけてみます。
いくつかPHPのコード例を紹介しますので、その中でPHP構文エラーがある箇所を当ててもらいます!
下記のような観点でクイズを出す想定です。