優れたコードを書くことを超えた未来はありますか?
公開: 2022-03-10簡単な運動をしましょう。 あなたが開発者として5年以上プロとして働いているとしましょう。 数十のプロジェクトを通じて実践的な経験を積み、新しい技術、ツール、フレームワークについて学ぶことでスキルセットを鋭く保ちました。 さまざまなライブラリに貢献し、作成したコードを定期的にリファクタリングし、定期的に同僚とコードレビューを交換します。
しかし、誰かがやって来て、あなたが理解する機会がなかった1つの質問をあなたに尋ねます:あなたは今から10年後、あなた自身をどこに見ますか?
同じ道を進み続けると、コーディングが少し上手く、少し速くなる年配の開発者になるという考えに不安を感じるかもしれません。 一部の開発者はこの考えに満足しており、その道を進むのを待ちきれません。 しかし、他の人は、あなたが経験したこのレッスンと成長のローラーコースターがすぐにクルーズコントロールモードに移行していることに気付くかもしれません。
開発者としての自分の役割を完全にコントロールできるようになると、さらに多くのことを行う必要があると感じ始めます。 同じではありませんが、代わりにもっと個人的な成長を遂げます。 多分何か違う。
私のキャリアの過去数年間、私は答えを探していました。 私は、技術的なバックグラウンドを最大限に活用する非常に影響力のある役割に移行することに成功した多くの成功した開発者と協力する(そしてそこから学ぶ)機会を得ました。 それぞれが、コアスキルと補完的なスキルのバランスに基づいて、有機的な移行を行うことができるさまざまな道を模索しました。
ここからどこへ行けますか?
私たちが探求できるいくつかの新しい道があります。それは私たちを快適ゾーンを超えて成長させると同時に、私たちが一生懸命に培ってきたスキルセットの恩恵を受けることができます。
開発者として、私たちが読むほとんどの記事、プログラミングの本、そして私たちの仲間からのアドバイスでさえ、私たちがより良いコードを書くことに集中するのを助けるようにすべて調整されています。 それ以外は、どのようにうまく機能するか、より哲学的な観点から言えば、どのように進化するかについては実際には教えられていません。
私たちは通常、キャリアを開始したときに自分で設定した目標を達成した後、または残りの人生で1日8時間コーディングする以外にやりたいことがあるかどうかについて、何が起こるかについての手がかりがありません。 近い将来、コードを書く以外のことをする場合、チームへの貢献の可能性を過小評価することさえよくあります。 より影響力のあるポジションで私たちの視点とスキルが確実に必要とされているとしても、私たちはどのようにしてより大きな影響を与えることができるかわかりません。
業界に耳を傾ける
私がフロントエンド開発者としてキャリアをスタートした2008年に、人々のコミュニケーション方法を変えながら百万長者になった若いプログラマー、マーク・ザッカーバーグのことを聞いたことがない人は世界中にいませんでした。 ミレニアル世代は、パーカーを着て合法的に金持ちになるという考えをロマンチックにし始めました。 突然、私の世代のほとんどすべての人が開発者になりたいと思った。
10年以上経った今、私たちはこのコーダーブームの真の影響を感じ始めています。 今年のStackOverflow Surveyを通じて、回答者の3分の2以上が10年未満のプロのコーディング経験を持っていることがわかりました。
リーダーシップスキルを持つ経験豊富な開発者が不足していることがはっきりとわかります。そのため、企業は、より多くのジュニア開発者を監督し、仕事の質を維持できる方法で、最高の才能を予約するための創造的な方法を見つける必要があります。 これにより、成長するチーム内に有機的なリーダーシップ構造が生まれます。
業界は急速に成長し続けており、開発者としての私たちの役割も同様です。 プログラマーとしてスタートした取締役やマネージャーを見つけることがより一般的になり、企業は現在、開発のバックグラウンドを必要とするより多くのリーダーシップのポジションを開いています。
プログラミングが次のブルーカラーの仕事と見なされていたとしても、開発者の役割は組織内で非常に影響力のある地位に成長していると言っても過言ではありません。 しかし、その移行をガイドするための書面によるロードマップや実証済みの公式はありません。
私たちのオプションのいくつかは何ですか?
私のキャリアの中で、自分が思い描く未来について恐ろしい質問をされるようになりました。 答えがありませんでした。 実際、それは私の頭に浮かばなかったさらに多くの質問を引き起こしました。
私はすでにフロントエンドのリーダーとして働いていたので、コードを書くこと以外にますます多くの責任を与えられていたので、おそらくプログラミングではない可能性のある将来について考えさせられました。 さまざまなプロジェクトにさらに影響を与える可能性は、間違いなく魅力的でした。
そこで私は、自分の将来にとってどのような選択肢が興味深いかを調査することに着手しました。 開発者の役割から社内の重要なポジションへの移行に成功した同僚の道を見てみました。 ほとんどの場合、小さな一歩を踏み出し、適切な場所に適切なタイミングでいることで構成されていました。 しかし、全体として、彼らはすべて、これらの3つの主要な活動グループに参加することになりました。
- チームとプロジェクトの管理
人々のグループを偉大なものに導くことはエキサイティングに聞こえますが、それは簡単ではありません。 経験豊富な開発者として、仲間の開発者のグループをチームとして管理するか、学際的なチーム全体でプロジェクトを管理することを含む、成長の多くのオプションがあります。 これは非常にやりがいのあるオプションですが、キーボードから離れて委任する方法を学ぶ必要があります。これは、すべての問題を個人的に解決することに慣れている開発者にとっては非常に難しい場合があります。
私たちがプロセスをより制御できる立場に移り、それに関与するチームは、コードに関しては、私たちが慣れ親しんでいる制御を犠牲にする必要性につながる可能性があります。 - 才能の指導と育成
トップデベロッパーのクローンを作成することを夢見ているボスは何人いますか? 現実の世界では、これはまだ起こりそうにないので、賢い上司は次善の策を実行します。彼らは、最も精通したコーダーが知識を仲間に積極的に伝えることができるプロセスを設定します。
一部の開発者は日常的にこれを自然に行っていますが、上級開発者に、自分の成長に取り組むために定期的に時間を割り当てることができるより正式な役割が与えられていると、常により効果的であることに留意する必要があります。チーム。 これは、コードレビュー、ワークショップ、および一部の同僚との個別の評価で行うことができます。 - テクノロジーのビジネスに従事している
プロジェクトがクライアントに販売されたときにプロジェクトがどのように提案または定義されたかについて、開発者が不満を言うのを聞くのは非常に一般的です。 そして、ほとんどの場合、文句を言うには遅すぎます。
私の経験では、販売中に開発者が関わっていたプロジェクトに取り組んでいるほうが幸せだと感じました。 他の誰も手がかりがなかった部屋で、潜在的な技術的問題に論理的な同盟国がフラグを立てることは常に素晴らしいことです。
大規模なデジタルプロジェクトでは、コンサルタントとテクニカルディレクターの役割が非常に重要です。 プロジェクトの開始時にクライアントワークショップに開発者が関与し、技術文書を作成することは、プロジェクトのライフサイクルを大きく変える可能性があります。
新しいツールセットに取り組んでいます
成長を続け、コードを書く以上のことをしたい未来に乗り出したいとしましょう。 私たちがどこに向かっているのかがわかったら、まだ飛躍の準備ができていない可能性が非常に高いです。 結局のところ、私たちは私たちをより良い開発者にするスキルの習得に焦点を合わせてきました。
学ぶべきことがたくさんあることに気づいたら、適切なスキルのセットに取り組み始める必要があります。 今回は異なります。新しい言語、フレームワーク、またはライブラリを学習することはありません。 過去には重要でないと感じていたかもしれないが、これらの不確実な領域で次のステップを踏むために重要であるスキルを買いだめする必要があります。
コミュニケーション
どんな会社でも仕事をしている人にとって、これは簡単なことです。 コミュニケーションは、あらゆるタイプの組織内のコラボレーションの中核であることが知られています。 残念ながら、プログラマーはこの分野で長年フリーパスを与えられてきました。 論理的で勤勉で情熱的な個人を見つける必要性は、私たちが本当に優れたコミュニケーションスキルを持っていなくても、そして非常に社会的に厄介な集団でさえなくても繁栄することを可能にしました。
さまざまなチームやクライアントと協力したいという願望があれば、コミュニケーションのあらゆる側面の改善に取り組む必要があることは明らかです。 これからは、1対1の会議、プレゼンテーション、重要なメールをすべて慎重に磨く必要があります。
所有
論理的な考え方を持つことは、私たちが仕事を整理する方法に影響を与えました。 開発者として、私たちは通常、作業がどこから始まりどこで終わるかについて白黒の感覚を持っています。 これは、私たちが行う必要のある作業を明確に理解できる場合は前向きですが、境界を押し広げて快適ゾーンの外で作業することを妨げる場合があります。
ビジネスの最初の順序は、私たちが関わっている仕事のすべての側面の所有権を取得し始めることです。開発者の仕事がどこで終わるかを定義する境界線を曖昧にすることによって、私たちは新しい責任を引き受け、最終的には別の役割に移行することができます。
リーダーシップ
私たちがキャリアのどこに向かっている場合でも、チームメートが私たちを信頼する必要があります。 たとえ一瞬完全に明確でなくても、私たちが正しい方向に向かっていることを彼らに知ってもらう必要があります。
これを達成するためには、知識を証明できる必要があり、決定に自信を持っている必要があります。間違いを認識し、間違いから迅速に学ぶことができる必要があります。
これは簡単な作業ではなく、リストをチェックできるものでもありません。 開発バブルの外で成長し続けることを望む限り、それは私たちの献身を必要とするでしょう。
仕事を始める
自分のキャリアを飛躍させたいと確信したら、正しい方向に進み始めなければなりません。 最初のステップは、オプションを検討し、追求するパスを決定し、そのパスが現在の役割とどのように一致するかを確認することです。
あなたの会社は、あなたがメンターまたはマネージャーになることができるスペースを提供していますか? そこで実現する可能性があると思いますか、それとも他の場所で成長を続ける必要があると思いますか? これらはあなたが自分自身に尋ねなければならない質問のほんの一部であり、あなたのチームメートやマネージャーの何人かとの会話にもつながります。
新しい方向への一歩を踏み出すには、ハードワークを投入し、オープンマインドを持ち、何度も失敗して再試行するのに十分な回復力が必要になります。