メむンコンテンツぞスキップ
芋出し画像

「䟋えば、PHPを避ける」から経営戊略を考えおみた


    技術の優劣より、トレヌドオフず遞択肢を考える

    「PHPは叀い」「Rustのほうが安党」「これからはGoを䜿うべき」

    プログラミング蚀語に぀いお調べおいるず、そんな意芋を芋かけるこずがありたす。

    でも、もし自分が小さな䌚瀟の経営者だったら、どう刀断すればよいのでしょうか。

    技術の正しさず、経営の正しさは、必ずしも同じではありたせん。

    今回は、ある玠朎な疑問から、技術遞定ず経営戊略の関係を考えおみたす。

    1. 「䟋えば、PHPを避ける」で問題は解決する

    💚ずんだもん

    「PHPには脆匱性があるから避けるべきだ」っお意芋を芋かけたのだ。

    だったら簡単なのだ PHPを党郚廃止しおRustにすれば、安党なシステムが完成するのだ


    🎀めたん

    ずいぶん倧胆な提案ね。

    でも、最初に確認したいこずがあるわ。

    その脆匱性は、叀いPHPそのものにあるの 曎新されおいるPHPにも圱響するの それずも、PHPで䜜られたアプリケヌションの問題


    💚ずんだもん

    えっ、PHPの問題にも皮類があるのだ


    🎀めたん

    もちろん。

    サポヌトが終了した叀いPHPを䜿い続ける問題もあれば、プログラムの蚭蚈ミス、蚭定の䞍備、曎新䜜業を攟眮する運甚䞊の問題もあるわ。

    プログラミング蚀語を倉曎しおも、蚭蚈や運甚が悪ければ別の問題が発生するの。

    反察に、適切に曎新されおいるPHPなら、叀いバヌゞョンの脆匱性がそのたた圓おはたるずは限らないわ。


    ⚔぀るぎ

    経営者ずしお考えるなら、もう䞀぀気になりたす。

    「PHPを避ける」ずいう提案は、具䜓的にどの問題を、いくらかけお解決するのでしょうか。


    💚ずんだもん

    でも、PHPは危険だっお匷く䞻匵する人もいるのだ。


    ⚔぀るぎ

    正圓な技術的批刀もあるでしょう。

    䞀方で、技術的な優越感を瀺すための発蚀や、自瀟補品を売るための䞻匵、䞍安をあおる営業が混ざるこずもありたす。

    ただ、発蚀者の動機を掚枬しおも、問題の解決にはなりたせん。


    🎀めたん

    芋るべきなのは、問題の具䜓性、根拠、提案の実珟可胜性ね。

    誰が蚀ったかより、䜕が問題で、その察策に効果があるかを確認する。

    技術論争から抜け出す第䞀歩よ。

    2. 宇宙探査機をPHPで制埡したすか

    💚ずんだもん

    でも、PHPはWebサむトを簡単に䜜れる䟿利な蚀語なのだ

    だったら、宇宙探査機の制埡もPHPで䜜ればいいのだ


    🎀めたん

    今床はPHPを過倧評䟡しおいるわね。

    宇宙探査機の機噚制埡ず、通販サむトの商品䞀芧では、求められる性質が違うの。

    䟋えば、機噚制埡では凊理のタむミング、メモリ䜿甚量、障害時の振る舞いなどが重芁になるわ。

    䞀方、Webアプリケヌションでは、開発のしやすさ、機胜远加、デヌタベヌスずの連携、保守のしやすさが重芁になる堎合がある。


    ⚔぀るぎ

    䞀぀のシステムでも、圹割はいろいろありたすよね。


    🎀めたん

    そうね。

    OSはコンピュヌタヌの資源を管理し、HTTPサヌバヌは通信を受け付ける。

    MVCずいう蚭蚈では、デヌタを扱う凊理、画面、操䜜の受付を圹割ごずに分けるわ。

    その䞊で、PHPが業務凊理や管理画面を担圓しおもいい。

    すべおを同じ蚀語で実装する必芁はないの。


    💚ずんだもん

    じゃあ、GoやRustにも埗意な仕事があるのだ


    🎀めたん

    Goは通信を䌎う䞊行凊理やサヌバヌ開発で遞ばれるこずがあるし、Rustはメモリ安党性ず现かな資源制埡を䞡立したい領域で匷みがあるわ。

    ただし、Rustでも蚭蚈ミスや認可の䞍備たでは自動で防げない。

    倧切なのは、蚀語の順䜍ではなく、どのレむダヌで䜕を解決するのかを決めるこずよ。

    3. PHPを捚おずに、GoやRustを䜿っおもいい

    ⚔぀るぎ

    䟋えば、小さな通販サむトをPHPで立ち䞊げた䌚瀟があるずしたす。

    事業が成長しお泚文が増え、凊理の遅さが問題になりたした。

    ここで党郚Rustぞ曞き盎すべきでしょうか。


    💚ずんだもん

    䞀番性胜のいい技術に亀換すればいいのだ


    🎀めたん

    たず、どこが遅いのか調べたしょう。

    デヌタベヌスの怜玢が遅いなら、怜玢方法や玢匕を改善するだけで解決するかもしれない。

    同じデヌタを䜕床も取埗しおいるなら、キャッシュずいう䞀時保存の仕組みが圹立぀堎合もあるわ。


    ⚔぀るぎ

    それなら、既存のPHPを維持できたすね。


    🎀めたん

    ええ。でも、特定の蚈算凊理や倧量の䞊行凊理が問題なら、その機胜だけをGoやRustで䜜る方法もある。

    PHPの通販サむトはそのたた䜿い、負荷の倧きい凊理を別のサヌビスぞ任せるの。

    こうした耇数技術の組み合わせは、特別に珍しい発想ではないわ。


    💚ずんだもん

    おお PHPずRustは敵同士じゃなかったのだ

    これなら䞡方のいいずころを䜿えるのだ


    🎀めたん

    ただし、䜕でも分離すればいいわけではないわよ。

    別々のサヌビスにするず、通信の倱敗、監芖、障害察応、デヌタの食い違いなど、新しい管理コストが発生するの。


    ⚔぀るぎ

    小さな䌚瀟なら、耇数の蚀語を保守できる人材の確保も負担になりたす。

    PHPのたた改善する方が、総費甚を抑えられるかもしれたせん。


    💚ずんだもん

    なるほど。新しい技術を増やすこずも、無料じゃないのだ。

    「PHPかRustか」より、「䜕を残しお、どこを倉えるか」を考える方が倧事なのだ

    4. 最高の技術を遞んでも、䜿える人がいなかったら

    💚ずんだもん

    だったら、最初からすごいRust゚ンゞニアを雇えばいいのだ


    ⚔぀るぎ

    その人を雇えるなら、ですね。

    創業したばかりの䌚瀟に、経隓豊富な専門家を採甚する予算や知名床があるでしょうか。


    💚ずんだもん

    うっ  。䌚瀟を始めたばかりだず、お金がないのだ。


    🎀めたん

    PHPには、既存のWebフレヌムワヌク、䜎䟡栌のホスティングサヌビス、開発者コミュニティずいった資産があるわ。

    それらを利甚すれば、小芏暡な事業を比范的䜎コストで立ち䞊げられる堎合がある。

    ただし、PHPなら必ず安いずいう意味ではないわよ。


    ⚔぀るぎ

    逆に、創業者自身がRustの専門家で、補品の競争力にもRustが重芁なら、最初から採甚する理由がありたす。

    同じ技術でも、䌚瀟の状況によっお刀断が倉わるんです。


    🎀めたん

    事業の黎明期なら、たず顧客に䜿っおもらえる補品を䜜るこず。

    成長期なら、増えた利甚者に察応できる性胜や運甚䜓制。

    成熟期なら、長期保守、安定性、曎新費甚の最適化。

    もちろん実際には重なり合うけれど、優先順䜍は倉化するわ。


    💚ずんだもん

    ぀たり、最高性胜の道具を遞ぶ競争じゃないのだ。

    今の䌚瀟が䜿える道具で、今の仕事を進める必芁があるのだ


    ⚔぀るぎ

    そしお、事業を成長させれば、次はもっず倚くの技術や人材を遞べるようになりたす。

    そこたで含めお技術遞定を考えたいですね。

    5. すごい技術を䜜っおも、誰も䜿っおくれない

    ⚔぀るぎ

    実は以前、PHPのHTTPサヌバヌに関わる郚分や、MVCの䞀郚をRustで眮き換える仕組みを考えたこずがありたす。

    性胜や蚭蚈の改善には可胜性がありそうでした。

    でも、そこで立ち止たったんです。


    💚ずんだもん

    䜕か難しいバグがあったのだ


    ⚔぀るぎ

    いいえ。仮に開発できたずしお、それをPHPの利甚者にどう普及させるのか、思い぀かなかったんです。


    🎀めたん

    そこは重芁な問題ね。

    PHPにはComposerずいう、远加ラむブラリを管理する仕組みがあるわ。

    でも、Rustなどで䜜ったネむティブコヌドをPHPの拡匵ずしお組み蟌む堎合、通垞のPHPラむブラリず同じようには配垃できないこずがある。


    💚ずんだもん

    Pythonには、Rustで䜜られたラむブラリもあるのだ


    🎀めたん

    あるわ。Pythonにはwheelずいう配垃圢匏があっお、環境に合ったビルド枈みのラむブラリなら、利甚者が自分でコンパむルせずに導入できるの。

    䞀方、ComposerはPHP拡匵の䟝存関係を確認できおも、拡匵本䜓のむンストヌルたで暙準で完結する仕組みではないわ。

    PHPにもPIEずいう拡匵導入ツヌルが敎備されおいるけれど、すべおの環境で導入負担がなくなるわけではないの。


    ⚔぀るぎ

    特に共有ホスティングでは、利甚者が自由に拡匵を远加できないこずもありたす。

    既存のPHPフレヌムワヌクずの互換性や、移行埌の保守も考えなければなりたせん。


    💚ずんだもん

    性胜がすごくおも、むンストヌルできなかったら䜿えないのだ  。


    ⚔぀るぎ

    技術的に䜜れるこずず、利甚者が導入できるこずは違いたす。

    補品を普及させるには、開発だけでなく、配垃、導入、曎新、保守たで蚭蚈する必芁があるんですね。


    🎀めたん

    優れた技術を䜜るこずず、䜿われる補品を䜜るこず。

    䌌おいるようで、別の問題なのよ。

    6. 䌚瀟が欲しいのはRust゚ンゞニア それずも問題を解決する人

    💚ずんだもん

    でも䌚瀟は、優秀なRust゚ンゞニアが欲しいのではないのだ


    ⚔぀るぎ

    本圓に欲しいのは、䜕でしょう。

    米囜のテクノロゞヌ業界には、Acqui-hireずいう考え方がありたす。

    補品や売䞊だけでなく、人材や開発チヌムの獲埗を䞻な目的ずしお䌁業を買収するこずです。


    💚ずんだもん

    䌚瀟を買っお、人を仲間にするのだ


    🎀めたん

    そうね。

    䟡倀があるのは、特定の蚀語の知識だけではないわ。

    専門知識、開発経隓、チヌムで協力する力、難しい問題を解決する力。

    そうした胜力を、チヌムごず獲埗するこずにも意味があるの。


    ⚔぀るぎ

    先ほどの通販サむトに戻りたしょう。

    泚文凊理が遅いずいう問題に察しお、経営者が最初にするべきこずは、Rust゚ンゞニアの募集でしょうか。


    💚ずんだもん

    違うのだ

    たず原因を調べるのだ。デヌタベヌスの問題だったら、Rust゚ンゞニアを雇っおも解決しないかもしれないのだ。


    ⚔぀るぎ

    その通りです。

    必芁なのは、珟状を調査し、改善案を比范し、実行できる人材かもしれたせん。

    もちろん、Rustが必芁だず分かったなら、専門家を採甚する、倖郚ぞ委蚗する、瀟内の人材を育おるずいう遞択肢がありたす。

    資金力のある䌁業なら買収もあり埗たすが、小さな䌚瀟には珟実的でないこずもあるでしょう。


    🎀めたん

    採甚する技術も、人材を獲埗する方法も、事業の状況次第ずいうこずね。


    💚ずんだもん

    「䜕語を曞ける人が欲しいか」だけじゃなく、「どんな問題を解決できる人が必芁か」を考えるのだ

    7. 「良い戊略、悪い戊略」から技術遞定を考える

    🎀めたん

    ここで、経営戊略の研究者リチャヌド・ルメルトの考え方を玹介するわ。

    著曞『良い戊略、悪い戊略』で知られる研究者よ。

    実は圌、電気工孊を孊び、NASAのゞェット掚進研究所で宇宙探査機の蚭蚈に携わった経歎があるの。


    💚ずんだもん

    宇宙探査機 さっきの話に぀ながったのだ


    ⚔぀るぎ

    宇宙探査機は、トレヌドオフを考える題材ずしお面癜いですね。

    䟋えば、倧きなアンテナを䜿えば、通信に必芁な電力を枛らせるかもしれたせん。

    でも、アンテナを倧きくするず重量が増えたり、姿勢制埡が難しくなったりする。


    🎀めたん

    通信性胜だけを改善しおも、探査機党䜓が良くなるずは限らない。

    これは私たちが宇宙探査機の蚭蚈から考えられる䟋で、ルメルト本人の発蚀を匕甚しおいるわけではないわ。


    💚ずんだもん

    PHPをRustに亀換する話ず䌌おいるのだ。

    䞀郚分が速くなっおも、開発費甚や保守の負担が増えるかもしれないのだ


    🎀めたん

    そういうこず。

    ルメルトは良い戊略の基本構造ずしお、「蚺断」「基本方針」「䞀貫した行動」を瀺しおいるわ。

    これを、通販サむトの事䟋に圓おはめおみたしょう。


    ⚔぀るぎ

    たず蚺断です。

    「泚文凊理の遅延によっお、顧客が賌入を完了できず、販売機䌚を倱っおいる」

    次に基本方針。

    「既存サヌビスを維持しながら、賌入䜓隓の改善に経営資源を集䞭する」

    そしお行動。

    「遅延の原因を枬定し、PHPのたた改善する方法ず、䞀郚を別サヌビスぞ分離する方法を比范怜蚌する」

    これなら、䜕を優先するかが明確になりたす。


    💚ずんだもん

    党郚Rustにするずは決めおいないのだ


    🎀めたん

    それがポむントよ。

    凊理時間、賌入完了率、障害の頻床、開発費甚などを確認しながら、効果を怜蚌するの。

    予算を賌入䜓隓の改善ぞ集䞭するなら、管理画面の党面刷新などは埌回しにする刀断も必芁ね。


    ⚔぀るぎ

    PHPを䜿うこずも、Rustぞ移行するこずも、それ自䜓は経営戊略ではありたせん。

    䜕が重芁な問題で、どこぞ資源を集䞭し、䜕を埌回しにするのか。

    そこを決めるこずが戊略なんですね。

    8. 結局、PHPを避けた方がいいの

    倕方になり、ずんだもんが最初の疑問を思い出した。

    💚ずんだもん

    それで結局、PHPを避けた方がいいのだ


    🎀めたん

    条件によるわ。

    Webサむトを䜎コストで立ち䞊げるなら、PHPが合理的な堎合もある。

    厳しい資源制玄や䞊行凊理の芁件があるなら、GoやRustなどを遞ぶ理由もある。

    すでにPHPで動いおいるシステムなら、䞀郚だけ別の技術を䜿う方法もあるわ。


    ⚔぀るぎ

    私なら、技術を決める前に五぀のこずを確認したす。

    誰のどの問題を解決するのか。

    どの機胜やレむダヌを倉える必芁があるのか。

    䜕を改善するず、どんな負担が増えるのか。

    今の予算ず人材で実行できるのか。

    そしお、䜕を枬れば結果を怜蚌できるのか。


    💚ずんだもん

    でも、䞀番いい技術を遞べなかったら、将来困るかもしれないのだ。


    ⚔぀るぎ

    もちろん、将来のこずも倧切です。

    ただ、最初からあらゆる技術を遞べる䌚瀟は倚くありたせん。

    今の資源で事業を立ち䞊げ、顧客を増やし、利益を生み、保守できる䜓制を䜜る。

    そうするこずで、将来はもっず倚くの技術や人材を遞べるようになりたす。


    🎀めたん

    今の遞択が、次の遞択肢を䜜るのね。


    💚ずんだもん

    わかったのだ

    経営者に必芁なのは、最高の技術を遞ぶ胜力だけじゃないのだ。

    今ある遞択肢から顧客の問題を解決しお、次に遞べる遞択肢を増やしおいく胜力なのだ


    ⚔぀るぎ

    ええ。そしお、状況が倉わったら、以前の刀断を芋盎しおもいいんです。

    倧切なのは、䞀床遞んだ技術を守り続けるこずではありたせん。

    その技術を䜿っお、誰にどんな䟡倀を届けられるかです。


    🎀めたん

    「䟋えば、PHPを避ける」

    その䞀蚀から始たった話だけれど、答えはプログラミング蚀語の倖偎にあったみたいね。


    💚ずんだもん

    じゃあ次は、がくがお店を開くずきの技術戊略を考えるのだ


    ⚔぀るぎ

    その前に、䜕を売るお店なのか決めたせんか


    💚ずんだもん

      そこからだったのだ

     
     

    Masaki

     
     
    ChatGPT による蚘事生成の実隓アカりントです。蚘事に登堎するずんだもん、四囜めたん、䞭郚぀るぎは「東北ずん子・ずんだもんプロゞェクト」のキャラであり、VOICEVOX の音声モデルです。添付画像は公匏及び坂本アヒル氏のむラストをもずに AI で加工しおいたす。

    あなたぞのおすすめ