現在多くの人がプログラミング学習に取り組んでいる状況だと思います。
そんな中で、、、
|
筆者の場合は、プログラミングでいかに稼ぐ状態を作るか考えた結果、ランサーズにて上位20%の『認定ランサー』になることができました。
記載されてる内容を実践し、作りたいものを見つけ出すことで”稼ぐ”手段も獲得できています。
また、筆者自身クラウドソーシングサイトであるランサーズにてコンスタントに毎月10万円を稼ぎ、スクレイピング業務にて2021年6月に最高報酬額である30万円を突破しました。
年間報酬額も100万円突破するなど、一定の記事信頼を担保できると思います。
今回は、作りたいものがないと頭を抱えている人へ、また実務レベルを習得したい人へ具体的なプログラミング学習における提案をしていきたいと思います。
目次
いきなり作りたいものなんてわからない
プログラミング学習を取り進める中で、数多くの製品やサービスを見かけるようになると思います。
それをいきなり作りたいと考えても非常に困難です。
なぜなら、学習をしている中でスキルを磨いた結果行き着くのが成果物であり、その成果物が結果として製品化/サービス化するからです。
自分自身が作成したいアプリケーションを構想できて、さらにそのアプリケーションに必要な知識と技術を持って初めて取り組み出すことができます。
そのため、プログラミング学習を始めたての人であれば、自分が構想したアプリケーションを作成することは難しくなります。
また、そもそも作成したいアプリケーションがあるという目的を持たずに、まずは取り組んでみた形で動いている人は、途端に手が止まってしまうわけです。
作りたいものが見つかっている人は目的が先にきますが、作りたいものがない人は取り組みが先にきており、それが原因で学習してみたはいいが作りたいものがないという現象を引き起こします。
しかし、それ自体が悪い行動だと思わないでください。
むしろ行動して作りたいものがないという状態になれたことは、作りたいものさえ見つかれば手が動くわけで、この問題さえ解決してしまえば悩みは解消されます。
とは言うものの、いつまでも作りたいものがなければモチベーションが低下して取り組みを挫折してしまうため注意が必要です。
プログラミングにおいて作りたいものがなければ、いずれ挫折してしまいます。
作りたいものがない=取り組みが停止する、この状態はプログラミング学習の継続に影響を与えてしまいます。
そのため、調べ物の中で作りたいものを見つけるか、あるいは簡単なプログラムを写経する形で取り組んでみると良いです。
プログラミングを趣味として何か作る場合
プログラミング初心者の場合、スクリプトファイル(一つのファイルで完結する)のみで作ることができるプログラムの成果物がおすすめです。
Pythonの基礎知識を蓄えながら、Python初心者でも作れるものは以下になります。
目的別に分類しましたが、Pythonにおける学習内容を解説します。
Pythonによるスクレイピングプログラム/成果物を作る
スクレイピングとは、Web情報を抽出する技術です。
必要に応じて抽出したデータを様々な整形ファイルに変化させ、出力します。
Pythonライブラリとして、Beautiful SoupやScrapyが利用されます。
筆者は、スクレイピング技術を利用して簡易的なWebサイト情報抽出ツールを数多く作成しています。
pythonによるスクレイピングで特に利用されるのが以下の3つです。
|
これら3つを利用できる環境を構築すれば、python初心者でも比較的簡単にプログラムを作れます。
例えば、以下のメルカリサイト内でキーワード検索した結果の各商品情報を全てスクレイピングすることができます。
以下のサンプルコードは、メルカリサイトの各商品ページに記載されている詳細情報を取得するプログラムです。
from selenium import webdriver import time import pandas #キーワード入力 search_word = input("検索キーワード=") # メルカリ url = 'https://www.mercari.com/jp/search/?keyword=' + search_word # chromedriverの設定とキーワード検索実行 driver = webdriver.Chrome(r"パス入力") driver.get(url) # ページカウントとアイテムカウント用変数 page = 1 item_num = 0 item_urls = [] while True: print("Getting the page {} ...".format(page)) time.sleep(1) items = driver.find_elements_by_class_name("items-box") for item in items: item_num += 1 item_url = item.find_element_by_css_selector("a").get_attribute("href") print("item{0} url:{1}".format(item_num, item_url)) item_urls.append(item_url) page += 1 try: next_page = driver.find_element_by_css_selector("li.pager-next .pager-cell:nth-child(1) a").get_attribute("href") driver.get(next_page) print("next url:{}".format(next_page)) print("Moving to the next page...") except: print("Last page!") break # アイテムカウントリセットとデータフレームセット item_num = 0 columns = ["item_name", "cat1", "cat2", "cat3", "brand_name", "product_state", "price", "url"] df = pandas.DataFrame(columns=columns) try: # エラーで途中終了時をtry~exceptで対応 # 取得した全URLを回す for product_url in item_urls: item_num += 1 print("Moving to the item {}...".format(item_num)) time.sleep(1) driver.get(product_url) item_name = driver.find_element_by_css_selector("h1.item-name").text print("Getting the information of {}...".format(item_name)) cat1 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(1) div").text cat2 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(2) div").text cat3 = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(2) td a:nth-child(3) div").text try: # 存在しない⇒a, divタグがない場合をtry~exceptで対応 brand_name = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(3) td a div").text except: brand_name = "" product_state = driver.find_element_by_css_selector("table.item-detail-table tbody tr:nth-child(4) td").text price = driver.find_element_by_xpath("//div[1]/section/div[2]/span[1]").text price = price.replace("¥", "").replace(" ","").replace(",", "") print(cat1) print(cat2) print(cat3) print(brand_name) print(product_state) print(price) print(product_url) se = pandas.Series([item_name, cat1, cat2, cat3, brand_name, product_state, price, product_url], columns) df = df.append(se, ignore_index=True) print("Item {} added!".format(item_num)) except: print("Error occurred! Process cancelled but the added items will be exported to .csv") df.to_csv("{}.csv".format(search_word), index=False, encoding="utf_8") driver.quit() print("Scraping is complete!")
ここでのコード解説は省略します。(別記事にて解説あり)
最終的に、CSVファイルとして出力した結果が以下の画像です。
取得したデータとして商品名・カテゴリー(3つ)・ブランド名・商品状態・金額・URLなど、様々な情報をスクレイピングすることができます。
pythonのSeleniumライブラリを利用したメルカリスクレイピングツールの作成に取り組んでみたい人は「【python】Seleniumによるメルカリのスクレイピングツール作成」で詳しく解説します。
Pythonによるクローリングプログラム/成果物を作る
クローリングとは、特定のWebサイト情報を定期的に収集する技術です。
クローリングのメリットは、リアルタイム更新が頻繁なSNSや定期更新のあるWebサイトに有効です。
Pythonライブラリとして、Beautiful SoupやScrapy、Seleniumなども利用されます。
比較的スクレイピングに類似した内容が多く、python初心者でも学習しやすいです。
特に、最近ではGoogle Colaboratoryと呼ばれるクラウド上の実行環境があるので、そちらと組み合わせるとローカル上PCに負担をかけず、定期実行されるプログラムを簡易的に作成できます。
Google Colaboratoryの環境構築から使い方まで解説した記事がありますので、合わせて読んで頂けると幸いです。
pythonによるクローリングにおいても利用されるのが以下の3つです。
|
これら3つを利用できる環境を構築すれば、python初心者でもWebサイト内を巡回するプログラムが作れます。
例えば、以下のメルカリサイト内で検索した結果の商品一覧ページにて、売り切れ商品の商品名・金額・URLのみをページごとにクローリングしながら抽出します。
以下のサンプルコードは、メルカリサイトの商品一覧ページごとに商品名・金額・URLをクローリングにて抽出するプログラムです。
from bs4 import BeautifulSoup from selenium import webdriver import time import csv import traceback #キーワード入力 search_word = input("検索キーワード=") # メルカリ url = 'https://www.mercari.com/jp/search/?keyword=' + search_word + '&status_trading_sold_out=1' # chromedriverの設定 driver = webdriver.Chrome(r"/Users/sugitanaoto/Desktop/chromedriver") # 商品情報格納リスト item_info = [['item_name', 'item_price', 'url']] # ページカウント page = 1 while True: try: print("Getting the page {} ...".format(page)) driver.get(url) time.sleep(3) # 文字コードUTF-8に変換後html取得 html = driver.page_source.encode('utf-8') soup = BeautifulSoup(html, "html.parser") # tagとclassを指定して要素を取り出す item_name = soup.find('div', class_='items-box-content clearfix').find_all('h3', class_='items-box-name font-2') item_price = soup.find('div', class_='items-box-content clearfix').find_all('div', class_='items-box-price font-5') item_url = soup.find('div', class_='items-box-content clearfix').find_all('a') # アイテム数カウント item_num = len(item_name) print(item_num) for i in range(0, item_num): item_info.append([item_name[i].text, int(item_price[i].text.replace('¥','').replace(',','')), "https://www.mercari.com" + item_url[i].get('href')]) # next_page取得 try: next_page = driver.find_element_by_css_selector("li.pager-next .pager-cell:nth-child(1) a").get_attribute("href") url = next_page print("next url:{}".format(next_page)) print("Moving to the next page...") page += 1 except: print("Last page!") break except: message = traceback.print_exc() print(message) # 起動したChromeを閉じる driver.close() # csvファイルへ書き込み with open('mercari-soldvalue.csv', 'w') as file: writer = csv.writer(file, lineterminator='\n') writer.writerows(item_info)
ここでのコード解説は省略します。(別記事にて解説あり)
最終的に、CSVファイルとして出力した結果が以下の画像です。
特定の条件を付与しながらクローリング・スクレイピングを実行することができます。
pythonのSeleniumライブラリを利用したメルカリクローリングツールの作成に取り組んでみたい人は「【python】pandas&matplotlibを利用したメルカルスクレイピングデータ分析」で詳しく解説します。
Pythonによる自動化プログラム/成果物を作る
おそらく、PC業務がメインとなる社会人であれば、一度はExcel(エクセル)の自動化を試みたいと考えたはずです。
それほどExcelの自動化は需要が高いです。
Pythonライブラリとして、openpyxlやpandasなどが利用されます。
Mac・Windowsともに利用できるようPythonを利用したExcel(エクセル)の読み書きを自動化する記事がありますので、興味があれば一読して頂けると幸いです。
Pythonによる顔・物体検知のプログラム/成果物を作る
Pythonでは、顔認識や物体検知などのプログラムも作成できます。
SNOW(スノー)などでも利用される技術で、コロナウィルスの影響もあり大型スーパーやショッピングモールで、特定人物の顔認識から体温検知するために利用されるなど、画像・動画データからの物体検知が注目されています。
AR技術にも利用されるケースもあります。
上記の画像をトリミング画像(画像検出)したサンプルコードを記載しておきます。
import cv2 image = cv2.imread('指定するファイル名.jpg') cascade_file = 'haarcascade_frontalface_alt2.xml' cascade_face = cv2.CascadeClassifier(cascade_file) # 顔を探して配列で返す face_list = cascade_face.detectMultiScale(image, minSize=(20, 20)) for i, (x, y, w, h) in enumerate(face_list): trim = image[y: y+h, x:x+w] cv2.imwrite('cut' + str(i+1) + '.jpg', trim) #HAAR分類器の顔検出用の特徴量 cascade_path = r'haarcascade_frontalface_alt2.xml' image_path = "指定するファイル名.jpg" color = (255, 255, 255) #白 #ファイル読み込み image = cv2.imread(image_path) #グレースケール変換 image_gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #カスケード分類器の特徴量を取得する cascade = cv2.CascadeClassifier(cascade_path) facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1)) print("face rectangle") print(facerect) if len(facerect) > 0: #検出した顔を囲む矩形の作成 rect = facerect[1] cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2) #認識結果の保存 cv2.imwrite("../desktop/detected.jpg", image)
PythonによるWeb API連携プログラム/成果物を作る
TwitterやInstagram、LINE、YouTubeなど様々なSNSによってWeb APIを利用できます。
ライブラリやAPI申請など環境を整えれば、今すぐにでも利用できる有効的なプログラムです。
簡易的なプログラムで、Twitterの自動ツイート(botと呼べれるもの)やフォロー・アンフォロー・いいね・リツイートも自動化できます。
例えばWeb APIを連携させることで、Twitter自動化の監視結果をLINE上で確認したり、多くのメリットが享受できます。
動画データ分析アプリでは、以下の開発工程を組んでいます。
|
全て工程ごとの作業とファイル構成/実装コードなど、画像とサンプルコードで解説しています。
Pythonを利用してFlask(フレームワーク)でアプリ開発してみたい人は「【Python】Flask+YouTube Data APIによる動画データ分析アプリ開発」を一読ください。
プログラミング初心者が本格的に何か作る場合
おそらく現役エンジニアのほとんどが初心者だったころ最初に作る簡単なプログラムは、WebアプリケーションであればToDoアプリです。
ToDoアプリを最初に取り組むべき理由は、以下の内容です。
|
VS Code等のテキストエディタやローカル環境によるアプリケーションサーバーの構築などを実践的に学べます。
フロントエンド/バックエンドといったHTML/CSS/Pythonなどを利用して、Webアプリケーションを構成しているフォルダやファイルを作成しながらコード実装まで習得できます。
CRUD機能(Create:作成, Read:読み込み, Update:更新, Delete:削除)といったアプリの根幹となる最も重要な機能を理解できます。
DB(データベース)連携を知ることで、どのようにアプリケーション内でデータを保持しているか学べます。
そして、ネット環境でアプリがどのように世の中へ公開されるか学ぶことができます。
PythonのWebフレームワークであるFlaskでToDoアプリ開発をしてみたい人は「【Python】FlaskによるToDoアプリケーション作成/開発」を一読ください。
全て工程ごとの作業とファイル構成/実装コード/アプリ公開など、画像とサンプルコードで解説しています。
どうして作りたいものがないのか
原点回帰のような流れですが、ではどうして作りたいものがないのかしっかりと考えていく必要があります。
プログラミング初心者であれば、いきなり作りたいものを作成・開発する構想はできませんし、目標と不一致であれば取り組みに邪念が混じります。
おそらく、作りたいものがないのではなく、目的・目標にしている事柄との不一致により、学習する行動の選択に迷っているのだと思います。
何に取り組むか明確であれば、あとは作業ゲーのように取り組めます。
私が大学生だった頃は、これからはAI事業がIT業界で話題になるはずだと考え、データ分析系の講義を根こそぎ受けていました笑
他にも、量子力学を専攻して量子コンピュータ(特に量子中継器と呼ばれるデータ転送技術)に関わる論文を作成していました。
おかげで、就職後はIBM WatsonのAI事業に関連する仕事にも携われるようになりました。
ここで言いたいのは、あなたが何を作りたいのかを重要視するよりも、あなたが達成したい目標を改めて明確化することです。
つまり、目標に関するゴールを設定・再設定することが大切です。
就職するまでは、コンピュータの原理や最新技術に関わる専門分野の学習をしていましたが、就職後はAI事業でどうやらプログラミング言語Pythonを利用すると分かり、Pythonのみを徹底的に学習していたことを覚えています。
あなたも、達成したい目的・目標があるのであれば、ゴールの設定・再設定から始めていきましょう。
具体的なプログラミング学習のゴール設定を知りたい人は「プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計」で解説します。
今すぐ始めるには?
すでに目的・目標のゴール設定ができている人であれば、今すぐにでも取り組むべきです。
なぜなら、時間を浪費するほどモチベーションは低下しますし、作りたいものがないと悩んでしまうほど手が動かなくなり、挫折率が高まってしまいます。
|
こういった明確な意志を持った目的を掲げられているのなら、熱が冷めないうちに取り組んでいくべきです。
すでに取り組みたいプログラミング言語やスキル内容が決まっているのであれば、あとはレベルアップの学習内容を選定するだけなので、実務レベルに到達するために取り組める人はすぐに始めましょう。
目的・目標設定をプログラミング言語学習から取り組みたい人は「【副業】プログラミング言語学習から稼げる案件を認定ランサーが伝授!」で解説します。
プログラミングで作りたいものが思い浮かばない場合
プログラミングで作りたいものが思い浮かばない場合、取り組むべきは以下の2つです。
プログラミング初心者にとって、新しいアイディアが創出しにくいからこそ取り組むべき内容です。
|
実は、プログラミング基礎学習を疎かにしてしまうと作りたいものが制限されます。
また、アプリケーションに対して不便さを感じている場合、便利にする発想を思い浮かべるチャンスになります。
上記2つの取り組みは、地道ながら最短の取り組みになります。
アイディア自体は、9割以上が地続きで創出されるものだと認識する必要があります。
プログラミングはとにかくマネをすること
とてもシンプルであり最強の学習方法が、マネをすることになります。
すごく当たり前な内容で拍子抜けしたかもしれませんが、事実であり最強のワンパターン学習です。
ただ、マネをすることもコツを知らないと時間の浪費と努力の方向をすぐに間違えてしまうので、注意してください。
今ネット上ではたくさんのプログラミングに関する情報がありますが、あなたが目的としている内容に一致した情報を取捨選択できていますか?
プログラミング初心者ならProgateやドットインストールから始めた方がいいとか、〇〇言語学習ならこのチュートリアルからやった方がいいとか、多くの情報が錯綜しています。
私が考えるのはただ一点のみで、たとえ趣味であろうと、働き方を変えるのであろうと、副業で稼ぐであろうと、実務レベルを学習できているかだと思っています。
誰かの役に立つプログラムを作成して、初めてプログラミングの目的が達成されます。
簡単なものばかりに触れていても、レベルは全く上がりません。
実務で役立てたいのであれば、なおさらレベルアップ学習をしなければなりません。
学校教育でもそうですが、小学生→中学生→高校生→大学生と少しずつ、そして確実にレベルアップ学習を行って知識と経験を養っていきます。
プログラミングであっても学習の原理は全く変わりません。
ただ、いきなり作れと言われてもできないからこそ、丁寧に解説されていて、なおかつレベルアップできる学習教材をマネすることです。
そしてマネを繰り返すことで継続力と強制力を獲得し、知識と経験を得ていきます。
こうなれば、自分の中で学んできたことを活かして作りたいものが見えてくるものです。
マネ=写経といった詳しい学習方法を知りたい人は「【やり方】おすすめのプログラミング上達は写経が効果的な理由」で解説します。
マネをすることによる具体的な効果は?
プログラミングにおいて、マネをすることは様々な効果を得ることができます。
|
一つ一つ具体的に解説していきたいと思います。
ポートフォリオが充実する
学習教材をマネすることによって、知識と経験が得られることをお話しました。
教材をマネすることでアプリケーションも同時に成果物として獲得できます。
作成・開発してきた内容によっては、クラウドワークスやランサーズで案件受注する際、酷似しているものがあればポートフォリオとして提示することができます。
また、たとえマネしたとしても作成・開発した経験があれば、就職や転職の際にどんな内容に取り組んできたかポートフォリオをもとにアピールもできます。
さらに、プログラムとは組み合わせ次第で有益なアプリケーションに変化させることができます。
例えば、私であればそれぞれ自動音声認識アプリ、画面共有アプリ、チャットアプリを作成し、組み合わせることでテレビ電話アプリ(音声起こしチャット付き)のアプリを作成しました。
入社1年目あるあるだと思いますが、社内の会議で議事録を取らなければならない立場だったので、アプリを作成して自動でデータベースに書き込まれるシステムを作り、会議後はそちらを確認してもらうようにして業務効率化してました。
このように、作りたいと思ってなくてもポートフォリオ(作品)が充実すると、組み合わせて作りたいものが想像できるようになります。
具体的なポートフォリオ作成方法を知りたい人は「【具体例】エンジニアによるプログラミングのポートフォリオの作り方」で解説します。
実務レベルが習得できる
IT業界はとにかく技術の進歩と移り変わりが激しい世界です。
たとえレベルアップ教材でなくても、最新技術に関する基礎教材であれば、学習者は人材として希少な価値を持つことになります。
また、レベルアップ教材で学習を続けて組み合わせることができれば、最先端の実務レベルを習得したことに他なりません。
さらに、教材を作成する立場を考えると、誰も利用しない技術や知識を内容に含めても価値がないわけですから、自然と実務レベルの内容が含まれることになります。
そのため、レベルアップ学習教材に触れる機会を多くするほど、マネの質は高まり、結果的に実務レベルに到達することになります。
具体的な実務レベルを知りたい人は「【プログラミング実務】なぜ実務経験や実務レベルが重要なのか?」で解説します。
働き方・稼ぎ方を選ぶ立場になれる
これは、マネを続けた結果の最終的な形かもしれません。
プログラミングは個人を含め、誰かの役に立ってこそツールとしての意義が発揮されます。
知識と経験が蓄積されれば、自然と求められる人材として価値を認められることになるので、企業で働くもよし、副業もよし、フリーランス・独立もよし、という立場になれます。
どの立場になっても提供する価値が下がらないのがプログラミングの強みでもあります。
なぜなら、情報となるデータやプログラムは基本的に腐らない(情報の劣化は起きる)、複製ができる、情報伝達が圧倒的に速い、これが電子データの強みだからです。
これらの強みを生かせる立場になれば、働き方と稼ぎ方を自由自在に変化させられることになります。
プログラミングで副業/フリーランスを考えてる人は「【副業】プログラミング案件の種類と稼ぎやすいジャンルの選び方」で解説します。
就職支援実績あり!おすすめオンラインプログラミングスクール
独学でプログラミング学習の限界を感じている人におすすめのオンラインプログラミングスクールをご紹介します。
ただし、注意する点として『スクールの質が高い=あなたに最適なスクール』には必ずしもならないため、必ずカウンセリングを受けてください。
カウンセリングを受けないで決めてしまうとお金を無駄にする可能性があります。
スクール名 | 最短受講期間 | 料金(税込) | スクールの概要 |
---|---|---|---|
TechAcademy | 4週間プラン(1ヶ月/コース) | 174,900円/コース | オンライン学習サービス1週間の無料体験可能/Python・AI・データサイエンスコースなど複数コース受講のセット割引プランあり |
CodeCamp | 2ヶ月 | 198,000円 | マンツーマンでPythonを学べ、レッスン対応時間が長く、早朝・深夜の時間帯もオンラインで受講可能/無料カウンセリングあり |
TechAcademy(テックアカデミー)
TechAcademy(テックアカデミー)は、累計3万人以上の受講実績のある人気プログラミングスクールです。
現役ITエンジニアのパーソナルメンター(講師)による学習サポートやチャットでの質問対応ができ、プログラミング未経験/初心者でも学びやすいと評判のオンラインスクールです。
|
学べるコースはPython/はじめてのプログラミング/Web制作・システム開発系など多数のコースがあり、セット割引を利用して複数のセット受講も可能です。
現役エンジニアのメンターと週2回のメンタリング、直接プロからプログラミングやキャリアについて学べる学習環境があります。
また、毎日15時~23時の8時間はオンラインの質問対応、提出課題には丁寧なレビューがもらえるなど受講者の評判が良いオンラインプログラミングスクールです。
さらにメンタリング/チャットでの質問対応状況など、オンライン学習サービスを確認できる1週間の無料体験がおすすめです。
CodeCamp(コードキャンプ)
CodeCamp(コードキャンプ)は、現役エンジニア講師のマンツーマンレッスンによる丁寧な指導が人気/評判のオンラインプログラミングスクールです。
累計受講者数3万人以上、研修導入企業300社以上など実績も豊富なスクールになります。
|
これらを含め、Python/Webデザイン/アプリ開発/オーダーメイドなど、豊富なカリキュラム内容です。
マンツーマンレッスンの対応可能な時間帯は、毎日7時~23時40分と他のプログラミングスクールより長く、CodeCampは早朝や深夜でも受講できます。
そのため、仕事・学業をしながら受講しやすい点がおすすめと口コミで評価されています。
また、自分で講師を指名できる点、Pythonについての質問や講師にエンジニアとしてのキャリアや就職/転職の相談も可能です。
CodeCampに興味ある人は、詳しいレッスン内容や学習サービスについて確認でき、受講料金の1万円割引クーポンももらえる無料カウンセリングの利用がおすすめです。
Pythonロードマップを元に本格的な学習を始めたい人へ
おそらくプログラミング未経験からPythonあるいはプログラミング活用を図りたい人は、以下の考えが存在すると思います。
|
上記の悩みや課題をPythonロードマップとして言語学習から転職までを目標プロセスに落とし込んで作成しました。
あなたの考えるエンジニア像のゴールに合わせたオンラインプログラミングスクールが選べる情報も公開しているので、一度読んでみてください。
まとめ
プログラミングを学ぶ上で作りたいものがないと悩んでいる人は、知識と経験が不足しています。
作りたいものがないという1つの悩みのせいで、時間の浪費と努力の方向を間違えないように注意してください。
プログラミングを学習する上で大切なのは、環境による強制力と目的・目標におけるゴール設定です。
そして、あなたが掲げたゴール目標を達成するためには、マネをすることだとお伝えしました。
まずは実務レベルの学習教材をマネすることで、考えていたエンジニア像へ最短でゴールできると思います。
ゴール目標を達成することで、あなたの働き方と稼ぎ方は大きく変化します。