興味関心から始めた技術
私は、興味があるという理由でプログラミングを始めました。最初に作った物はGASで記述したウェブサイトの情報をスプレッドシートに記録するスクレイピングプログラムでした。プログラムの文法や用語はブラウザで行う「プログラミング練習サイト」で練習したこともあったのですが、実際に何か一連の流れで動くプログラムを作ることが最優先だと考えなるべく低負担で完成させられるよう、環境構築が不要のGASを選択しました。
いざ始めるとなっても、私は今までソフトウェアをユーザーとして使ってきただけなのでそれを開発する側の知識はゼロに近く、当初様々な壁にぶつかりました。しかし最初は難しいと覚悟を決めていたので、図書館で借りた書籍を読み漁り、見よう見まねで完成させました。初めてプログラムが思い通りの結果に反映された時の感動を覚えています。
完成したら完成したで他の様々なツールを使ってみたくなり、次はローカル開発環境の構築にチャレンジしました。環境はOSはWindows、パッケージはXAMPP、エディターVSCodeを使い、失敗したら再インストールし直す覚悟でトライアンドエラーを繰り返しました。とにかく低負担で小さい成功を積み重ねることで精神衛生上良いと考えなるべく広く浅く達成することを心がけました。コマンドラインによる操作、ツールはApacheのバーチャルホスト設定、MariaDB(MySQL)のコマンドライン操作、クラウドサーバですがAWSのEC2設定、AmazonLinux2操作、VSCodeのssh設定等。
言語はPHP(PDOデータベース接続)、HTML、CSS、Python( Scrapy, Django, Numpy, Pandas)、Javaを少し。 スクレイピング(BeautifulSoup, Scrapy, )やLineAPIを使ったプログラムも作成しました。
私は理工系の出身ではありませんが、このように試行錯誤しながら勉強していく中でITの自由度やインフラとしての確かさに改めて気付かされました。今では、ITは、世界の政治・経済を構成する様々な場所で扱う情報の精度と速度を加速させる革命的な技術であると認識しています。
人の需要に応えるための技術レベル
この流行が激しく比較的新しい分野をモチベーションを維持・拡大していきながら継続的に学習するためには、前述のような技術の可能性の広さを知りながら興味関心を中心に自分が扱うことのできる技術が増えていく体験が重要だと思います。 一方で、興味や関心といった感情のみで培った技術を人の需要に応えるレベルまで昇華させるとなると話は変わってきます。そのためには相手の需要を満たす手段を得る必要があり、それが必ず興味のあることだとは限りません。そもそも興味関心とは、無知の知と自分の実績から更に達成できそうな期待が重なった限られた範囲で起こる一時的で不安定な感情であると考えてます。
この定義が正しいとすると、人の需要に応えるという目標を達成するには自分の興味関心を判断基準にして手段を習得していくだけでは足らず、人の需要を満たすための手段を逆算して出し、段階的に習得していくことが両者満足の最適な解決策だと考えました。