脱公務員からのデータサイエンティストの道

公務員、データサイエンス、勉強、書籍等についてのブログ

AtCoder Beginner Contest 220

はい、モチロウです・・・・。

 

今回もAtCoderの定期コンテストに参加したわけですが、花粉症との戦いでもありコードを書きながら目薬を差さなければならないというコンディションでした・・・。

 

もう、最悪ですよね、花粉。

 

しかし、若いころと比べて症状が落ち着いてきたのですが、これって免疫力の低下らしいのでうれしい反面悲しいわけですよ・・・。

 

ということで今回とうとう念願のC問題を突破できたわけです!!!!

ACが出た瞬間マジで超うれしかったわけですよ!!!!!

 

一方でA問題がいつも以上に難敵だったわけですが・・・。

 

ではさっそく振り返ってみましょう!!!

と思ったのですが、なかなか説明しにくい問題なので、申し訳ないのですが今回はコードのみを記載します・・・。

 

A問題

N = list(map(int, input().split()))
t = N[0] // N[2]
if N[0] % N[2] == 0:
    print(N[0])
elif N[2] * (t + 1) <= N[1]:
    print(N[2] * (t + 1))
else:
    print(-1)

 

B問題

N = int(input())

num = list(map(str, input().split()))

A = int(num[0], N)
B = int(num[1], N)

print(A * B)

 

C問題

N = int(input())

A = list(map(int, input().split()))
B = int(input())

total = sum(A)
t = B // total
count = len(A) * t
diff = B - total * t

total_2 = 0
count_2 = 0
for i in range(len(A)):
    if diff >= total_2:
        total_2 = total_2 + A[i]
        count_2 += 1
    if diff < total_2:
        break
print(count + count_2)

 

B問題についてはpythonの基本機能に助けられた感が否めないです。

だけど、前回の反省点である使える機能は使っていくことを実践できたのでOKなのです。

 

明日は月曜なので、今日はこの辺でお開き!!!

未経験プログラマーの勉強方法について

どうも、モチロウです。

 

ゆるくブログを続けていこうとすると気持ちが楽な反面、超不定期になってしまいますね。

 

書きたいことはボチボチあるのですが、生来のサボり癖が自分をブログから遠ざけてしまっているのです(いいから書けよ)

 

ということで、今回は未経験プログラマーであった私が転職をしてどのように勉強をしていたのか(するべきだったのか)お伝えしようと思います。

 

これからIT業界に転職を考えている未経験な人にとっては結構厳しい内容になるかもしれません。

 

しかし一個人の経験談に過ぎないので、あくまで参考程度にとどめて読んでいただけると幸いです。

 

さて、いきなり結論を言ってしまうと、IT業界未経験の人が独学をしつづけることはとても非効率です。

 

さらに独学で身に着けたスキルだけでいきなり転職をするというのは非常に難しいと思います。

 

理由は簡単で、独学で学べる範囲だけでプログラマーは務まらないからです。

 

私もプログラム学びたての頃は

「データ解析系の仕事に就きたいから、pythonやっておけばいいんだよな」

なんて簡単なことを思っていました。

 

それから書籍を買ってUdemyで動画を購入し黙々とインプットをメインに勉強をしていました。(ここ、テストに出るので覚えておくこと!)

 

しかし実際の業務ではpythonのみにとどまらずsqlもめちゃくちゃ書いています。

またAmazon Web Service(AWS)も思いっきり触っています。

 

そのほかにも通信がどのように行われてのか、データベース関連、インフラ周りの知識も必要になってきています。

 

私の場合はデータサイエンティストなので数学、統計学機械学習などの知識習得も並行しなければなりません。

 

しかしデータ解析や機械学習で得られたアウトプットはあくまでも業務遂行のための道具に過ぎず、これらの結果があって初めてマーケティングや品質管理などといった分野に活かされていきます。

 

つまり各業界の専門知識が必要になって来るわけですね。

 

これらを全てがあって初めて正しい方向へと仕事を進めることができ、そこがゴールラインとなります。

 

と、私の場合で話を進めてしまいましたが、要は

「独学では実務で使われる本当の学習範囲が分かりづらい」

ということです。

 

今後は必要に応じてフロントエンドやアプリ開発系の知識も必要になってくるのでしょう・・・。

 

 

 

はい。ここで一息つきます・・・・・。

 

 

 

 

学ぶこと多過ぎっっっっっっっっっ!!!!!!!!

 

 

 

 

未経験だから仕方ないのですが、それにしても

 

 

 

 

学ぶこと多過ぎっっっっっっっっっ!!!!!!!!

 

 

 

 

まぁ、落ち着いていこうや。

人間誰しも未経験からのスタートなんだ。

そして今活躍しているあの人も最初は私と同じ思いだったはず

 

 

 

 

学ぶこと多過ぎっっっっっっっっっ!!!!!!!! と。

 

 

 

 

はい。一息つけましたね。

 

ここから話を戻します。

 

つまり、

「十分な知識をつけてから転職活動に臨もう」

という考えは効率が悪いのです。

 

だから私は

「いますぐ縁のある人にお願いして会社に入れてもらうこと」

が大事だと思います。

 

先ほど

『そこから、書籍を買ってUdemyで動画を購入し黙々とインプットをメインに勉強をしていました。』

と述べましたが、スキルを身に付けるためにはアウトプットも非常に大事です。

 

ただし、多くの教材で学べるアウトプットは写経に過ぎないと感じます。

(実際にそうでない教材もありますが)

 

一方、実務では常に自分で考えてアウトプットをしなければなりません。

 

ここが独学との差だと思います。

 

実務ではわからないことをインプットし、それをすぐにアウトプットできる環境にあります。

 

アウトプットがどのくらい大切なのかわかる記事を掲載します。

下記記事のメリット⑤以外がアウトプットの重要な点だと思います。

www.mottainaihonpo.com

 

実務はインプットとアウトプットのバランスが取れている。

だからこそ今すぐインターンでもいいから会社に入ってスキルを身に付けた方がいいわけです。

 

 

と、ここまで

「四の五の言わず早く実務につけ!!!!」

とまくし立ててきましたが、ふと我に帰ってみたんですよ。

 

「どの目線で能書きたれているんだよ」と。

 

「おいおい、実務するにしてもそれを遂行する基礎知識なければどうにもならんやん」

と多くの読者から突っ込んでいることでしょう。

 

私もそう思います。

 

次に、私が公務員時代にどのように勉強していたかを簡単に紹介したいと思います。

 

まずは使ったサービスや書籍を下記にまとめておきます。

言い忘れていましたが、学んでいた言語はpythonになります。

 

 

Udemy

www.udemy.com

www.udemy.com

 

yukicoder(競技用プログラミング)

yukicoder.me

 

書籍

 

その他:Djangogirl(pythonを利用して実際にアプリを作る練習サイト)

tutorial.djangogirls.org

 

 

(実はこれよりも倍のものを購入していたのですが、買ったままになっているのは内緒です・・・)

 

 

Udemyと書籍はインプットがメイン、yukicoderとDjangogirlはアウトプットメインという目的で、平日夜は1時間から2時間、土日はどちらも5時間程度勉強していました。

 

Udemyは時々 90%OFF!!  といったセールを行なっていますので、そういったときに気になる動画を購入するのがベストです。感覚として大型連休や夏休みの頃に開催されているかなぁと思いますね。

そのせいで、見ていない動画が増えてしまったのですが・・・・。

 

Udemyは動画内で質問があればコメントすることができ、それに対して講師の方が回答してくれるのでつまづくこともあまりないのかなという印象です。

また他の視聴者の方の質疑応答も見れます。

 

基本的には上記にあげた教材を「深く」理解することができれば基礎知識の部分は十分だと思います。

 

またYoutubeでも多くの人が分かりやすい解説動画を出してくれていますので、そちらも参考にしたりしていました。

 

Youtuberの中にはslackといったサービスを利用してコミュニティを作り、そこで切磋琢磨している人達もいますので、独学しんどい人はコミュニティに入って勉強過程を報告するといった手段もいいと思います。

 

yukicoderに関してはアルゴリズム(問題が提示されており、それをプログラミングで解いていく)を考えるので学んだ言語のアウトプットとしては非常に有益だと思います。

 

競技用プログラミングで定期的にコンテストを行なっているAtCoderというサービスも自分のランクを知ることができるので学習するモチベーションに繋がると思います。

atcoder.jp

 

ちなみに私はペーペーを表す「灰色」です・・・。

 

競技用プログラミングは使用言語(私の場合はpython)を実際に使うこと以外に、他の人の回答方法(コード)を見ることができます。

 

これが非常に重要で、1つの問題に対して様々なアプローチを学ぶことが出来るのです。

これによって、新しい知識を身に付けていく事ができるわけですね。

 

 

といった感じで、公務員時代は黙々と勉強をしておりました。

 

今回の記事の内容はあくまで私の体験談になるので、多くの人に当てはまるわけではありません。

しかし、少なからずとも極小少数の人にはビビッとくるものがあるかもしれません。

 

この記事を参考にいますぐ行動に移してもらえれば、この記事を書いた甲斐があるなぁと思います。

 

最後に、一番大切なのは「継続すること」

 

新しいことに挑戦するのは骨が折れますが、一日1分でもいいから学ぶことから離れないことを意識していただければなと思います。

 

 

 

AtCoder Beginner Contest 219

さて、今回も始まりました、AtCoderの振り返りタイム!!

 

司会は空前絶後の最強と最弱を兼ね備えたド平凡エンジニア、大地に愛され空を愛でる心を内に秘める男、モチロウだぁぁぁ!!!

 

というわけで定例AtCoderコンテストの振り返りをしていきましょう!!

 

今回はなんと、C問題が・・・・・・・

 

 

 

 

 

 

解けませんでしたぁぁぁぁぁ!!!

 

色々頭の中で

「これいけるかな?」

なんて思索しているうちに時間切れ。

 

ここに関しては記事の最後に反省点を述べます。

 

それではさっそく行ってみましょう。

今回もpythonさんにお世話になりました。

 

 

A問題

X = int(input())

if 0 <= X < 40:
    print(40-X)
elif 40 <= X < 70:
    print(70-X)
elif 70 <= X < 90:
    print(90-X)
elif 90 <= X:
    print('expert')

 

問題がいやらしい。スコアによって「初級」「中級」「上級」「エキスパート」に分かれるみたいな導入文だったからササっと済ませようとしたら、なんと実はその1ランク上の級に行くためにあと何点必要かという問題。

さらに「エキスパート」の出力は英語でないとダメ。

はい、案の定ここで引っ掛かり1回目はWA出してしまいました笑

 

あわてるなとあれほど自分に言い聞かせていたのに・・・

 

B問題

s1 = input()
s2 = input()
s3 = input()
T = input()
S = {1:s1, 2:s2, 3:s3}

moji = []
for i in range(len(T)):
    x = S[int(T[i])]
    moji.append(x)
print(''.join(moji))

 

こっちは少し悩んでからのスピード回答ができました。

今回も辞書型にはお世話になりました。ポイントは入力文字列をバリューにした辞書を作り、それを入力値Tをキーにして呼び出し、リストに格納後joinして出力。

B問題までは辞書をどうやって使うかに気付けると解ける問題が多いのかなと思う今日この頃。

 

C問題も辞書使ってあれやこれやすればよいのかなと思ったのですが、結局for分2回回すことになるかな?とか処理時間のことも考えた結果堂々巡りで終わってしまいました。

 

ここで反省点なのですが、自分はこれまでの過去問の回答を色々見ていてpythonのライブラリを使っているとメモリの使用率が多くなる傾向があるのではという印象を持っていました。

 

だから、なるべくライブラリを使わないようにしていたのですが、今回のC問題はライブラリを使ったら簡単に解けたかもしれないと今になって思っている次第です。

 

そして、pythonの参考書に書かれている「パイソニスタ」という言葉。

定義はまちまちだけど要はpython使って効率よく考えていきましょうみたいなもんだと勝手に思っています。

 

そして、私はそれに抗っていた・・・。

 

ただし、確かに便利なpythonのライブラリではありますが、頼りっぱなしだと自力でコード書けなくなるような不安感もあり、一概に良しとも言えないもどかしさも感じております。

 

ということで、次回からは時と場合に応じてpythonのライブラリも適度に使っていこうかなと思います。

 

(そうなると、ライブラリの知識も深めていかなければならないわけですが・・・。)

 

ということで、今回はこのあたりでお開きです。

物欲の変化

どうも、毎度おなじみのモチロウです。

 

最近やけに眠気が増してきており、さらに言うならば夢の濃度も濃くなってきております。

 

春眠暁を覚えずといいますが、季節感が似ている秋も同じですな。

 

この眠気と夢の濃さは、少し前から行っている5分間の瞑想が関係あるのかなと思っちゃったりしています。

瞑想についてはどっかのタイミングで記事にしようかなー。

 

さて、話は大きく変わって「物欲」へと移ります。

 

食欲、性欲、睡眠欲、心の隙間を埋めてくれるのは物欲。

なんて、適当な言葉を今勝手に思いついてしまいました。

 

しかし、実際に物で心の隙間を埋めている人はいますよね。

 

買っても意味がないのに衝動的に買ってしまい、結果身の回りがゴミと化す。

それを活かすことも無く、モノだけが溢れていくのはちょいとヒドす。

 

私も昔は物欲にまみれていた時期がありました。

特に高校生から大学生にかけては服に結構な金額をかけており、バイト代の多くを服へ回していたものです。

 

ファッション雑誌を買っては、気になるブランドの最新アイテムを見て、ネットで購入(田舎であったためセレクトショップやそのブランド店がなかった・・・。)

 

かっこいい服に身を包まれることは自身へとつながり、私生活にも張りが出ていたような気がしていたのかもしれません。

 

だけど、実際にはそれは張りぼてであって、いくら服にお金をかけても時間が経つと少しずつ感覚が落ちていくんですよね。

 

幸いなことに私の物欲という化け物は服で留まってくれたおかげで大きな失敗をしないで済んだわけです。

 

さて、そんな私のちいさな怪物(物欲)なのですが、ここ最近はめっきりその脅威を見せなくなってしまいました。

 

社会人になってお給料をもらいたての頃は、好きなものをたくさん買っていた記憶があるのですが、次第にそういうこともしなくなり、最近はファストファッションの代表であるユニクロや無印のシンプルな服で済ますようになってしまいました。

ユニクロや無印がダサいと言っているわけではないです。)

 

特に公務員からプログラマーになってからの物欲の変化が非常に大きいかなと感じています。

 

これについて、欲のベクトルが変化した、もしくはより根源的な欲へと変化(昇華?)したのが原因なのかなと考えています。

 

簡単に服に対する物欲で説明しますと

 

「いい服着てプライベート楽しむっぞー!!」

 

→「Tシャツかっこいいけど、海外の人みたいにシンプルに着たいぜ!」

 

→「ってか、海外の人ガタイよくね?」

 

→「Simple is Best になるためにはガタイ良くせにゃ」

 

→「筋トレしよ!」

 

→「少しずつ胸板あつくなってきたやで~」

 

→「Tシャツもシンプルにきれるんやで~」

 

→「あれ? シンプルでかっこいいなら服に金かけなくてもよくね?」

 

→「あぁ、筋トレこそが至高のファッションだったんや!」

 

→「筋トレさいこー!!!」

 

はい、簡単に言うとこんな感じで物欲が変化していきました。

 

次にプログラマーになってからの物欲の変化(少し物欲とはかけ離れているかもしれませんが・・・)

 

「せっかく東京来たんだからうまいもん食いたのぉ」

 

→「やばい、業務がまったく手に負えん。時間が足りん。勉強せんと!」

 

→「食べるものとか考えている暇ないんじゃぁ」

 

→「仕事の分野で知らないことをもっと知りたいぜ!」

 

→「平日だけは食べるものを固定化して、余計な脳のメモリを使わないようにしよ」

 

というわけで、完全栄養食のBaseFoodというパンとバナナ、ミックスナッツで基本的に生活しています。

まぁ、休日は気晴らしに外食を結構しているのですが・・・。

かつての公務員時代は時間と少しお金に余裕があったからこそ、食べるものについて色々と厳しかったような気がしています。

 

「毎日同じもの食べていられるかよ」みたいなね。

 

その他にもマンガをほとんど買わなくなりました。

基本的に月に一度ネカフェで一気読みして終わりです。

かつては1500冊以上のマンガを抱えていた時期もあったのですが、ほとんど売ってしまいました。

島耕作シリーズを古本屋でまとめ買いしたのはいい思い出です。

島耕作の女運うらやまし)

 

ここまで記事を書き進めてきて何を言いたいのか。

 

 

 

 

 

 

私もよくわかっていません笑

 

というのは冗談で、物欲(一部物欲ではありませんでしたが)を異なる欲求へと移す、もしくはより細かい欲求へと分解していくことで物欲を小さくしていくことができるのではないかということです。

 

服にお金を掛けていたのも無意識のうちに自信を持ちたかったのでしょうが、それを体を鍛える欲求で代替しました。

 

食べ物についても(この場合は必要に迫られてですが)知識の習得の欲へ。

 

マンガの購入についても内容を読めるだけで十分という認識へ粒度を細かく。

 

こういう感じで不必要な物欲をどんどん小さくできていったのかなと思っています。

 

もちろん一個人の経験なので何とも言えませんが・・・。

 

今回の内容については、どこかのタイミングで考えを深めて改めて記事にしたいと思いますが、1つだけ言えることは、物欲が小さくなったからこそ、たまにの贅沢で今まで以上の幸せを感じられるようになっているということです。

 

うーん、いいこと言った感があるが、内容がまとまっていないため、もう寝ます!

 

また次回

AtCoder Beginner Contest 218

どうも、モチロウです。

 

今週も例によってAtCoderのBeginerContestに参加しました(パチパチ)

 

今回も「乗り越えろレベルC」を目標に臨んだわけですが、Cの壁はまだまだ高く、昇っている最中に握力がなくなってあえなく撃沈しました・・・。

 

そしてなんとA問題もちょっとしたうっかりから一発目WAを出してしまうという、おてんばぶりを見事に発揮!!

 

もうちょっと落ち着けよと自分に言い聞かせるものの明日には忘れてしまうのであろう・・・

 

ということで、さっそく振り返ってみましょう。

使用言語はペェソン(python

 

A問題

N = int(input())
S = input()

if S[N-1] == 'o':
    print('Yes')
else:
    print('No')

 

この問題は入力値N番目に対応するSが○か×かで分ける条件分岐を書くのみ。

ただ、Sのインデックスはずれるのでそれをー1で調整することに注意。

そして、一発目のWAの原因は何だったのかというと・・・・・

出力の「Yes」を「Yse」にしていたのでした。

強いて読むなら「ワイズ」になるのだろうか。

 

 

B問題

P = list(map(int, input().split()))

alpha = 'abcdefghijklmnopqrstuvwxyz'

dic = {}
for i in range(26):
    dic[i+1] = alpha[i]

li = []
for i in P:
    mozi = dic[i]
    li.append(mozi)
print(''.join(li))

 

ちょっと頭をひねったけど、少し考えるとこれもすんなり解けましたね。

まずは入力Pの整数順がアルファベットの順番に対応するようにすること。

なので、一番初めに1から26の順番に対応するアルファベットを辞書型で準備してあげて、入力Pの整数順にキーを指定しバリューを呼び出し、準備した空リストに追加していく。

出力時はまとめる必要があるので、リストから文字列に変換するjoinメソッドを使用して終了。

 

うん、相変わらずの説明力不足を感じています。

 

さて、解けなかったレベルC、かなC、うらめC

解説は明日ゆっくり見るとして、何をやっていたかというと、pythonのライブラリであるnumpyを使って、条件分岐でFalseの時np.rot90メソッドを用いてグルグル回し、再度条件分岐にぶつけるということをやっていました。

 

「これでいけっぞ~」なんて思っていたわけですが、回転ができても平行移動の方法がわからなかった(個人的には要素の「#」の並びが一致するようにすればよいのかなと思っていた)ところで試合終了。

 

今回は、前回の途中でシャワーを浴びて惜しくも時間切れになってしまった反省点を踏まえて、途中退席をしなかったにも関わらず、惜しいところまでも行けなかったので、明らかに実力不足でした。

 

それでも普段使っていないnumpyとその一部メソッドの使い方を知ることができたので良かったとしましょう。(相変わらず自分へは甘い)

 

毎度振り返っているわけですが、そのたびに本業以外にアルゴリズムももっと勉強しないといかんですなぁ、としみじみ思っています。いや、マジで。

 

あと、公務員のこととか、転職のこともぼちぼち記事にしていきたいなぁ。

 

そして、眠いんだなぁ。

 

ということで、お疲れさまでした!

 

 

 

AtCoder Beginner Contest 217

こんにちわ、モチロウです。

 

今日はAtCoderの定例コンテストでした。

 

先週はレベルBまでしか解けなかったので、今回はレベルCを何とかしてやりたいと気持ちを引き締めていたのですが・・・

 

結果は非常に悔しいもので、本当に後10秒あればCを撃破できるところまで攻めていました。

あと残り5秒の時、極度の焦りから失禁しそうになってました、マジで。

 

ということで自分のコードの振り返りを簡単にしてみようと思います。

 

使用言語は問答無用でPythonです。

 

 

A問題

N = list(map(str, input().split()))

N_s = sorted(N)

if N[0] == N_s[0]:
    print('Yes')
else:
    print('No')

 

最初問題文を読んでいてい

「あれ? ちょっとムズイパターンっすか?」

と思ったけど落ち着いたらそんなことはなかった感じでした。

元の入力をソートしてあげると辞書順になるので、それがソート前後で一致するかどうかを見るとOKなやーつ

 

 

 

続いてB問題

S1 = input()
S2 = input()
S3 = input()

S = [S1, S2, S3]
target = {'ABC', 'ARC', 'AGC', 'AHC'}
print(list*1

P = list(map(int, input().split()))
P = [i-1 for i in P]
dic = {}
for i in range(len(P)):
    dic[P[i]] = i
dic =sorted(dic.items(), key=lambda x:x[0])

ans = []

for i in range(len(dic)):
    q = dic[i][1]
    q = q + 1
    ans.append(str(q))
print(' '.join(ans))

 

もうね、これ、正直解けていました。

何なら考えが8割固まった時点で気分転換にシャワーを浴びていました。

いや、その時は考えをすっきりさせようとしていたわけだから、シャワーを浴びたことで解けそうになったんだ!!

 

と自分に言い聞かせてみますが、本当は自分を殴りたいです。

 

さて、文字に起こすのは難しいですが、備忘録として淡々と走り書きします。

 

全体像はPの添え字部分iがQの値になり、Pの値がQの添え字部分iに来る。

これを踏まえて入力値Pをリストにしてfor分でまわし、辞書Qを作る。

できた辞書Qのkeyを昇順ソートし、最後にvalueを取ってくるというわけですね。

 

ただし、添え字iはforで回すときインデックスがずれるので、ー1で一度調整します。

このー1が作成される辞書Qのkeyとvalueにも反映されてしまうのですが、最後にvalueだけに+1をして元に戻しています。

 

はい、自分で書いていて思ったのですが、これは伝わらないですね笑

 

ここまできて一回提出したのですが、最後のprintのところでリスト型のまま出力していることになっており、一度エラー。

 

あ、joinで直さにゃならんやん!!

急げ!!!

 

ってあたふたしていたところでタイムアウト

 

その後、すぐに提出してみたらACの緑文字が見事に出現。

 

ここまで悔しいのは競技プログラミング以外でも最近はそうそう経験していませんでした。

 

ということで、今回はこんな感じですね。

数学的な要素をあまり感じることがなく、パズル的な要素が強い回であったからこそ、Cは何としても取りたかったですなぁ。

 

ということで来週も懲りずに参加しますよ。

*1:set(target) - set(S)))[0])

 

ここでpythonの本領を発揮。入力した文字列を一旦リストにして、比較対象の文字列のリストから引いて残った文字列を表示する。

あっさり塩味、大好きなのはこってり味噌スープ(何の話だよ)

 

 

はい、悔し涙を流したC問題になります。

N = int(input(

「サボる」こと

「サボる」の語源はフランス語の「サボータージュ」であることは周知の事実ですが、意味が日本と異なるそうだとな。

 

フランスでは破壊的行動、または労働争議中の労働者による生産設備の破壊を言うらしいです。

ja.wikipedia.org

 

つまり破壊。

 

フランスって若者のデモが盛んであり、ニュースとかで目にする光景だと町中が燃えていたりしていますよね。

フランスのサボりって恐ろしい。

 

一方の日本はこういう意味でも平和ですなぁ。

 

さて、私自身の「サボる」ことについてですが、環境が変わったことによってサボる中身や程度も変わってきました。

 

自己紹介記事でも書いておりますが、前職は公務員、現在はデータサイエンティストである私はサボる感覚がガラリを変わってしまいました。

bigginer-datascience.hatenablog.com

 

 

というのも、公務員時代のサボる感覚は徹底しておりました。

まぁ、まったく仕事をしないとかそういうことではないですが。

 

公務員って比較的有休を取得しやすい(少なくとも私の自治体は)環境なので、少し根詰めすぎたなぁとか最近リフレッシュできてないなぁと思ったらすぐに休むことができます。

 

「おい、何休んでんだ。仕事どうなってんの?」

と上司から詰められることもありませんでした。

 

これが可能なのは公務員の仕事は属人的ではないからだと思います。

つまり、その人でないとできない仕事ではない。

担当外の人でもある程度対応できる業務だからだと思います。

(さすがに長期間の休暇となると話は変わってくるのですが・・・。)

 

なので、もらった有休はほぼ完全に消化してしまっていた時代でした。

うん、パラダイス!!

 

そのような環境であったため、生来のサボり癖に拍車をかけていた公務員時代でしたが、現職のデータサイエンティスト、ひいてはプログラマーになってからはそれができなくなりました。

 

プログラマーこそ、コードが書ければ誰でもできる業務じゃん」

 

仰るとおりだと思います。

ぐぅの音もでません。

 

私が言いたいのはプログラマーだからサボりにくくなったのではなく、自分の置かれている状況によってサボる度合いが変わってしまったということです。

 

私は今の職についてからまだ1年もたっていません。

そして業界経験年数も皆無です。

 

そうなると日々新しい知識を吸収しなければなりませんし、仕事もなかなか思うように進みません。

 

そして、IT関係およびデータサイエンス関係はここ近年の技術進歩が目まぐるしく発展している状態です。

 

私の少ない脳のメモリーに知識を叩き込むのは至難の業であり、さらには年齢による物覚えの悪さにも拍車がかかってきているわけですから、踏んだり蹴ったりな訳ですよ。

(自分で選んだ道なのにグダグダいうところが非常にダサいですね)

 

ということで、ここ最近は休日返上で朝から晩まで勉強または仕事をしているわけです。

 

そうなると、サボることが中々出来なくなるのは自明ですね。

だがしかし、常に緊張し続けるのも心身に悪い。

 

少しでも休みたい時はある。

 

と、どこかでサボりたくなるのが人間ですね。

 

ならどのようにサボるのか。

恐らくほかの人から見たらサボるとは言えないのですが、散歩を15分程度したり、週一でジムにいって1時間汗を流すなどをして普段の仕事や勉強から逃れています。

 

公務員時代は何となくで1日をダラダラ過ごしてサボっていたのですが、今は時間、分単位でサボるようになってしまいました。

 

なんか話が変な方向に進んでいますが、結論を言うとサボる程度は自分の置かれている環境で大きく変わるということです。

 

有意義なサボりを手に入れたければ普段から一生懸命生きることが大事なんじゃないかなと思ったところで、この記事を書いてサボっている私でした。