- Webマーケティング
- 2021.07.25
こんにちは、フリーランスエンジニア兼テックライターのしろ(@siro3460)です。
ぼくはこれまで、以下のような連載記事を書いてきました。
これらを実践すれば簡単なアプリは作れるようになりますし、独学でもごりごり進められる人もいるかもしれません。
ただ・・・そこから抜け出して、スキルを高めようと思ったときに苦労する人もいると思っています。「仕事でも使えるプログラミングスキルを身に着けるためには、どうすればいいんだろう・・・」と思っている方も多いのではないでしょうか。
ただ残念なことに、魔法のようにすぐ実力がつくような答えはなく、愚直にスキルを鍛えあげていくしか方法はありません。
でも、
- 具体的な方法がわからない
- できれば効率的にスキルを鍛えていきたい
と思ってしまいますよね。「できれば間違えずに進みたい・・・」と思うのは普通のことです。
そこで今回は、プログラミングスキルを仕事でも使えるスキルに鍛え上げる方法について、解説します!
答えは一つではありませんが、ただのスキルで終わらせないためのコツを徹底的にまとめたので、ぜひ最後まで読んでみてくださいね!
プログラミングスキルは圧倒的なアウトプットから生まれる
アプリの作り方や効率的な学習方法がわかっても、自分でコードを書いて作っていかないと・・・ぶっちゃけスキルは身につきません。ある程度の基礎まではインプットだけでも身につくかもしれませんが、その先に行くことが難しいのです。
そのため、自分でコードを書いてアウトプットしていくことが、とても重要です。
アウトプットしないとプログラマーとしては絶対に成長しません
でも、アウトプットの方法を知らない人が多いので、レベル別に方法をまとめました
伸び悩んでいる人は読んでください。ひたすらインプットマンになってるはずhttps://t.co/OwvuXNshGa
— ゲスエンジニア/とだこうき (@cohki0305) January 24, 2019
プログラミングの学習効率を高めたいなら、どんなにダメ出し喰らおうとアウトプットしまくった方が良い。自分では全く気づかない部分まで指摘をもらえるので、学習効率が爆発的に伸びる。転職までの時間を大幅に縮めたいなら、アウトプットしないのは本当にもったいない。
— 遅咲プログラマー * 暇人アラサー (@yoshito410kam) December 15, 2018
アプリは、作りたいものであればなんでもOKです。1ページの簡単なアプリや、登録・更新・削除・検索機能がある簡単なアプリで構いません。
もし、アプリを作るときの具体的なイメージがつかない場合は、設計してからアプリを作る方法を先に読むことがおすすめです。イメージしてから作り始めると、スムーズに開発することができます。
「いきなり作りたいアプリとか、思いつかない・・・」という人は、paizaのような課題形式でコードを書いていくサービス使うのもおすすめです。
paizaは、以下のような特徴がある転職サービスです。
- 実務に近いコーディング形式でスキルチェックができる
- スキルチェックの実績によっては書類選考なしで会社へ応募も可
- 自己PRが苦手でも、書いたコードを元にPRもできるようになる
転職サービスですが、スキルチェックの機能がアウトプットにはうってつけです。
将来転職を目指している方は、実績を使って転職活動を進めることもできるので一石二鳥ですね。
paizaの詳細を知りたい方はこちらがおすすめです → https://paiza.jp/career
大事なことは、わかりやすく解説された知識をインプットし続けるのではなく、自分でできないところを乗り越えていくスタイルを、自分の中で作り上げることです。
ただ、アウトプットしているとたくさんの壁が出てくるでしょう。そのため、アウトプットして出てきた壁を乗り越える方法をご紹介しますね!
アウトプットして出てきた壁を乗り越える方法とは?
プログラミング学習サービスを使っている時は、ある程度答えが決まっているため進めやすいですよね。
ただ、オリジナルアプリを作り始めたときは別です。わからないところを自分でググったり、解決するために行動していく必要があります。
ググり方のコツは、「初心者が学習効率を飛躍的に上昇させる5つの秘訣」でも、解説しましたが・・・ぶっちゃけググっても解決できないことは、よくあります。
たくさんググって、試行錯誤しても解決しない問題がある時、大抵は視野が狭くなっているので、それ以上やってもムダ。
そんな時はお風呂入って、スッキリした状態で早めに寝て、翌朝に取り組むのが一番。
「うそだろ。。。」と思うくらいサクッと解決できる。
当たり前かもしれないけど、忘れがち。
— ウェブ系ウシジマくん@リモート専門エンジニア (@web_ushizima) May 8, 2019
こんな感じで時間を空けて解決することももちろんありますが、それでも解決できないこともあります。そのため、解決しやすい環境を作っておくことが重要です。
色々方法はありますが、ここではおすすめの方法を3つご紹介しますね。
方法1:オンラインコミュニティを活用する
1つ目が、オンラインコミュニティを活用する方法です。
Slackなどのチャットツールを使って、メンバー同士が交流しながら学習を進めていくことができるオンライン上のコミュニティのことです。月額はかかりますが、低価格で入ることができるのが特徴ですね。
エンジニア・プログラマー関連のコミュニティだと、ぼくは以下のコミュニティに入っています。
■人生逆転サロンの特徴
- プログラミングを学ぶための動画・テキストコンテンツがある
- サロンオーナーの神里さん以外にも、激つよエンジニアが多数在籍
- メンバー同士が相談できる環境としてSlackで気軽に話・質問ができる
つい先日も現役エンジニア数名が、オンライン上で画面共有してコードレビューをしていました。
リアルタイムに見ることができなくても、アーカイブコンテンツとして録画した動画が見れるようになっているので、時間をおいても見れるコンテンツがどんどんたまっていきます。
既にエンジニアとして長く働いていて、スキルがめっちゃ高い人が多数所属しているサロンはめっちゃコスパが良い環境なので、オンラインコミュニティはとてもおすすめです。
人生逆転サロンについて知りたい方はこちらからどうぞ → 人生逆転サロン
方法2:ITスクールを活用する
2つ目が、ITスクールを活用する方法です。
プログラミングの相談・コードレビューできる環境が手に入るだけでなく、キャリア相談をすることができるスクールもあります。
ただ、スクールによっては闇もあるためネットに出てきたまとめページだけを見てスクールを選ぶと・・・痛い目を見る人も多いです。
それを踏まえても、
- プログラミングの基礎からみっちり質問できる環境があること
- 将来のキャリアを相談しつつ学習を進めることができること
は、強力な武器となるのは間違いありません。
ただ、見極め方ってよくわからないですよね。「有効活用すれば圧倒的に時短できるけど、罠が多い・・・」という状況を打破するために、以下記事を公開しています。
ITスクール選び、キャリア形成を真剣に考えている人たちに向けて書いているので、ITスクール活用を考えている人は、ぜひ読んでみてくださいね!
独学で進める力ももちろん大事ですし、自分で考えて形にする力はプログラミング以外にも使えるので、鍛えること自体はとても重要です。ただ、ブーストさせる環境を近くに用意しつつ、どうするか自分で選択していった方がぶっちゃけ効率的です。
オンラインコミュニティ、ITスクールなど方法は何でもよいですが、早いうちに自分が相談できる環境をつくっていくと良いのではないでしょうか。
プログラミング案件でスキルを磨きあげる
相談できる環境を上手く活用しながらアウトプットしてスキルを磨いたあとは、実際に仕事を取ってサイト制作・開発などを進めていくことがおすすめです。
独学ベースで学習を進めていくと、作りたいアプリ・できるようになりたい技術ベースで進めていくため、自分視点になりがちです。先輩エンジニアに色々相談することで、学習の方針はつかめるかもしれませんが、自分で案件を請けて、手を動かして作ってみないと見えてこないことが山ほどあります。
そのため、案件を取る方法についていくつかご紹介しますね。
方法1:クラウドソーシングを活用する
1つ目は、クラウドソーシングを活用する方法です。
クラウドソーシングとは、サイトやアプリが欲しいけど作れない人と、作れる人をマッチングさせるサービスです。「こんなアプリを作ってほしい」という募集文に対して提案をして、仕事をとっていくようなイメージですね。
- 小規模案件も多い
- サービス仲介で案件が取れるため、トラブル対応しやすい
などの理由から、始めやすいのでおすすめです。
ただ、、、その分、低価格の仕事がとても多いです。そのため、副業として稼ぐことにも重きを置いている方は注意が必要ですね。
「こんなに安い単価なら続けるのキツイ・・・」と思ってしまう人も多いかもしれません。
ただ、クラウドソーシングは「実績積み上げ型の営業ツール」のようなイメージなので、そもそも最初から高単価案件を取ることは難しいです。
例えば、
- 実績数:3
- 評価:4.9
- 提案文の概要:具体的な実績が少ない
- 実績数:100
- 評価:4.9
- 提案文の概要:募集文に合わせた実績が書いてある
このようなケースの場合、後者の方にお願いしたいと思うのは当然ですよね。そのため、提案次第で上手く案件を取ることもできますが、アカウントのレベルを上げていくことも重要なのです。
逆に言うと、コツコツレベルを上げていけば案件は取りやすくなります。即金性をもとめるのではなく、徐々にアカウントレベルを鍛えながら案件もとれるようになりたいと思っている方におすすめですね。
方法2:相談している人から仕事をもらう
2つ目は、相談している人から仕事をもらう方法です。
小規模案件でも、いきなり一人で案件に挑戦することが不安な方もいるのではないでしょうか。スキルはあっても、案件挑戦が難しい・・・と感じる方は、プログラミングの相談をしている方、オンラインコミュニティの信頼のおける方に相談して仕事をもらうことがおすすめです。
すぐに仕事がもらえなくても、必要な技術やスキルを聞いてそれを勉強し、アウトプットして実力を示していけば仕事をもらえるようにもなります。
そもそも、プログラミングスキルを鍛えることと、仕事を取って案件を進めるスキルは別のスキルです。そのため、仕事を取るスキルを鍛えることにも時間がかかります。仕事をシェアしてもらえる環境があることで、プログラミング学習に集中することができるのです。
最近はフリーランス同士がチームを組んで仕事を回すスタイルも流行ってきています。所属してるコミュニティがあれば、ぜひ行動してみてはいかがでしょうか。
方法3:直接営業して仕事を取る
3つ目が、直接営業をして仕事を取る方法です。
これはもう言葉通りなのでですが、、、直接案件を取るためには最低限以下が必要です。
- 実績を見せるポートフォリオ
- 課題を分析して提案ができるスキル
- 直案件でも進められるプログラミングスキル
さきほどデメリットのように伝えましたが、プログラミングスキル以外にも、仕事を取るためのスキルを鍛えることができるのが特徴ですね。提案しても伝わらなかったときは原因を分析して改善していくこともできますし、その結果、ポートフォリオの精度もどんどん上がっていきます。
ただ、いきなり提案方法、必要なポートフォリオやスキルのレベル感ってよくわからないですよね。「直案件とりたいけど、どうやればいいの・・・?」と思う方がほとんどなのではないでしょうか。
そんな方には、以下がおすすめです!
仮に今後エンジニアやプログラマーに転職する人でも、営業して仕事を取るスキルがある人とない人では、視野の広さも変わってきます。ぜひ、直案件にも挑戦してみてくださいね。
方法4:エンジニア・プログラマーに転職する
4つ目は、エンジニア・プログラマーに転職する方法です。
未経験からプログラミングを学んでいる方は、エンジニア・プログラマーに転職するのもありです。1年 ~ 2年ほど現場でスキルを鍛えることで、プログラミング以外にもさまざまなスキルが身につきます。
- インフラ
- 設計
- 実装
- チーム開発
- テスト
- 質問力
転職活動はしないといけませんが、現場でスキルを圧倒的に鍛えることができます。
また、会社によって程度は違いますが、社員の成長を考えて振る仕事をコントロールしてくれます。
完璧にゆだねることはNGですが、着実に成長していきたい方にはおすすめですね。
まとめ
今回は、プログラミングスキルを仕事で使えるスキルに鍛え上げる方法について解説しました。
いくつか方法をご紹介しましたが・・・ぶっちゃけ正解はありません。「これが正解だ!」と思って突き進むのではなく、常に、
- 考え方はあっているか
- 行動していることは、自分が決めたゴールに向かっているか
- 出来なかった理由はなんだろう?どうすれば上手くいくんだろう?
と自分で考えていくことが重要です。
上手く相談する環境も活用しつつ、ぜひプログラミングスキルを高めていってくださいね!