水色競プロerの妄想(RPAに必要なプログラミングスキル)
妄想の前にsyunsukeのプロフィール
・AtCoderレート1300強(2020年1月末時点)の水色コーダー
・40代の子持ちサラリーマンでプログラマーではありません。
(プログラマーとしての経験もなく、コードを書いて収入を得たこともありません)
・勤務時間はデスクワーク半分、(ラボで手を動かす+営業活動)でもう半分くらいの配分です。
・最近RPAが気になるお年頃
以上の前提で読んでいただければ幸いです。
少し前からRPAがえらく流行っているようですので、私も触ってみました。
流行りもののRPAに手を出してみたのですが、RPAツールはスクラッチの様に直感的な操作で簡単に動くものが作れますね。ExcelのVBAで自動化ツールを作ったことはありますが、他の人にはメンテ不能なものになってしまい、結局私専用ツールとなった過去を持つものとしては感涙ものです。これなら他の人でもメンテできそうです。さすが流行っているだけのことはあります。
これは爆発的に広まるに違いない!世界が大きく変わる!
と思ったのですが、そうでもないようです。
私が感動したRPAツールですが、周囲の評判は良くありません。聞くと、ループの中にループが入ると混乱するそうです。
よくあるRPAの使い道で、「Excelのセルに入力された内容をWebアプリに転記する」と言うものがありますが、これはループを回さないといけません。1行目・・H行目までループを回して1重ループ。さらにそれが数列に渡っていれば2重ループ。加えてExcelブックが複数あればその数だけ回して3重ループ。
これでわからなくなってしまうそうです。
確かに、競プロを始めた頃は、縦横の2重ループを回していると混乱していた気がします。
さすがに、他重ループを使わなかったらRPAもあまり良いものではなさそうです。
残念ですが、RPAは断念しましょう・・
なわけないでしょう。
勉強しましょう。
2世代前はメールでやりとりしてWordで文書を書いてExcelで計算できるスキルを持つ人は少なかったはずですが、だんだん増えて、今はできて当然。ここに簡単なプログラミングスキルが加わり、これからだんだん増えるのではないでしょうか。また、ここで言うプログラミングスキルとは
・if文で条件分岐させる
・for かwhileのどちらかでループを回す
・2,3重ループを感覚的に理解する
・intとstrの型を理解する
・リスト(2次元まで)を扱えるようになる
をイメージしています。
1年前のAtCoderなら茶色(レート400以上)くらいでしょうか、今はこのあたりのレベルが上がりすぎて良くわかりませんが。
プログラマーでない人にこのレベルのスキルがあれば、RPAは便利なツールになるでしょう。今であれば、30人くらいまでの組織に1人確保し、有効に活用できれば重宝するのではないでしょうか。
また、文字列操作やその他ある程度複雑な処理も期待できる緑(レート800以上)相当であれば、200人を超える大きさの組織なら、1人置いておきたいところですね。
そこで、どうやって簡単なプログラミングスキルを持つ人材を育成するかと言えば、やっぱり競プロでしょう。で、何をするかと言えば、AtCoderやyukicoder等にアクセスさせるだけ。適性のある人は勝手に力を付けていくでしょう。その中から何人かは茶色コーダーになり、さらにその中の何人かは緑コーダーになり、そんな人が増えれば、世の中の様子も変わっていく気がします。
以上水色競プロerの妄想でした。