はじめに
私はソフトウェアエンジニアだ。私はソフトウェアエンジニアだ。私の本質的な仕事は、複雑な問題を解決し、効率的で革新的なソフトウェアを開発することだ。長年、私の世界はコードとアーキテクチャとアルゴリズムで構成されてきた。そして、それは今も変わらないはずだった。しかし、予期せぬ出来事が起こり、私の認識は大きく揺さぶられることになった。
パターン認識
エンジニアとして働く中で、私は一つの重要なスキルを磨いてきた。それは、パターンを認識し、分析する能力だ。この能力は、複雑なシステムを理解し、効率的なアーキテクチャやアルゴリズムを設計し、バグを特定する上で不可欠だ。
私たちエンジニアは、コードの中にパターンを見出し、それを活用することで問題を解決する。重複するコードを関数化したり、似たような処理をクラスとして抽象化したり。パターンを見抜く目は、より良いソフトウェアを作る上で欠かせない。
予期せぬバズり
ある日、Xでバズった私は、思わぬ発見をした。自分のツイートの中に、あるパターンがあることに気づいたのだ。エンジニアとしての直感が、コード以外の場所でも働いたのだろう。
興味をそそられた私は、仲間内でそれを構文として名付けてリファクタリングをしていくつか出した。
- ツイート1 - エンジニアの役割の変化について
- ツイート2 - エンジニアの扱う対象の変化に関する書籍紹介
- ツイート3 - エンジニアが扱うべきものについての考察
- ツイート4 - エンジニアの健康に関する問題提起
- ツイート5 - エンジニアの仕事の本質に関する洞察
追記
これらに関しては自戒もしつつもうちょっと構文として分析したり解析したいのでこれからも投稿したいと思います。
詳細なパターン分析
現状における構文の分析です。他にもバズらなかったりしないといけないのでやっていきます。
構造的パターン
- 開始句: 全てのツイートが「エンジニアの〇〇は××です」または類似の構造で始まる
- 展開: 主張に続いて、説明や理由付けが行われる
- 結論: 書籍の紹介で締めくくられる
内容的パターン
- テーマ: エンジニアの役割や課題の変化・拡大に焦点
- 視点の転換: 従来のエンジニア像からの脱却を促す
- 普遍性: エンジニア特有の問題から、より広い文脈への展開
レトリック的パターン
- 対比: 「コード vs 人」「技術 vs 課題」など、対立する概念の提示
- 意外性: 予想外の主張(例:健康が最大の課題)による注目の獲得
- 具体例: 抽象的な概念を身近な例(健康問題)で説明
情報提供パターン
- 問題提起: エンジニアが直面する新たな課題の提示
- 解決策の示唆: 書籍紹介を通じた学習リソースの提供
- 個人的経験: 「私は〜が面白かった」という主観的評価の挿入
エンゲージメント戦略
- 共感の喚起: 多くのエンジニアが感じている変化や課題に言及
- 知的好奇心の刺激: 新しい視点や意外な事実の提示
- 行動の促進: 具体的な書籍推薦による次のアクションの提案
パターンの効果分析
注目度の向上
- 意外性のある主張が読者の興味を引く
- 簡潔な文章構造が情報の素早い把握を可能にする
共感の形成
- エンジニアの変化する役割に対する共通の悩みや課題に触れることで、読者との共感を生む
- 個人的な推薦により、親近感や信頼性を高める
価値の提供
- 問題提起だけでなく、具体的な学習リソース(書籍)を紹介することで、即座に行動可能な情報を提供
- 複雑な概念を簡潔に説明することで、読者の理解を促進
議論の喚起
- 従来の概念に挑戦する内容が、読者間の議論や意見交換を促す可能性がある
ブランディング効果
- 一貫したメッセージングにより、投稿者の専門性や思考の一貫性を示す
- 技術以外の側面にも言及することで、多面的な知見を持つエンジニアとしての印象を形成
これらを作るためのプロンプト
全読者にバズって欲しいのでこれらの分析で得た知見のプロンプトを作りました。分かったことを言いたい時にもおすすめです。ちなみに今回のツイート内容はLLMと相談しながら作ったりしました。このプロンプトは、分析されたパターンを再現し、同様の効果を持つツイートを作成するのに役立ちます。ぜひ、使ってください。
# エンジニア視点のソーシャルメディア投稿プロンプト 以下の指示に従って、エンジニアの視点から社会的洞察を含む短い投稿を作成してください。 1. 構造: - "エンジニアの[キーワード]は[主張]です。" という形式で開始してください。 - その後、主張の説明や理由付けを簡潔に述べてください。 - 最後に、関連する書籍(2-4冊)を推薦して締めくくってください。 2. テーマ: - エンジニアの役割や課題の変化・拡大に焦点を当ててください。 - 従来のエンジニア像からの脱却を促す内容を含めてください。 - 可能であれば、エンジニア特有の問題からより広い文脈への展開を試みてください。 3. レトリック: - 対比(例:「コード vs 人」「技術 vs 課題」)を用いて注目を集めてください。 - 意外性のある主張を含めて読者の興味を引いてください。 - 抽象的な概念を身近な例で説明してください。 4. 情報提供: - エンジニアが直面する新たな課題を提示してください。 - 書籍紹介を通じて学習リソースを提供してください。 - "私は〜が面白かったです。"のような個人的な評価を含めてください。 5. エンゲージメント: - 多くのエンジニアが感じている変化や課題に言及し、共感を喚起してください。 - 新しい視点や意外な事実を提示して、知的好奇心を刺激してください。 - 具体的な書籍推薦により、読者の次のアクションを促してください。 6. 長さ: - 全体で280文字以内に収めてください。 例: "エンジニアの本質は「課題の言語化」です。技術や組織の制約を明確に表現することで、真の問題が浮かび上がります。この過程は困難ですが、システム設計の基盤となります。この観点から、私が興味深いと感じた四冊の本をご紹介します。"
さいごに
再三だが私はソフトウェアエンジニアだ。今、痛烈に実感している。コードを書き、システムを設計すること以外で目立つなと。それ以外では建設的で有益な技術的な話題に限られる。
私の本質的な仕事は、複雑な問題を解決し、効率的で革新的なソフトウェアを開発することだ。長年、私の世界はコードとアーキテクチャとアルゴリズムで構成されてきた。そして、それは今も変わらないはずだ。
しかし、SNSでバズるという予期せぬ経験は、私に新たな視点をもたらした。技術の世界に閉じこもるのではなく、社会と対話することの重要性を教えてくれた。だが同時に、自分の書いたコードよりも自分自身が注目を集めることの危うさも感じている。
ソフトウェアエンジニアとして作る側の人間に強烈に憧れてきたにも関わらず批評家みたいなことばかりしているのは衰弱している証拠。このままでは本当に作る人間として死ぬ。本質を忘れず、コードを書いて自戒したまま死にたい。