開発者として成功するには–より良い職と巡り会うための5つの習慣
今回は「開発者として成功するには–より良い職と巡り会うための5つの習慣」についてご紹介します。
関連ワード (ソフトウェア開発の新たなトレンド、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
ソフトウェア開発者としてキャリアを築いていくには、コーディング以外の能力も必要だ。プログラミングは多様な面を持つ職業であり、同様に多様なスキル、習慣、特質が求められるため、それらを適切に磨いていけば、より良い職に就く機会を得て、もっとやりがいのある仕事を任される可能性がある。
以下で紹介する5つの習慣は、知識を最新の状態に保つのに役立つだけでなく、採用担当者、雇用主、同僚に一目置かれる要因にもなる。もちろん、日常生活で助けになる能力も身につくはずだ。
雇用主が何を求めているのかを把握できれば、市場のニーズに合わせてスキルを磨く絶好の機会が得られるだろう。「JavaScript」「CSS」「HTML」は依然としてウェブ開発の定番言語だが、「Python」などのデータサイエンス言語の人気が急上昇している。これは、企業が膨大な量のデータを活用して、機械学習や人工知能(AI)の刺激的で新しいアプリケーションを開発しようとしているからだ。「Rust」や「Clojure」のスクリプトに非常に詳しくなれば、そのスキルを求める企業に高給で採用される可能性が高まる。
ソフトウェア業界に影響を与える大きなトレンドに遅れずについて行くためには、技術スキルを最新の状態に保つことに加えて、雇用市場の動向を常に把握しておくことも重要だ。これは、企業が従業員への提案の見直しや従業員体験への投資を開始する中で、特に重要になる。自分の価値と、ひいては何を求めるべきかを知れば、もっと強い立場から、リモートワークやフレキシブルワークの選択肢、専門能力開発の機会、健康と福祉のサポートを利用できるようになるだろう。
これは当たり前のことに思えるかもしれないが、開発者の最大の不満の1つ(言うまでもなく、開発者が燃え尽き症候群になる最大の原因の1つでもある)がコードのバグ探しであることを考えると、すっきりとした高品質のコードを書く能力の価値を軽んじるべきではない。
コードにエラーがないことの確認に費やせる時間が長ければ長いほど、過去のコードを見直して問題が起きた箇所を特定する作業に費やす時間が短くて済む。顧客、クライアント、同僚に、製品が意図したとおりに機能しない理由を説明するというもっとひどい状況も少なくなるだろう。また、貴重な時間を費やして、あなたのコードに問題がないかダブルチェックやトリプルチェックをかける必要がなくなれば、同僚の開発者たちからもっと好かれるはずだ。
スピードと品質の両立は容易ではない。開発チームが通常、厳しい締め切りと限られたリソースで作業をしていることを考えるとなおさらだ。しかし、勤勉で几帳面な開発者という評判がある人は、常に採用担当者の目にとまるだろう。
コーディングのキャリアにおいて確固とした技術スキルが重要であることはすでに強調したが、それがすべてではない。対人スキルも将来的な成功の重要な要素だ。精力的なJavaScript開発者であっても、採用企業が求める種類の「ソフト」スキルを欠いていれば、あまり意味がない。
企業の立場で考えてみてほしい。2人に絞られた候補者のどちらかを選ぶとしよう。1人はコーディング能力に多少の難点はあるものの、考え方が柔軟で適応能力とコミュニケーション能力が高く、もう1人はJavaScriptについて知るべきことはすべて知っていると考えており、自分1人での作業を好む候補者だった場合、採用担当者は極めて高い確率で前者を選ぶだろう。重要なのは、自分がどのような人と一緒に働きたいかを考えて、そういった人柄を見習うことだ。
リモートワークによって柔軟性とワークライフバランスは向上するかもしれないが、共同作業の難易度が上がってしまったことは間違いない。特にソフトウェア開発に携わる人にとっては、プロジェクトを予定どおりに順調に進めて、誰が何の作業をしているのかを把握し、作業全体をより興味深いものにするうえで、効果的なコミュニケーションとチームワークが不可欠だ。
企業は徐々に従業員をオフィスに戻しているが、おそらくそれは、かつて知られていたオフィスライフへの復帰ではないだろう。開発者はリモートワークを無期限に続けたいという意思を特に強く示している。その要望を認めてもらいたいなら、テクノロジーチームは、互いがデスクを挟んで向かい合っていない環境で共同作業をする方法について、もっと創造的に考えなければならないだろう。たとえば、チームがオフィスに集まって仕事をする日を割り当てる、「Zoom」「Microsoft Teams」「Google Meet」でバーチャルブレインストーミングセッションを開催する、「Trello」や「Asana」などのプラットフォームでTo-Doリストを共有する、といった方法が考えられる。あるいは、単に「Slack」で健全な雑談を続けるのもいいかもしれない。
どの方法を選択するかは自分次第だが、滞りなくコミュニケーションが取れれば、仕事の生産性を維持できるだけでなく、仕事自体の楽しさがはるかに増すだろう。
仕事をやりながら学ぶことはキャリアを成功へと導く鍵だ。ソフトウェア業界には動きが速いという性質があるため、新しいプロジェクトやプログラムに進んで取り組む姿勢を持てば、常に仕事に面白さを感じ、スキルを磨くことができるだろう。コーディングブートキャンプ、オンライン学習プラットフォーム、無料のウェブリソースの普及により、コンピューターサイエンスの学位を取得しなくても、プログラミングの達人になることが可能になった。
コーディングに情熱を感じている人は、勤務時間が終わっても学びをやめない。YouTubeやGitHub、Stack Overflow、W3Schools、FreeCodeCampを利用すれば、さまざまな方法で、新しいスキルの習得や既存スキルの改善を空き時間に無料で続けることができる。新しいプログラミング言語、ツール、フレームワークを学べる有料のオンライントレーニングプラットフォームも豊富にある。特に人気が高いのは、CodeAcademy、Udemy、PluralSight、Udacityなどだ。空き時間を利用して、「Django」「Srapy」「TensorFlow」「Python」プロジェクトなどのオープンソースプロジェクトに貢献してもいいだろう。