みなさんはトッププログラマーと聞いてどんな人たちを思い浮かべますか?インターネットやパソコンに入っているアプリケーションなどあらゆる場所でプログラムが使われていますが、世の中にはトッププログラマーと呼ばれる素晴らしいスキルを持った方達がいます。
この記事ではトッププログラマーとは何か、そしてプログラマーとして頂点を極めるにはどうすれば良いのか、元システムエンジニアの筆者が解説します。
参照:フリーランスでプログラマーとして活躍するノウハウについて解説した記事はこちら
あなたにとってトッププログラマーとはどんな人ですか?
一般的にトッププログラマーとはどんな人を指すでしょうか?
筆者の経験や周りのエンジニアやプログラマーに尋ねてみたところ、さまざまな答えが返ってきました。
- AppleやMicrosoftのエバンジェリスト
- プログラミング言語を開発するプログラマー
- 業界を代表するプログラマー
- いわゆるバズるような技術情報を公開するプログラマー
- 海外転職するほどのスキルがあるプログラマー
- 社内で共通部品やフレームワークを作るプログラマー
- 何でも相談して回答できる誰からも頼られるプログラマー
など、世界規模から社内規模までトッププログラマーという言葉はあらゆるイメージで受け取られているようです。
規模や立場などトッププログラマーには色々なイメージがあるものの、共通する事柄があります。その共通するものとは何でしょうか?
トッププログラマー=コミュニティーに貢献している
トッププログラマーと呼ばれる人たちはコミュニティーに対して何らかの貢献をしています。この貢献しているコミュニティーが大きいほど、影響が強く、いわゆる地位や名声も高いと考えて差し支えありません。
例えばAppleやMicrosoftのエバンジェリストと呼ばれるようなプログラマーは製品群の販売や開発、さらにユーザーに新しいエクスペリエンスを提供します。つまり製品とユーザーのコミュニティーに大きな貢献をしていると考えて差し支えありません。
海外転職するほどのスキルがあれば、関わった案件の貢献度が高いことは創造できますし、そもそも日本人が海外でエンジニアとして働くには雇用先の部署や会社への貢献度が高くないといけません。
多くのエンジニアが注目する技術情報をインターネットで公開できればプログラマーのオンラインコミュニティーへの貢献をしていると言えますね。
トッププログラマーとはプログラミングや技術スキルの観点から大きな貢献をして、周りの人から「この人はすごい」と評価されているわけです。
その場を楽しむことがトッププログラマーへの近道
トッププログラマーと呼ばれる立場になるためにはどんなことから始めたら良いでしょうか?
筆者はシステムエンジニアとしてたくさんのプログラマーと仕事をしてきましたが、プロジェクトへの貢献度が高いプログラマーは意識的にスキルをアピールしたり、アドバイスを押しつけたりしません。
トッププログラマーは全員その仕事を楽しむことに長けていたように思います。
楽しい仕事=コミュニケーション=価値創造=貢献
プログラミングはどうしても孤独な仕事になりがちです。ディスプレイに向かって考え込み、動かないコードをどうにかして動くように四苦八苦する頭脳労働を続けていると、他人に頼ることや相談することを忘れてしまいがちになります。
トッププログラマーは豊富な経験とスキルから、このような大変な状況を乗り切るコツを自然と心得ているようで、プログラマーの仕事を楽しんでいます。この態度や雰囲気は自然と周りに伝わるので、周囲の人から頼られて相談に乗ったり、アドバイスを求められたりして気がつけば一目置かれるプログラマーとして頼りになる存在になります。
“頼られる”プログラマーから”必要不可欠”なプログラマーに
周りの人から頼られるプログラマーになればトッププログラマーへの階段は着実に歩み始めています。
トッププログラマーを目指すのであれば、頼られる存在から欠かせない存在にステップアップしましょう。
欠かせないプログラマーになればフリーランスは案件の継続度や受注率が大きく改善しますから、フリーエンジニアなら特にこのような立場を目指したいところです。
欠かせないプログラマーになるには重要な機能を担当する
プロジェクトにとって欠かせない存在になるには、重要な機能の設計や製造を担当することが早道です。例えば共通部品の設計や製造を担当するアーキテクトはプロジェクトが一段落するまで「いないと困る」立場ですよね。
ただしトッププログラマーは責任重大です
重要な機能を担当することがトッププログラマーへの早道と書きましたが、あなたがプロジェクトに欠かせない存在になればその分責任が重くなります。フリーランスの場合、次の案件に移れない、契約変更してもらえないなど「深く関わりすぎてしまったがゆえの弊害」が出る可能性もあります。
トッププログラマーになるには技術的なスキルだけでなく、プロジェクトの状況や自分の仕事方針なども明確にして、うまく立ち回りましょう。
影響範囲をどんどん拡げてさらなるトップを目指す
関わったプロジェクトや周りのエンジニアにとって欠かせない存在になれば、次は影響範囲を拡げていくことでさらに高いレベルのトッププログラマーを目指すことができます。
例えば、プロジェクトの垣根を越えて全社的に使えるフレームワークの開発を成功させれば、社内トップのプログラマーとして自他共に認められることになるでしょう。ブログで情報発信をする、あるいは個人としてwebサービスを開発してオンラインコミュニティーにおける貢献度を高めていくことも可能です。
小さな会社から外資系コンサルにステップアップしたプログラマー
筆者の知人はソフトウェアハウスのプログラマーでしたが、持ち前の明るさと技術力からプロジェクト内で一目置かれるプログラマーになりました。
この時点では「プロジェクト規模のトッププログラマー」でしかありませんが、コーディングが好きでとあるフリーウェアを開発してオンラインコミュニティーへの貢献度も同時に高め、人気のあるソフトウェア開発ブログの執筆もしています。
このようにトッププログラマーとして、貢献の範囲を社内からオンラインへ徐々に拡げた結果、彼は数年後外資系ITコンサル会社への転職、ステップアップを遂げました。
トッププログラマーは小さなコミュニティーからトップだった
ここまで書いたように、トッププログラマーは小さなコミュニティーでも全力を尽くしつつしっかり貢献することを続けており、楽しむことと大きな情熱を通じて周りの人の心を動かし、次のステップへと進みます。
では、一目置かれる上に貢献度の高いトッププログラマーはどんな態度、人柄を持ち合わせているかを考えてみましょう。
トッププログラマーになる人の条件
トッププログラマーと呼ばれる人たちは概ね以下の条件に当てはまります。
- どんな状況下でも必要とされるスキルを最低限人に先んじて持ち合わせている
- コミュ力が高く、フォーラムやコミュニティーで発信できる
- 起業家精神を持っている
プログラマーやフリーエンジニアであれば最新技術の習得は必須の課題ですが、トッププログラマーは面白そうなものや知らないことがあれば手をつけたり、調べて実践したりしています。よって案件やPJで必要な技術を後から追いかけてイチから調べることはあまりありません。
優れた論理的思考と配慮ができるため、コミュニケーション能力に長けていることもポイントです。また対面コミュニケーションが苦手な方はフォーラム掲示板やブログといったテキストコミュニケーションを通じてコミュニティーに貢献しています。
トッププログラマーの多くは起業家精神を持っている方が多く、会社や組織に完全に従属せずに次のステップを切り開く力に長けているようです。このため、転職や案件獲得のチャンスを逃さず、自分のスキルを発揮できるコミュニティーにもぐいぐい参入します。
トッププログラマーはスキルと人間力に長けていると言っても良さそうですね。
ベストを尽くすことがトッププログラマーへの最短距離
トッププログラマーは周りから一目置かれ、周囲の人やコミュニティーに欠かせないほど大きな影響力のあるプログラマーです。プロジェクト内、社内、あるいは有名製品やwebサービスの担い手など規模の大小はありますが、素晴らしい貢献をしていることに変わりないでしょう。
与えられた環境でベストを尽くし、周りの人の役に立つことが貢献です。これを繰り返していれば自ずとトッププログラマーになれるのではないでしょうか。
みなさんは今の仕事に物足りなさを感じていますか?もし物足りない、まだ力を発揮したいと感じているなら、すでにトッププログラマーかもしれません。プロジェクトや会社の枠を超えてさらに力を発揮してくださいね!
参照:フリーランスでプログラマーとして活躍するノウハウについて解説した記事はこちら
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)