仕事で必要な技術力を高めるための活動

概要

仕事で必要になってくる技術力は、本を読んだりするだけでは高まらないものです。
どのようなことをすれば 実践的な技術力を高めていけるのかを考えてみました。

仕事で必要な技術力とは

仕事で必要な技術力とは以下のようなものです。

  1. 作るべきモノ(ゴール)から逆算する力
  2. プログラムを読んで理解する力

作るものから逆算する力

仕事では「こういうシステムを作ってください」「こういう機能を追加してください」といった形で依頼されます。
行き当たりばったりでプログラムをすぐに書いてしまうと、うまくいかないことが多いです。
プログラムを書く前に、依頼された「システム」や「機能」から、どのようなプログラムを書く必要があるかを整理する必要があります。
つまり、作るもの(ゴール)から逆算するということです。

システム単位で考えるなら、要件定義や機能一覧を作るところから始まります。
機能単位で考えるなら、クラス設計やDB設計をするところから始まります。

つまり、作るものを決めて、実装する練習をすれば良いわけです。
具体的には、以下のような活動をすると良いでしょう。

  1. 自分が作りたいものを作る
  2. 既存のサービスやソフトウェアのクローンを作る

1.がある場合は問題ないですね。

2.は作るべきものがはっきりしているので取り組みやすいですね。
自分が作りたいものが特にない場合はこの方法をとると良いでしょう。
既存のものを触ってみて、どのような動きをするのかを確認して、同じ動きになるように実装しましょう。

プログラムを読んで理解する力

仕事では、すでにあるシステムの改修をすることが多いです。
改修をするためには、すでにあるプログラムがどのような仕組みになっているか理解する必要があります。
この時に必要になってくるのが「コードを読んで理解する力」です。

すでにあるプログラムをきちんと理解しないと思わぬバグを入れ込んでしまう可能性があります。
また読むためにはちょっとしたコツや慣れが必要だったりします。

この力を高めるために必要なのが以下のような活動です。

普段自分が使っているライブラリやソフトウェアがオープンソースであるなら、そのプログラムを読んでみることです。
コツとしては普段自分が使っている機能やメソッドなどから調べることです。
すでに動作が分かっている状態なので、理解できる可能性が高まります。
ちょっとしたバグを発見できたら、プルリクを送ってみると良いでしょう。

その他に必要な能力

仕事では技術力の他に以下のような能力も必要になりますが、今回は触れていません。