【初心者向け】ビジネス職に必要なプログラミングの勉強方法と方針をまとめてみた
はじめまして!
「外資就活ドットコム」という新卒採用向けサービスを運営しているHowtelevisionという会社でBizDevや事業企画、セールスなどをしている、まだ(@yamatori0727)と申します。
私、ビジネス系の仕事をしておりますが、プログラミングが好きで、趣味でWebサイトを作ってみたり、データ分析のコンペkaggleや競技プログラミングのAtCoderなどに参加したりしています。
そんな中、ここ数年仕事の中でもプログラミングを取り入れることによって業務を効率化できたり、忙しいエンジニアメンバーの手を借りず自身でデータ分析をできたりと良いこと尽くしなため、「ビジネス系の職種の方が仕事の中にプログラミングを取り入れられる、簡単かつ最短のルート」を棚卸しの意味も含めて、書いてみようと思いました。
独学の要素が大きく、プロフェッショナルの方々は頭を抱える内容が多いかもしれませんので、その点はご容赦いただけますと幸いです。
ざっくり自己紹介
この記事が初めての投稿で、自己紹介用のnoteなどもないため、簡単に経歴を記載しておきます。
社会人になってから、HR畑を歩んでおり、HR業務はフロントもバックオフィスも経験しています。現在は採用コンサルティングもしていれば、自社の採用業務も行っているため、またHR周りの記事も書ければなと思っています。
目指すゴールイメージ
早速ですが、皆さんはプログラミングを学んでどんなことが成し遂げられれば嬉しいですか?
周りの方々を見ている限り、「ゴールイメージ」と「マイルストーン(ロードマップ)」が曖昧なためモチベーションが続かず、勉強の習慣ができないといった方が多いように感じます。
業務効率化したい!という声が比較的多いように感じますが、業務効率化というのは多岐に亘り表現として抽象的すぎるため、もう一つブレイクダウンした目標設定をサブ目標として設定するのが良いかと思います。
たとえば・・・
Webサイトの情報集を自動化する
エクセルやCSVファイル、スプレッドシートの単純作業を自動化する
簡単なデータ抽出とデータ加工を自身で行う
みたいな感じです。
といっても、なかなか自分では目標が立てづらいという方は下記の目標を追っていただければと思います。BizDevをはじめとしたビジネス職種で十分に使える技術だと思います。
業務を効率化する
・Webサイトの情報集を自動化する。
・簡単なデータ抽出とデータ加工を自身で行う。
・エクセルやCSVファイルの単純作業を自動化する。自身のアイディアを形にする
・自身でサービスのプロトタイプを作り、周りに展開できるようになる。
・CRM、SFAなどのシステム周りをある程度自分の手で構築することができる。エンジニアやデザイナーと協働できるようになる。
・エンジニアやデザイナーが何を言っているのか、何を話しているのかを理解することができる。
・Webサイトやアプリはどのような技術を使っているのかを理解する。
・ある程度用語が理解でき、正しい言葉で自身の考えを伝えることができる。
モチベーションについて
ロードマップとしては、ホントはこんな感じ(下記図)のステップを踏んでいきたいのですが、現実はそうも行きません。
実際はこんな感じです。
基礎習得して、業務効率化しにいくぞ!となったらまだ基礎のところ勉強しないとワケ分からなくて、その山を超えてアイディアを具体化してみよう!となってもまた基礎が足りてなくて・・・という繰り返しになります。
大抵の方がこの循環や一発目の基礎習得の修行に萎えて、「もうええわ一生プログラミングなんかやらん!!!」となってしまいます。
なぜ、萎えてしまう(モチベーションが続かない)のでしょうか?
それは「見返り」や「成功体験」が遠いからなんです。
特にビジネス系の方は、プログラミング自体を楽しむというよりもプログラミングを仕事に活かしたいという気持ちが強い傾向にあるため、使えないんだったらやる意味ないじゃんとなってしまう傾向にあるように思えます。
ビジネス職のプログラミング学習において大きな壁であるこの現象を壊すための方針を立てていきましょう。
高いモチベーションを維持するための方針
方針はわかりやすく2つです。
基礎習得の定義を定める
基礎習得が終わったら、早速成功体験を詰みにいく
基礎習得の定義を定める
多分どんなにプロフェッショナルになっても基礎固めはやり続けていくんだろうと思います。プログラミングだけでなく何事も基礎と呼ばれる概念は終わりなきものです。
その感覚で学習を続けていると、「基礎習得がいつまで経っても終わらない・・・」「また基礎習得に戻ってしまった・・・」となって、萎えモードへ誘われてしまいます。
そこで、勇気を持って「自分にとっての基礎」を決めましょう。というか、下記を基礎として無理やり認識してください。
定義を理解したら、この二つだけまず頑張ってみる
この定義の基礎習得はおそらく1〜2ヶ月くらいで終わります。
ProgateもAtCoder(=競技プログラミング)も解説が充実しており、かつどちらも環境構築と呼ばれるめんどくさいものもせず、成功体験を詰めるため大変おすすめですし、なによりこれくらいのスパンだったら挫折する前に完了するはずです。
では、具体的に何を行っていくかというと、
Progate
Progateで下記講座を受験、可能であれば各項目を3周くらいする。
HTML&CSS
JavaScript
Python
SQL
Command Line
AtCoder
ここまでやれば、次のステップに進んでも全然意味ワカランということにはならないと思います。
もしかしたら、色々な方から「それでは基礎を習得したとは言えない」「まずはJava・C言語から勉強しろ」という声も飛んでくるかもしれませんが、まずは"これだけ”やることをオススメします。
スクレイピングでプログラミングの成功体験をする
上記の基礎習得が終わったら、早速プログラミングの力を体感しましょう。
個人的にはこのステップが最重要だと思っていて、「基礎習得したけど次何やれば良いかわからない」「プログラミング勉強していて意味あるのかわからなくなってきた」というつまづきの山を越えられるかどうかは学習習慣の構築に大きな影響を及ぼします。
端的に言うと、基礎習得の次はPythonによるスクレイピングの勉強が最適です。
スクレイピングは、情報収集というビジネス職でも大きな比率を占める業務を自動化できる技術であり、加えて(やりかたにもよるが)自動化している感覚を得られ、比較的簡単に習得できるという点で基礎習得の次のステップとして有効です。
避けては通れない環境構築を簡単に実施
スクレイピングの学習に移る前に、環境構築というものを行う必要があります。
これまでの基礎習得においては環境構築を行わなくても進めることができましたが、このフェーズ以降は環境構築が必要になります。
ここでは、(色々と端折りざっくりとお伝えすると)Pythonを実際に使えるようにすることを指します。
環境構築は色々と難しいのですが、今回は簡易的な方法でPythonを実行できるようにする方法を下記記載します。
Anacondaをダウンロードする。
Jupyter Notebookを起動する。
基本的には上記のとおりなのですが、最初だと何がなんだかわかりませんよね。こちらのUdemyメディアにAnacondaって何? Jupyter Notebookって何?ということが懇切丁寧に記載されているので、読んでみてください。
いざスクレイピング!!
それでは、スクレイピングの勉強に移っていきます。Pythonでのスクレイピングはいくつか方法があるのですが、下記のUdemyの講座で勉強するのをオススメします。(※アフィリエイトではなく、純粋にオススメです。)
PythonによるWebスクレイピング〜入門編〜【業務効率化への第一歩】
seleniumという技術を用いて行うのですが、これはChromeを自動で操る過程が目で見えたりして、初めての自動化の喜びを最大限感じることができるのがオススメポイントです。
短い時間で自動化技術を習得できるので、視聴が完了したらぜひご自身でも試してみてください。
ただし、スクレイピングは法的な問題が関わってくるケースもあるため、予めこちらの記事のような情報を知識として蓄えてから実施いただくことを推奨いたします。
成功体験を一つした後の学習について
実は、先ほど設定した下記の目標については、ここまで進んだ方だと簡単に駆け上がることができます。
なぜかというと、インプット⇨アウトプット⇨成功体験⇨モチベーション向上⇨次のインプット、の学習サイクルが今までの過程で培われているためです。
あとは、必要なインプットが何かを知って上記のサイクルをどんどん回して、行き着く先は必要なインプットをご自身で探せるようになれば完璧です。
そのため、まずはビジネス職に必要なインプット(コンテンツ)だと自身が思うものを勉強すべき順に下記記載していきますので、ぜひチャレンジしてみてください。(アフィリエイトではありません!)
一つだけ選ぶならこれというものに🌟をつけています。
スクレイピング続き
・書籍:Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!
・🌟書籍:スクレイピング・ハッキング・ラボ簡単なデータ抽出とデータ加工
・Udemy:はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース
・🌟Udemy:米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座
・書籍:Python2年生 データ分析のしくみ 体験してわかる! 会話でまなべる!PythonによるExcel操作をはじめとした自動化
・Udemy:【夢月流】PythonでExcel操作自由自在~OpenPyXLの使い方~
・書籍:PythonでExcel、メール、Webを自動化する本
・🌟書籍:シゴトがはかどる Python自動処理の教科書GASによるGSuiteの自動化
・🌟書籍:詳解! Google Apps Script完全入門
・Udemy:【新IDE対応】Google Apps Script(GAS)の基礎を完全習得 -初心者歓迎-【爆速で習得しちゃおう】
・Udemy:ビジネスパーソンに贈る業務効率化大全 〜Google Apps Scriptによる業務の自動化〜自身のアイディアを形にする(修行編)
・🌟Udemy:【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!
・Udemy:【Python/Django3】Webアプリ作成からデプロイまで!
・書籍:Djangoのツボとコツがゼッタイにわかる本自身のアイディアを形にする(ノーコード編)
・🌟Udemy:初心者から始めるアプリデザイン<UI/UXデザインをFigmaで学ぼう!>
・Udemy:ノーコードで超速WEB制作 STUDIO学習完全パック(初級〜上級編)Pythonを体系的に学ぶ
・🌟Udemy:米国AI開発者がゼロから教えるPython入門講座
最後に
色々と書かせていただきましたが、エンジニアやデータサイエンティストを本格的に目指している方や強いモチベーションがあってキツい学習でも挫折しないという方にはもっとオススメの勉強法があるかもしれません。
ただ、本軸としてはビジネス系の仕事があり、その中でなかなかモチベーションが続かないという方だったり、プログラミング学習を何から始めればよいかすらわからないという方に少しでも役に立てば幸いです。
自分自身、業務でプログラミングを使えるということが(少なくともビジネス系の中では)強みになっていますし、直接的に役に立つ場面も多々あります。
加えて、成功体験が増えることによってプログラミング自体も好きになり、今でも勉強を続けています。
少しでもプログラミングに興味のあるビジネス職種の方が増えれば嬉しいです。
この記事が気に入ったらサポートをしてみませんか?