エラーは食べもの。

田舎でも車なくてもやっていける話とか、プログラミング学習の備忘録とか。エラー解決が楽しい。まだまだエラー食い足りないwまずは書いて、あとから随時手入れをば。

非ITで1か月かかる仕事も、プログラミング学ぶとたった2日で終わる話

非ITの人間でも、プログラミングを学ぶことで毎日の仕事はこれだけ変えられる!

 

IT転職を目標にプログラミング学習中、のじしおと申します。

 

今の仕事は非IT企業の事務職ですが、

先日、そんな他分野の仕事の中でも日々の学習の成果が実感できた出来事がありました。

 

ということで、

エンジニアやプログラマでなくても、

日常生活にプログラミング(や関連の学習)が大いに役立った体験

の記事です。

 

 

概要と現場と作業内容

 どういう出来事なのかというと先日ツイートしたやつで、要約するとこんな話です↓ 

 

 

 職場のPCスキルレベル

 

  • 事務職だがExcelPowerPointなどまったく知らなくても、まぁやっていけるような仕事である(できるに越したことはない)

 

  • それゆえ30人弱いる事務職員の中で、コピペや保存などの超基本的なショートカットですら身についていない人も2~3割はいる

  (いちいち右クリック→コピーを押す、右クリック→貼り付けを押す、、とかやってるらしい;)

 

  • PC操作で「ここどうやるんだろう?」→「ググって調べてみよう」ができる人はおそらく5~6人くらいしか;;

 

 こんな状態です^^;できない人は何年経ってもできないまま。

どちらかというと私はプログラミングを知る前から、

わからないことがあったら調べる→なるほど!→活用できた!→嬉しい^^

という過程が好きな方でした。

そんな自分から見るとよくそれで平気だよなぁ…と不思議に思ってしまう。。

他の一般企業もこんな感じなのかなぁ?…いやいやさすがにもうちょっとマシなのでは?よく知りませんが…

 

無茶ぶりされた作業内容

 

こんな圧倒的スキル不足の集団に、ある業務が投下されました。

 

その内容とは…

  • データ入力作業:元画像データを複写し、それぞれ指定品番にリネームする
  • 計5.5万件、一人あたり2000件
  • 期限は約一か月後(一人あたり毎日100件片づければ終わる計算)
  • もちろん通常業務をこなしながら

 

 これは大変な無茶ぶり(笑)

 まともなショトカすら知らない人たちにとって、これはもう絶望でしかないですよ^^;

しかもこの業務振った部長による作業手順の説明があったわけですが、

その説明すら「データ1個1個を手作業でリネームしていく。慣れれば早いから大丈夫」

なんて有様でした(;'∀')

 

 日々のプログラミング学習の成果が日常にも反映できた瞬間

成果1:最初から作業のゴールを把握し、より早い解決ルートを模索できた

 

上記の無配慮(笑)な説明を受け、まず私が考えたことは、

 

  • 1個1個作業などせずとも、もっと効率のいい方法があるはず!
  •  この作業のゴールは何か?そこに到達するまでのやり方は工夫してみよう!
  • 要はファイルを(1つ1つ異なるが、ある程度規則的な番号に)リネームするのがゴールだ!

ファイルをまとめてリネームする方法、調べれば出てきそうだな。
そこから取り掛かってみるかな!

 

こんな感じです。

 

プログラミング学習を始めてから、分からない知識や単語、予期せぬエラーといった問題解決に当たる機会は日常茶飯事ですし、

解決するにはまずは調べてみる(1つの記事だけではなく他の記事も参考にする)のが当たり前の姿勢になってきます。

 

また、「同じ処理を行うコードでも書き方を変えるとだいぶすっきり書ける」というケースも学習の上でたびたび遭遇します。結果に至る方法はいろいろあるんだということ。

 

 

私の場合もともと分からないことは調べる習慣はありましたが、今回の問題に直面して、

 

★今ある知識ではできなくても、調べれば解決できそうだという見当と確信を持てた→作業のモチベを維持
 
★膨大な作業量を前にしても臆せず、解決に向けて多方面的な捉え方をしてみようという発想からスタートできた
 
★最初からある程度の解決の筋道を立てられた

 これらのことは、プログラミング学習を続ける中で得られた成果だと思います。

  

成果2:DLソフトやコマンドラインの使用に抵抗がなくなり、解決方法の幅が広がった

ファイルの一括リネームに当たりをつけ、楽して解決できる方法を模索。

いくつか記事を見た中で、この辺を参考にさせていただきました。

 little-hands.hatenablog.com

↑この記事は初心者でも分かりやすい^^この記事だけでも行けそうです。

 しかも家では普段Macのターミナル故に、Windowsコマンドプロンプトに馴染みのない自分には助かる♪(会社ではwindows使用)

 

 ファイル名やパス取得には…ほうほう!やはり一括でできるわ~^^

office-qa.com

 変換ソフトもあるんですね。こういうのも今後に応用利きそうです。

hep.eiz.jp

 

 このように、フリーソフトコマンドラインの使用も当たり前と思えるようになったことが2つ目の成果です。

プログラミング学習をする上でターミナルの使用は当たり前だし、新しいツールを取り入れてみるのもよくあること。

 

特にコマンドラインは、普段から触ってない人だったらかなり敷居が高く感じられるのではないでしょうか。

私も、もしプログラミングに出会わなかったら「なんだか黒い画面で専門的なことしてて難しそう」と避けてしまうと思います。

 

 

実際は、記事のようにコマンドラインに頼ることで作業は大幅に楽になる!

 

少しでもこういった知識があれば、問題解決の選択肢は大幅に広がることを実感できました。足りない知識は都度補って、蓄積していけばいい^^♪

  

成果3:「1日100件×1か月」の仕事が2日で片付いた

 ハイ。ということで方法を調べてやってみたところ、2日目にして余裕で自分の担当分を終わらせることができました。もちろん通常業務の合間の作業だけで。

こうやって、

何か問題が起きた時に自分で解決法を調べ

それを直面している案件に応用できて

結果、目的が達成できた瞬間には無上の喜びがあります。

 

これってプログラミングの本質ですよね^^
これが楽しくて今私はプログラミングに取り組んでいます。IT分野とは関係のない仕事へも、日々の学習の成果を示すことができて、「やっぱり毎日勉強していてよかったなぁ」と実感できました!

 

そしてExcelもなかなか侮れないですよ。自分もプログラミングに興味持ったきっかけの一つはExcelの存在もありますから(その話はまたいつか)。

 

 

成果4:アウトプットを意識、リファクタリング(改善)の意欲

 

そんなこんなであっという間に問題解決に至ったので、最後に

 

「この方法を他の人にも伝えられたらいいなぁ」

   ↓

「操作手順やポイント、自分用のメモをもう少し詳しく書いてみよう」

     ↓

「PC操作に慣れない人も多い。そういう人にも分かりやすい方法は?」

 

 というふうに人に教えること(アウトプット)を考えたのと、

そのために詳しく資料を書いたり、自分の行った手順の見直し、そして不慣れな人を考慮した作業手順の吟味(リファクタリング)をしてみようと考えました。

 

 成果2で挙げたように、選択の幅が広い自分向けならばコマンド活用などでもっと手っ取り早い方法を求めるのもアリです。

でも不慣れな人に理解してもらうことを考えると、

  • 効率を考えつつも、普段使ったことのないツールの使用は最小限に抑える
  • その上でどうしても必要な知識や操作には簡潔かつ分かりやすく説明を入れる

 この点を意識して教える必要があるなと思いました。

 

これを踏まえても先ほど紹介した記事コマンドラインの使用も最後に貼り付けして実行するだけだし、基本Excelで編集する方法だから、初心者にも易しいかと思われます。(これをベースにすれば今後も応用も利きますし^^) 

 

改めて思うのは、人に教えるのって難しいですよね。。2000件のデータ作業終わらせるより、その手順の説明資料を作る方が何倍も時間かかる(笑)

 

【追記】

後日、これを職場でプレゼンしました!!!

終始緊張し通しでしたが、職場の方々には「すげー(゚Д゚;;)ー!!」と言ってもらえてよかったです(笑)
たったこれだけの作業でも「もしやパソコンのプロですか…?」と高評価(誤解)を頂きましたので恐縮です(;'∀')

 

 まとめ:やっぱりプログラミングを勉強していてよかった!

何においても言えることですが、積極的に知識を身につけようとしない人の場合、自分が取り得る手段は非常に限られてしまいます。

与えられたものが唯一絶対だと思ってしまうことすらあるでしょう。

もし他の手段を探したいと思っても、今自分の持つ限られた知識の中でしか考えることができません。

 

 

今回の場合でも、件の業務を与えられた現場では

「こんな膨大な作業はとても無理。。。」と不満を口にしながらも

「でも仕事だし毎日コツコツやるしかない…」と

部長の説明通りの、1個1個手作業法で取り組もうとしていました。

 

 

私ももしプログラミング学習をしていなかったら、こんなに早く解決に至ることも、それどころか解決方法を見つけることすらできなかったかもしれません。

  

プログラミングを学ぶことによって普段の業務の大幅な効率化という大きな恩恵をもたらすことができました。

 

業務内容や転職云々に関わらず、どんな仕事をされている方でもプログラミングを学ぶ価値は大いにあると思います。

 

 

 今回のことでまた一つ学習へのモチベが上がりました。自分のスキルはまだまだですが、これからも一つ一つ積み重ね、自分の血肉に変えてゆけたらと思います。

 

ここまで読んでくださり、ありがとうございました。