【文系卒SEが考える】 初心者のプログラミング上達法
文系卒でSEになった人。プログラミン未経験でSEになった人。
そんな人たちが、業務を始めて最もつまずくのが
プログラミング
ぼくも文系卒でプログラミングにつまずいた一人でした。
そんな中、プログラミングを進める上でぼくが気をつけていたことを書きたいと思います。
プログラミングをしていて、手が止まった時、まず最初にすべきことが
問題の切り分け
そして、切り分けをする観点は、大きく分けて以下の3つになります。
- 製品に対する知識がない
- プログラム言語に対する知識がない
- 複雑なアルゴリズムがわからない
以下、3つの観点について詳しく説明していきます。
製品に対する知識がない
皆さん、それぞれ担当している製品があると思います。
業務を進めていく中では、
製品特有の知識が必要になります。
そして、
製品に対する知識がないことが原因なのに、
google等で調べて解決しようとするのが、一番時間の無駄です。
例えば、
会計ソフトを担当している人だったら、貸借対照表のヘッダを出力するテーブルは、〇〇テーブルとか、人事システムを担当している人だったら、社員の資格情報を検索するときに実処理を行っているプログラムは〇〇.javaというプログラムだとか。
こういうことは聞かないとわかりません。
あるいは、設計書を全て読むか。。。
知っているか、知らないかの世界なんです。
なので、製品の知識がなくて手が止まっているなあと思ったら、
すぐに先輩に質問しちゃいましょう。
プログラム言語に対する知識がない
googleで検索しましょう。
プログラミングは、机に向かって本を読むだけでは身につきません。
実際に動かしてみて、
トライアンドエラーを繰り返す
そして、トライアンドエラーの数を重ねるために、
プログラムを書いたらすぐにデバッグをする
デバッグをすると、自分の書いたプログラムの動きが分かります。
ひたすら書いて、デバッグして、プログラム修正
を繰り返します。
複雑なアルゴリズムがわからない
この場合、簡単な解決方法はありません。
製品の知識、プログラム言語の知識がいくら身についても、自分で考えて、考えて、考え抜くしかありません。
ゆえに、
最も時間をかけるべき問題です。
この問題に対して、以下に対処するか、それこそが
プログラミングでの腕の見せ所なのです。
まとめ
筆者の経験から、問題の原因は、
6割製品に対する知識がない
3割プログラミグ言語に対する知識がない
1割複雑なアルゴリズムが作れない
ぐらいになると思います。
なので、わからないことがあったら、とりあえず先輩に聞いちゃいましょう。
1時間ほど自分で考えて分からなかったのに、先輩に聞いたら5秒で解決しちゃった、なんてことも実際よくありますw
ぼくも、まだ入社2年目でわからないことだらけです。
皆さんと一緒に、
プログラミング頑張っていけたらと思います。