プログラミングよりアルゴリズム!
私は某IT企業のSEです。
最近の弊社の新人を見てて思う事はプログラミングが弱い事。
ループの中で変数をカウントアップさせて・・・みたいな事をなかなか理解してくれない。イメージができていない。だが、よくよく観察すると、プログラミングというより、アルゴリズムが弱い事が分かった。
要件定義書に記載レベルの事(例:この画面のこのボタンを押せば、この項目とこの項目の値が足される・・等)をロジックに落とせないのだ。
ここでいうロジックというのは条件分岐、繰り返し、論理演算レベルに落とすこと。
プログラムというのは条件分岐、繰り返し、論理演算の集合体である。どの言語であろうと。あとはいかに保守性、可読性を考慮して、クラス構成、メソッド構成を考えるかである。
だが、このプログラミング以前にロジックを頭の中で描くことができないようである。フローチャートが想像できないらしい。
そこで、新人研修は何したの?と聞くと、要件定義の練習をしました。
プログラミングはプリントに記載されてあるソースコードを写して、実行しただけとのこと。ぶっちゃけ、プログラミングでなく、タイピング!っと新人君は言ってくれました。
マジか!っと思った。
うちの会社は新人研修は3カ月ある。(業界の中でいえば長い?)
その中で私が新人だった時はプログラミング研修(結構、為になった)がメインだったのだが、アレもコレもやらなきゃのいけないらしく、プログラミング研修の時間が短くなったそう。
まぁ、もっと上流工程できるようにしましょう!、ITコンサルできるようにしましょう!のお上の声があるそうだが。。
要件定義こそ、現場配属後でいいじゃんと思う!
プログラミングできなくて、要件定義なんかできるんかい!
プログラミングの習得は時間がかかる。自分で数Kstep、トライ&エラーでコーディングして、やっと習得できる。完成した時の充実感!
時間が取れるのは新人研修の時なのに・・・なんで色気づいて、上流工程やらせるの、、おかげで弊社の若手のCDスキルは本当に低い。。
DXとかいう前に・・・足元がゆるゆるな気が・・。
最近はPythonも学ぼうの流れになり、結局、JavaでもPythonでも大したロジックのないソースを書くだけ。結局、アルゴリズムは弱いまま・・。
大事なことは言語でなく、アルゴリズム!
なので、最近は自分の現場に配属された新人にはおつりを計算するJavaロジックをまず組ませる。1454と入力すると千円札1枚、100円玉4枚・・とコンソールに出力させるだけ。それでも彼らには刺激的らしく、楽しんでやってくれました。。
今回、コロナで自宅待機になった若手にはゲームを作らせました。
個人的にはプログラミング学習はゲーム作りが一番、効率が良いと思う。
プログラミングをする際に何を作るか迷ったら、ゲームである。
仕様が確定しているもの、有名なもの(オセロ、将棋、テトリス等)を自分でプログラミングして作るのが一番である。
結論ですが、プログラミングより、アルゴリズムが大事!言語はなんでもよい。Java、Python・・etc
IT企業の研修ご担当者様!
新人にはとにかくプログラミングをたくさんやらせてください。
IT業界の若手の方は決して、プログラミング苦手のまま中年にならないように!
ネタに困ったらゲームを自作しましょう。プログラミングができれば、要件定義もできる!テストもできる!転職もできる!給料も上がる!
この記事が気に入ったらサポートをしてみませんか?