川崎回遊記(お店レポほか)

2018年末、某大手証券会社を退職。現在は、川崎駅徒歩圏内クーポンアプリ【掘り出せ!黒ダイヤ!】をリリース、運営しています!ここでは、「お店の体験レポート」や「活動の記録」、「仕事と絡めた時事への雑感」などを投稿しています。(いちおう毎日更新、仕事をサボらないように…笑)

プログラマーに向いている人

今日は早めに更新します。

 

以前、本職の方から聞いた「プログラマーに向いてる人」の特徴の話です。

 

何やら【2タイプ】あるらしくって。

 

よく「文系」よりも「理系」の方が向いているって言うんですけど、教えてもらった切り方は「ちょっと違う感じ」でした。

 

プログラマーに向いている人 タイプ【その1】

「理詰めで隙のない、堅牢なプログラムを構築できる」

 

プログラムの肝って「分岐処理」だと思っているんです。

 

例えば、同じ「B画面のボタンを押す」という動作について、

 

「A画面からB画面に遷移した場合は、リンゴ🍎が出てくる」

「C画面からの場合はバナナ🍌」

 

といった感じで処理を分ける時、

 

🍎と🍌のデータを、どの画面に置くか?をよく考えるのが大事。

 

①A画面に🍎(C画面に🍌)のデータを置き、遷移の際にB画面に持ってくる

②🍎も🍌もB画面に置き、遷移元の画面がどこなのか?を区別する

 

①のパターンなら、B画面への入口は1つでOKです。入ってきたデータを、ただ表示するだけ。

 

②のパターンなら、B画面への入口を「A用」と「C用」、2つ用意しなければなりません。

 

①でも②でも、同じ動作を実現できるという点では変わりありませんが、もし画面が100個あって、「来月になったらリンゴ🍎→ミカン🍊へ、バナナ🍌→メロン🍈(以下、同様)に変更します」ってなったら、②の方が簡単に修正できますよね。

 

↑の想定なら、②の方がより堅牢なプログラムと言えます。

 

「後からの変化にも広く対応可能な、整理されたプログラムが書ける」←これが、向いている人【その1】です。

 

プログラマーに向いている人 タイプ【その2】

「閃きがあって、とにかく難しい動作も実現できてしまう」

 

崖を登るとき、整理された階段を築いていくのがタイプ【その1】だとしたら、【その2】は必要な箇所にバシバシ杭を打って、とにかく登ってしまいます。

 

難しい壁も奇抜な発想でよじ登り、必要な「動作」を実現してしまう。

 

ただし、打った杭に規則性がないため、後から登る人が分かりづらかったり、自分でも再現に時間がかかったりします。

 

ちなみに、私はレベルの低い【その2】タイプ…。(多分、一番ダメなやつ😭)

 

最低限の構造整理はやっているつもりなんですが、綺麗に整理された「階段」ではないので、修正とか方向転換をするときに苦労しますし、よく後から変なエラーが出たりします。(で、そのエラーも変に乗り切ると、プログラムはますます複雑で理解し難いものになっていきます…)

 

あ、あとタイプに関わらず↓の問題を考えるのが好きな人は、プログラマーに向いていると思います!

gaishishukatsu.com

 

アプリ制作の進捗ですが、目先の崖はすでに頂上が見えています。にも関わらず、数日間ずっと登りあぐねている感じ😅

 

後から修正対応に追われないよう、嫌いなテスト作業を繰り返しています。

 

今日にでも登り切りたい!…頑張ります。