2011 年、私は大学に入学しました。この年からフロントエンド開発を学び始めました。当時はデザイナーと呼ばれ、主に画像の切り抜きとページの作成を行っていました。今ではもう 8 年目の仕事ですが、この業界ではかなり古い人間になりました。業界の発展を経験し、多くの奇妙な現象を目にしました。
私はフロントエンドがリソースベースの職種であり、どこが必要かに応じて移動する必要があると考えています。初心者の敷居は非常に低く、上限も高くありません。また、フロントエンドは実際にはソフトウェア開発の中で派生した異常な職種だとも考えています。
フロントエンドはバックエンドとの分離を推進した後、デザインとバックエンドの間で立ち往生し、ページの作成と API の呼び出しのわずかな作業を行っています。そうです、私が言っているのは「フロントエンドの仕事はページの作成と API の呼び出しです」ということです。
Node.js の発展とともに、フロントエンドの人々は自分たちがバックエンドと競い合う能力を持っていると感じました。バックエンドが行ったことはすべて、Node.js を使ってやりたいと思いました。いわゆる「フロントエンドの天井を高くする」ということです。これはアリババなどの大手企業でよく見られることです。これまでの数年間で、私はそれが少し自己陶酔的な匂いがすると思います。
Node.js の登場により、フロントエンドエンジニアはより多くのことを行うことができるようになりましたが、それらのことをすべて個々の人が行う必要がありますか?すべての人が Web フレームワークを作る必要がありますか?ほとんどのフロントエンドの仕事は、異なるビジネス間を行き来することです。彼らの仕事には Node.js が必要ない場合さえあります。しかし、業界の風潮は変わり始めており、ビジネスのみを書くフロントエンドには技術力と潜在能力がありません。
インターネットの発展とともに、対象領域と受け手が増え、ソフトウェアのインターフェースの要求も高まっています。UI 開発は依然としてページの作成と API の呼び出しですが、より高いソフトウェア要件を満たすために、効果的で実用的かつ高品質なソフトウェアを構築および維持するためにエンジニアリング手法が必要です。フロントエンドエンジニアリングの概念が登場しました。フロントエンドの人々は、Node.js と組み合わせることで、より多くのことを行うことができると考えています。私たちの天井はより高くなりました。同様に、業界の風潮は変化を加速させ、フロントエンドエンジニアリングを行わないフロントエンドには技術力と潜在能力がありません。
ほとんどのフロントエンド開発の仕事は、ページの作成と API の呼び出しです。その他の周辺の仕事は、最終的にはこれら 2 つのことに役立つようになっています。ページをより速く、より良くし、API をより速く、より安定させるためのものです。そして、これらの仕事はフロントエンドの職種内部でさらに細分化されています。一般的な例として、多くの企業がフロントエンドチームを設立し、一部の人々がビジネスを担当し、他の人々がビジネスチームをサポートするためのいくつかの技術プロジェクトに取り組む「フロントエンドインフラストラクチャ」と呼ばれるものを専門にしています。そして、非常に奇妙な現象が発生しています:
- インフラストラクチャの仕事をするフロントエンドは、実際のビジネスシナリオから離れて、いくつかの設計案を考え出すことが容易ですが、最終的な実装は非常に困難です。しかし、彼らのパフォーマンスはあまり悪くありません。ビジネスを担当するフロントエンドは会社に利益をもたらしますが、技術的な含みがなく、置き換え可能であり、単一のビジネスでは高いパフォーマンスを得ることはできません。
- インフラストラクチャのフロントエンドは「技術をビジネスに逆推しする」という要求があります。技術的な観点からビジネスの成長を支援する必要があります。一方、ビジネスを担当する同僚は、自分の技術力を証明するためにいくつかの活動が必要です。
- さらに、軽蔑の階層が存在し、インフラストラクチャのフロントエンドはビジネス担当よりも上位の立場にあります。みんなビジネス担当になりたくありません。
本当に奇妙です。現在の評価基準の 1 つは「自分の仕事をうまくこなすだけでは十分ではない」ということです。では、職務の細分化の意味は何でしょうか?フロントエンドの職種は、ソフトウェア開発プロセスにおいて何か余分なものなのでしょうか?
私は自分自身をフロントエンドの職種に制限したくありません。私を紹介するときはいつも「ソフトウェア開発エンジニア」として紹介されることを望んでいます。滴滴では「xxx フロントエンド」というようなタイトルはありませんでしたが、私はそれがとても好きでした。私は常に優れたエンジニアは問題解決能力と新しいものを学ぶ能力にあると考え、それを堅持してきました。新しい会社に入社した後、自分がやりたいことをする時間がもっとあります。余暇の時間には、さまざまな技術や非技術関連のことに触れ、2 つのデスクトップアプリケーション、LetturaとPavoを開発しました。製品の構想から最終的なリリースまで、完全な開発チームの能力が必要であり、その間に多くのことを学び、多くのことを得ました。これにより、独自の製品を独立して開発することに対する自信が増しました。
ProductHunter と Twitter で一定期間を過ごした後、コミュニティの独立開発者の経験と考えを参考にして、私は次のような決断をしました:自分に 5 年の時間を与えて、有料のサブスクリプションソフトウェアを作り上げることです。正直なところ、私はこれらのことをしたことがありません。初期の調査から最終的な運営まで、多くの仕事に取り組んだことはありません。しかし、私はそれでもこの一歩を踏み出したいと思っています。その理由は以下のとおりです:
- コードを書くことと技術をいじることに慣れていますので、時間を活用して成果を上げることができます。
- ソフトウェア開発のツールチェーンのエコシステムは非常に充実しており、技術の詳細に立ち入らなければ、非常に簡単です。
- 自分自身に完全なソフトウェア開発サイクルの学習と体験の機会を作ります。
- 運営とプロモーションは人を鍛えます。
この 5 年計画は確かに挑戦に満ちており、多くの収穫があるでしょう。5 年後には、自分自身が誇りに思える製品が世に出ることを願っています。