プログラマーに向いている人
今日は早めに更新します。
以前、本職の方から聞いた「プログラマーに向いてる人」の特徴の話です。
何やら【2タイプ】あるらしくって。
よく「文系」よりも「理系」の方が向いているって言うんですけど、教えてもらった切り方は「ちょっと違う感じ」でした。
…
プログラマーに向いている人 タイプ【その1】
「理詰めで隙のない、堅牢なプログラムを構築できる」
プログラムの肝って「分岐処理」だと思っているんです。
例えば、同じ「B画面のボタンを押す」という動作について、
「A画面からB画面に遷移した場合は、リンゴ🍎が出てくる」
「C画面からの場合はバナナ🍌」
といった感じで処理を分ける時、
🍎と🍌のデータを、どの画面に置くか?をよく考えるのが大事。
①A画面に🍎(C画面に🍌)のデータを置き、遷移の際にB画面に持ってくる
②🍎も🍌もB画面に置き、遷移元の画面がどこなのか?を区別する
①のパターンなら、B画面への入口は1つでOKです。入ってきたデータを、ただ表示するだけ。
②のパターンなら、B画面への入口を「A用」と「C用」、2つ用意しなければなりません。
①でも②でも、同じ動作を実現できるという点では変わりありませんが、もし画面が100個あって、「来月になったらリンゴ🍎→ミカン🍊へ、バナナ🍌→メロン🍈(以下、同様)に変更します」ってなったら、②の方が簡単に修正できますよね。
↑の想定なら、②の方がより堅牢なプログラムと言えます。
「後からの変化にも広く対応可能な、整理されたプログラムが書ける」←これが、向いている人【その1】です。
…
プログラマーに向いている人 タイプ【その2】
「閃きがあって、とにかく難しい動作も実現できてしまう」
崖を登るとき、整理された階段を築いていくのがタイプ【その1】だとしたら、【その2】は必要な箇所にバシバシ杭を打って、とにかく登ってしまいます。
難しい壁も奇抜な発想でよじ登り、必要な「動作」を実現してしまう。
ただし、打った杭に規則性がないため、後から登る人が分かりづらかったり、自分でも再現に時間がかかったりします。
ちなみに、私はレベルの低い【その2】タイプ…。(多分、一番ダメなやつ😭)
最低限の構造整理はやっているつもりなんですが、綺麗に整理された「階段」ではないので、修正とか方向転換をするときに苦労しますし、よく後から変なエラーが出たりします。(で、そのエラーも変に乗り切ると、プログラムはますます複雑で理解し難いものになっていきます…)
あ、あとタイプに関わらず↓の問題を考えるのが好きな人は、プログラマーに向いていると思います!
…
アプリ制作の進捗ですが、目先の崖はすでに頂上が見えています。にも関わらず、数日間ずっと登りあぐねている感じ😅
後から修正対応に追われないよう、嫌いなテスト作業を繰り返しています。
今日にでも登り切りたい!…頑張ります。