詐欺師ではない:フロントエンドの倦怠感との戦い
公開: 2022-03-10私は最近、バックエンドの開発者の友人と、仕事以外でコーディングやコードの学習に何時間費やしたかについて話しました。 彼は、ボブおじさんの本「Clean Code」の一節を見せてくれました。この本は、ミュージシャンがコンサートの準備に楽器を使って費やした時間を、開発者が職場で演奏するコードをリハーサルしている時間と比較しています。
私はアナロジーが好きですが、完全にサブスクライブするかどうかはわかりません。 そもそも燃え尽き症候群を引き起こす可能性があるのは、そのような考え方です。 自分の技術をさらに発展させ、スキルセットを広げたいのであれば素晴らしいと思いますが、1日の1時間ごとにそれを行うことは持続可能ではありません。
フロントエンドの疲労は非常に現実的です。 JavaScriptの倦怠感に関する投稿をたくさん見てきましたが、問題はその特定の言語よりもさらに広がっていると思います。
明確にするために、これはそれがすべて悪いことであり、すべてがあまりにも速く動いていることについての別の怒りではありません—テクノロジーが非常に急速に進化していることを私は愛しています。 同様に、私はそれがいかに圧倒的であるかを理解することができ、確かに時々自分自身が洗い流されたと感じました。
SmashingMagの詳細:
- フロントエンドの暗いコーナーからの汚いトリック
- フロントエンド開発者の仕様への賛歌
- フロントエンドの就職の面接の準備方法
私の知る限り、これは2つの問題です。
1つ目は、フロントエンド開発者として、次のすべてを武器に持つことが期待されていると考えることです。
- HTML(クリーンでセマンティックなマークアップを書く)
- CSS(モジュラー、スケーラブル)
- CSS方法論(BEM、SMACSS、OOCSS)
- CSSプリプロセッサ(LESS、SCSS、PostCSSなど)
- 最新のCSS(Flexbox、グリッド)
- JS
- 現代のJS(ES6、Typescript)
- JSフレームワーク(Angular、React、Vue [ここに最新のものを挿入]
- JS方法論(関数型プログラミング、OOP)
- JSライブラリ(Immutable、Ramda、Lodash)
- レスポンシブデザインのプリンシパル
- テスト(TDD)
- テストフレームワーク(Jasmine、Karma)
- SVG
- WebGL
- アニメーション技法
- アクセシビリティ
- 使いやすさ
- パフォーマンス
- ビルドツール(Grunt、Gulp、NPMスクリプト)
- アセットバンドラー(WebPack、Browserify)
- NPMエコシステム
- さまざまなブラウザの癖に関する知識
- アジャイル手法
- バージョン管理(通常はGit)
- ビジュアルデザインの基礎
- ソフトスキル、時間管理
- 使用されているバックエンド言語の基本的な理解
それに加えて、あなたは次のようなものに手を出しているか、それに向かっています。
- サービスワーカー
- プログレッシブウェブアプリ(PWA)
- Webコンポーネント
2つ目は、日常業務がすべてを網羅していないか、すべてを学ぶ時間を与えていない可能性があるということです。では、すべてのツールを自由に使えるようにするにはどうすればよいでしょうか。
さて、消費者としてあなたはそうするかもしれません:
- さまざまな週刊開発ニュースレターを購読する
- Twitterフィードをトロールします
- 毎週、職場のフロントエンドチームに追いつくように参加してください
- 仕事の外でSlackチャンネルを持って、あなたもショップと話している少数の開発者と一緒に
- オンラインチュートリアルに従ってください(うまくいけば時代遅れではありません)
- フロントエンドマスターのようなビデオコーストレーニングサイトを使用する
- Web開発の本を購入する(うまくいけば時代遅れではない)
- 交流会に参加する
- 会議に参加する
- トレーニングコースに参加する
寄稿者として、次のことができます。
- ブログ/雑誌記事を書く
- 話すのに手を出す
- ポッドキャストを実行する
- オープンソースプロジェクトに貢献する
- あなた自身のサイドプロジェクトを持っている
最近、私は自分の注意が3つの方法に分かれていることに気付きました。私は、コードの記述に3分の1を集中し、ヘッドホンでコードについての議論を半分聞いて、Slackでコードについてチャットしました。 私は十分だと判断しました—すべての開口部がコードで詰まっていて、私は精神的に消耗していました。
それは確かに極端な終わりですが、あなたの他の人も同様のことを経験したと確信しています。 これらすべてに加えて、あなたはおそらくフルタイムの仕事、家族、友人、趣味を持っています。 私たちの多くが燃え尽き症候群を感じ、正しいキャリアを選択したかどうか疑問に思っているのも不思議ではありません。
私の仲間のフロントエンドの何人かは、それをすべて詰め込んで、5時にオフにできるジョブに切り替えることに興味を示しています。 しかし、私の一部は、この仕事は特定のタイプの人を引き付けると思います。私たちがそれをすべて捨てて、代わりに不動産業者になるとしたら、あなたはまだあなたができる最高の不動産業者になりたいと思うでしょう。 不動産業者の会合に出席し、自由時間に住宅価格の傾向を追跡します。 何ヶ月も前に私は金融で働きました、そして私はまだ私の夜に勉強していて、私の選んだ分野で私ができる最も熟練した人になるためにそれの周りを読んでいました。
この分野では私たちだけではありません。多くの職業では、仕事以外でしっかりとした献身と学習が必要です。 たぶん、フロントエンド開発の問題は、テクノロジーが非常に速く進化するため、誰かがゴールポストを動かし続けているように感じることです。 「XYZ」テクノロジーが死んだというメールを一日おきに受け取っているようです。 そうでなければ、技術が残っていないので、これは真実ではないと確信しています。
生態系は絶えず変化している状態にあり、それは良いことだと思います。 個人的には、自分自身を成長させ、プッシュすることを常に学ぶことができる役割を担うことが大好きですが、それは私が時々圧倒されないということではありません。
それを念頭に置いて、頭が爆発するのを防ぐために覚えておきたいことがいくつかあります。また、倦怠感を避けるための一般的なアドバイスもあります。
私たちはすべて一緒にいます
私が知っている開発者は、職場でも外でも、私が知っている中で最も賢い人々の1人です。 しかし、彼らは皆、圧倒されていると感じています。 ほとんどの人は、彼らが学ぼうとしているテクノロジーのある種のウィッシュリストを持っています。 それをすべて知っていて、すべての上にいる少数の人々がいるかもしれませんが、私たちの大多数はまったく同じ立場にいます。
私たちは皆、GoogleとStack Overflowに依存して一日を過ごしており、ウェブ関連の質問への回答でいっぱいのタブが多すぎます。 あなたは一人じゃない!
かっこいい子供たちがまだ使っているものを何でも試したことがないという理由だけで、あなたは悪い開発者ではないという知識に満足してください。
はい、「ウェブセレブ」でさえ同じ場所にいます…
すべてを知る方法はありません。Twitterでフォローしているロックスターの開発者は、それぞれいくつかの分野で本当に優れている傾向があります。 あなたは彼らが知識があることで有名な同じ分野であることに気付くでしょう。 ここでも例外がありますが、それらは私たちのような人間にすぎません。 :)
インポスター症候群は本物であり、私たち全員がそれを持っています
私は、職務記述書の要件に関するすべてのことを知らなくても、彼らが詐欺のように感じてしまうため、役割に応募しない優れたフロントエンド開発者を何人か知っています。 それらの1つを引用するには:
「私が見ているJDの90%は、「ああ、私はとても遅れている!」と私に思わせます。実際、それは私を非常に悩ませているので、私は現在の役割を維持し、より多くのお金を押し込もうと考えています。ここで「それをやめた」ような気がするからです。」
事実、それらの仕事の仕様のほとんどは茶番です。 私の友人のバードは、フロントエンドの仕事の仕様が言うこととそれらが意味することの違いを示すこの素晴らしい画像をまとめました。
覚えておいてください、それは大丈夫でしょう。 私が持っていたすべての仕事は、最初は自分の深みから感じましたが、最終的には彼らのツールとワークフローに慣れ、学び、そのためのより良い開発者になります。
仕事で学ぶことを恐れないでください。新しいスキルを習得するための最良の方法は、毎日それらを使用することです。
あなたがインポスター症候群を患っている場合、あなたは実際にはまともな開発者である可能性があります。そうでなければ、それを実現するのに十分な自己認識がないからです。
ファンダメンタルズを固定する
光沢のある新しいものに気を取られるのは簡単ですが、基盤がしっかりしていないと、構築しているものが時の試練に耐えられない可能性があります。
私の良き友人が一度私に言ったように:
「ファンダメンタルズに焦点を当てることは常に私の信条です。良いsh!tを構築して問題を解決できるのであれば、それが重要です。それらを解決する方法(ツール)は常に変化します。」
たとえば、Reactが名声を博したとき、それは常にES6にバンドルされているように見えました。私は、フレームワーク自体のニュアンスではなく、言語への変更や追加に焦点を当てました。 Reactが死んで消えてしまうと、最新のバニラJavascriptを常に把握することで得た知識は存続します。 Chromeでネイティブに使用できる機能の多くは、Babelを使用して、依存関係地獄に行き詰まる必要がないようにします。
あなたはすべてを学ぶ必要はありません
これは本当に重要です。 私たちを殺しているのは新しいフレームワーク、ライブラリ、モジュールではないと思います。それらすべてを学ばなければならないのは私たち自身の信念です。
学習することで、私はそれを集中させ続けることが最善の策だと思います—現在、私はES6の機能的なJavaScriptプログラミングを掘り下げています。
私のリストには他にも学びたいことがたくさんありますが、気を散らさないようにしています。 たとえば、アクセシビリティの知識を磨き、Polymerをいじって、Gridなどの最新のCSSテクニックを試してみたいと思いますが、一度に多くの異なる領域について読み始めると、すべての情報を保持できなくなります。 これらの他のものはどこにも行きません、私がそれらに着くとき、私はそれらに着きます。
急いで特定のトピックに関するすべてを試して消費することは避けてください。 時間をかけて、それを完全に理解していることを確認してください。
あなたが私のようなら、あなたは増え続けるリストを持っているでしょう、しかしそれからアイテムをカリングすることを恐れないでください。 すべてに時間を費やす価値があるわけではありません。何を学ぶ価値があり、何が2、3年でなくなる可能性があるかを認識してみてください。 プログラミングデザインパターンとアーキテクチャ技術を学ぶために時間をかけることは、フレームワークの土地の現在の暑さに飛びつくよりも、長期的には常により有益になるでしょう。 トラックを少し下ったところで、流行語のビンゴをもう一度プレイするためにスクランブリングをすることになります。
ほとんどの企業はブリーディングエッジ技術を使用していません
たくさんの新しいものが出てきて、ウェブは驚異的な速度で進歩していますが、通常、企業が実際にこれらの新しいテクノロジーを採用し始めるまでには長い時間がかかります。 大多数の企業は、テクノロジーが成熟するのをしばらく待って、それが現場で証明されるのを見るでしょう。
Angularは6年前に作成され、私は3年前にそれが彼らのフレームワークであると判断したスタートアップで働き始めました。 Reactjsは約3年前からあり、私の現在の会社はクリスマス直前にReactjsを使い始めました。 その間に、他の多くのフレームワークが出入りしたと確信しています。 もし私がそれらすべてに飛びついたら、私は夢中になるでしょう。
CSSランドでは、Flexboxは2010年から6年前に利用可能になりました。 ブラウザのサポートはまだ制限されています。 今年初めに本番環境で使用を開始しましたが、他の場所ではあまり使用されていません。
私の言いたいことは、すべてのことを急いで学ぶ必要はないということですが、テクノロジーは急速に動く可能性がありますが、潜在的な雇用主ははるかに遅いペースで動いています。 カーブの先を行く必要はありません。その軌道に注意を払っていることを確認してください。
学べば学ぶほど、知らないことに気づきます。それで大丈夫です。
これは完全に正常です。 あなたが最初に始めたとき、あなたはあなたが知らないことを知りません。 それからあなたはいくつかのことを学び、あなたが天才であると決定します。 それから少しずつそのファンタジーが解き明かされ、あなたは実際にあなたが知らないことがどれだけそこにあるかを理解し始めます。
基本的に、経験を積むほど、ボイドの奥深くに行きます。 あなたはこれと和解する必要があります、さもなければそれはあなたを消費します。 どちらかといえば、この感覚はあなたが正しい方向に向かっているという自信をあなたに与えるはずです。 オッズは私たちが選んだ職業であり、すべてのフロントエンドの知識から構築された王位に快適に座ることは決してできません。
すべての自由な時間を学習に費やさないでください
毎分コーディングと学習を行う必要があるため、はるかに遅れていると感じるのは簡単です。 これは燃え尽き症候群への片道切符です。 スキルセットを開発するために時間を取っておき、上司と交渉してスケジュールを立て、残りの時間を好きなことをすることができるかどうかを確認します。
私はジムでコーディングのエピファニーをいくつか経験しました。 運動はあなたの心とあなたの体にとって非常に重要です。 心を鋭く保ち、燃え尽き症候群を防ぐために、少なくとも1日20〜30分は試してみてください。
あなたの家族や友人のために時間を作ってください—彼らと店を話さないようにしてください!
それは開発者の市場です
今すぐ仕事を見つけることを心配しないでください。 現在、私たちは非常に幸運な立場にあり、開発者よりも多くの役割を担っています。 これがどれくらい続くかはわかりませんが、今すぐ活用してください!
あなたはすべてを知らなくても仕事を得ることができます。 私が行ったインタビューでは、99%の人が完全にそれを自慢していることがわかりました。
最悪のシナリオでは、レガシーコードにゴールドがあることを忘れないでください。 あなたが古いやり方を愛する開発者なら、開発者が彼らのソフトウェアに取り組むことを必要とするレガシー技術に固執する会社が常にあるでしょう。
結論
これらの指針のいくつかが、あなたが感じているかもしれないフラストレーションのいくつかを軽減するのに役立ったことを願っています。 あなたができる最悪のことは、端に到達して完全に燃え尽きてしまうことです。一度そうなると、あなたがやっていることへの情熱と、そもそもなぜそれを始めたのかを取り戻すのは非常に難しいからです。
ハッピーコーディング!