前回「【書評】『SOFT SKILLS』ソフトウェア開発者向けの自己啓発本」という記事を書きました。
タイトルの通り、『SOFT SKILLS』というソフトウェア開発者向けの自己啓発本を読み、特に印象に残った章を感想と共にピックアップした記事です。
中でも「第7章 あなたはどのタイプのソフトウェア開発者か」は最も印象に残った章で、"ソフトウェア開発者にとって専門性を持つことは非常に重要。よりニッチな専門性を持つことで、市場は限定的になるがソフトウェア開発者としての希少性が高まる。"といった趣旨の内容でした。
ということで今回は、専門性がない(と思ってる人)が専門性を得るためには、どのように振る舞っていくべきなのか、考えてみました。
なぜニッチな専門分野が必要なのか
そもそもなぜニッチな専門分野が必要なの?という点については、『SOFT SKILLS』の著者であるジョン・メンソズさんはこのように述べています。
- レアな人材になることで仕事を得やすい
- 同様に報酬が上がりやすい
- 誰にも負けない分野を持つことで精神的な支えになる
人材不足とされているIT業界ではありますが、専門性を持った人がそうでない人より仕事を得やすいのは間違いないですし、実際に現場で働いていて「専門性があると頼られる=単価アップにもつながりやすい」と感じます。
たとえば同じJavaを扱うプログラマーでも、特定の製品の仕様に詳しかったり、SQLが得意だったりする人は、ただJavaができるだけの人よりも頼られますし、「いなくては困る人」になります。
他人への貢献を通して専門分野を作ろう
さて、じゃあ専門分野を意識して作っていこうよって話になるわけですが、そうなると専門分野ってどうやってつくればいいの?という壁に当たります。
そこでヒントをくれたのがSonicGardenのプログラマー伊藤さんの以下のブログ記事です。
みなさんも自分の強みや得意分野がわからなかったら、「ついこだわってしまうところ」「仕事と趣味の境目がなくなってしまうところ」「つい他人にツッコんでしまうところ」を考えてみてください。
そんなこんなで、入社当初は胸を張って「任せてください!」と言えなかったことも、数年経つと「任せてください!」と言える状況になっていました。
こちらの記事を読んで、「僕の専門分野(得意分野、強み)はこれです!」と自信を持って言えるようになるには、自分が好きなこと、こだわっていることのスキルを伸ばしつつ、かつそのスキルで他人に貢献することが必要なんじゃないか、と感じました。
書籍やネットでインプットしたり、学習用にアプリをつくったりしたとしても、誰かに感謝されたり、反応をもらった経験がないと結局自分のスキルに自信が持てないと思うんですよね。なので、
- (すでにプログラマーとして現場で働いている身なのであれば)まず「現場やチームに貢献すること」を意識する
- つくったアプリを公開して使ってもらう
- ブログやQiitaへ技術記事を投稿する
- スタックオーバーフローで質問の回答をする
といったことから取り組むと良いかもしれません。
まだプログラマーでない人でも、ただインプット勉強するだけでなく、ネットを使って発信することで「他人への貢献+それに対する反応」をもらうことができるので、面接でアピールできる強みの発見・開拓に役立つと思います。
あとがき
ちなみに、僕の「ついこだわってしまうこと」を考えてみたのですが、現時点で思いついたのはこちらの3つ。
- ドキュメントやソースなどの管理や整理すること
- ツールを効率的に使いこなすこと
- 文章を書くこと
う~ん......。なんかどれも「技術スキル」って感じじゃないですね(苦笑)。
伊藤さんのように「テストコード」や「コードレビュー」といった、技術に直接つながる強みを持ちたいところですが、僕が未だそのようなところにこだわりが持てていないのはプログラミングと向き合う時間が少ないからだと思っています。
自分のこだわりに自分で気づいていない可能性も無きにしも非ずなので、一層業務と学習に励みつつ、こだわり、強み、得意分野、専門分野を模索していきます!
合わせて読みたい
冒頭で紹介した「前回書いた記事」です。
『SOFT SKILLS』はソフトウェア開発者、プログラマーとしてのキャリアプランを考えるのに刺激が貰える一冊です。僕が印象に残った章をピックアップしているので、良かったらこちらの記事も読んでみてください。