これから先生きのこるには
自分は文系出身のインフラエンジニアです。
プログラミングは無縁だと思って生きていました。
業務上必要になる事が少ないため周りの人も、同じような人が多かったです。
しかし昨今、プログラミングの必要性を感じて学習をしているため記事にしたいと思います。
IaaSやクラウドネイティブな開発が一般的になりました。
その流れでアプリケーションエンジニアがインフラ領域に携わる事が増えていると感じています。
サーバーレス環境はOSやミドルウェアを意識しなくてよいためインフラ的な要因が少ない為です。
また、AWSなどのクラウドサービスではAPIを公開しており利用者で自動化などの取り組みが可能です。
プログラミングでAPIを叩いてインフラを管理するのです。
するとプログラミングが全く出来ないとインフラ業務の幅も狭くなってしまいます。
プログラミングが出来る人と出来ない人の格差が圧倒的に広がっていくと思っています。
以上のことから、これから先生きのこるにはインフラエンジニアもプログラミングを勉強した方がいいと考えています。
この記事の対象になる方
- プログラミング未経験だけどやってみたい
- Pythonを学習したい
- 自分に合った情報を取捨選択できる方
自己紹介
- 文系出身
- インフラエンジニア(オンプレ/AWS)
- プログラミング歴は簡単なシェルスクリプトだけだった
- 現在はPythonを勉強して基礎文法をある程度理解済み
- 代表的なモジュールは調べながら扱うことができた。ググったら多少なんとかなる精神
- 業務ではAWS SDK(boto3)やSlack API+Lambda連携等で業務改善や自動化が出来るようになった
おすすめの勉強法
プログラミング学習サービス
鉄板ですが初学者がまず手を動かすのには最適だと思います。
初心者が挫折しにくい仕組みになっているのでおススメです。
サービスによって得意な範囲は異なりますが共通して以下の強みを感じます。
- 体系的に学べる
- 実行環境を用意しなくていい!
- 月額1000円前後で気軽に始められる
- ゴールが用意されていて達成感がある
実際に利用したサービスをいくつかご紹介します
Progate
プログラミングのはじめの一歩に最適だと思います。
基礎文法をやさしく丁寧に紹介してくれます。特に入門者向けのサービスです。
逆にモジュールの紹介とかは少なかったので、一通り終わったら次のステップに進むといいと思います。
スライド形式なので好きな音楽を聴きながらでも出来るのも好きなポイントでした。
paiza
progateよりも実践的な範囲まで学習することが出来ます。
競技プログラミング的な問題を解くサービスもあります。ランクが上がると難しいです。
学習の動画コンテンツは声優さんとコラボしています。
ゲーム感覚で学習するコンテンツもあります。
課題をクリアするとランクがあがり、転職にも繋げることができます。
PyQ
動画やスライドはありません。
説明にそって写経して実行することで学習することができます。
そのあとには復習として参考コードなしで課題に挑戦します。
モジュールや実践的なコンテンツもあるので基礎文法の後のステップとしておススメです。
難点は安いプランでも3000円/月額と前述と比較すると高額。
長期休暇があるとき、頑張ると決めた月だけ加入がいいかと思います。
Youtube
プログラミング学習サービスで理解しきれなかった点の確認/新しい情報の習得に利用しています。
無料で見れるのが凄すぎるチャンネルがいくつかあるので紹介したいと思います。
いつも感謝しているので今回の紹介でお返しできたら嬉しいです。
いまにゅのプログラミング塾
プログラミングはもちろん、学習に役立つコンテンツなども紹介されています
初学者に寄り添ったコンテンツが豊富です。
Pythonプログラミング VTuber サプー
汎用的に使えるモジュールを分かりやすく紹介されています。
一本当たり10分前後に分かりやすくまとめられています。
勉強会
まさしく今、学びたいことを題材にしている勉強会に巡り合える時ばかりではないと思います。
自分はマンネリしてきたりモチベーションがあがらない時にも参加して刺激をもらっています
connpass
勉強会プラットフォームはいくつかありますが個人的に一番使いやすかったです。
LT会やハンズオンが多い印象です。
おすすめしない勉強法
書籍(特に紙媒体)で学習する
これに関しては諸説あるかと思います。
自分も勉強は紙媒体のほうが馴染みがあったので書籍中心の時期がありました。
しかし誤表記が付き物でアップデートがなされない点など
プログラミング学習においては現代ではあまり有用ではないと感じています。
環境構築を頑張る
書籍で学習するとPCに実行環境をインストールするところから始まってしまいます。
本来学びたいことの前に障害があって体力とやる気ゲージを消費してしまいます。
Pythonのダウンロードが終わったぞ!と思ったらエディタのダウンロードと使い方が待ち構えています。。。
職業プログラマーとしては必須な項目だとは思いますが、初学者はプログラミングの楽しさを感じた方がいいと思います。
最初のうちに機械学習/AIに手を出す
Pythonは機械学習/AIの分野が得意なことが有名です。
しかし機械学習/AIの分野には数学の知識が必要です。
そのためもし興味があっても、文系の方はプログラミングの学習に専念したほうがいいかと思います。
おわりに
自分もまだまだ初学者ですが自分が利用しているサービスの紹介を中心に行いました。
同じような人の助けになったり、提供して頂いている方への御礼になったら嬉しいなと思っています。
結局最後は自分が続けられるやり方が一番だとは思います。
なぜ勉強したいと思ったか、という初心を忘れない事が続けるコツなのかと感じています。