「楽して稼ぎたい」という思いでプログラミングを勉強している方は多いと思います。
でも、ビジネスの世界はプログラミングスクール上がりや独学で頑張ってきた方たちには厳しい場所でもあります。
私も新卒で会社に入ってから、開発させてもらえず、半年くらいは独学をしました。
でも、初めての開発案件(3カ月間)の時は相当苦労しました。
実務レベルの開発は初めてなので、当然ではあるのですが…
ということで、どうやって勉強から実務レベルに力を付けていったか紹介します。
プログラミングは勉強したが、仕事ができるか不安
スクールに通おうとしているが、手に職が就くか不安
IT転職を考えているが、スキルアップ方法が分からない
プログラミングスクール上がりor独学では実務レベルには届かない
スクールあがりや、独学で鍛えてきたプログラマーの9割以上は実務ではまだ役に立ちません。
例えるなら、プロ野球の世界で高校生ドラフトが即戦力になる確率と同じくらい即戦力になるのは難しいです。
なので、軽い気持ちでプログラミングスクールに行ったり、独学に時間を使い過ぎたら勿体ないです。
理由1:責任感が養われていない
プログラミングスクールや、独学で課題をこなしても、責任感は身に付かないからです。
結果が求められないと責任感は生まれません。
仕事の場合、お客さんがいます。
そして、求められたシステムやウェブサイトを作成して納品する必要があります。
しかも、納品日が決まっているということは、そのサービスや業務を開始する日も同じ日、もしくは数日後です。
つまり、納期が遅れると、数百人~数万人と言う規模で迷惑をかけることになるのです。
ここは独学やスクールでは感じることができないことです。
この経験を繰り返すことで成長していきます。
「お尻に火が付いた状態が一番成長する」と私の親は言っていますが、その通りです。
理由2:技術が足りていない
開発現場のレベルの高さは、始めて体感したときにかなりビビると思います。
ある程度は書いたりできるはずです。
でも、スクールや独学でやっていたことと比べると、とても複雑な処理が必要になります。
会社勤めの方で、若いころの開発を残業なしで完了できる人はいないのではないかと思います。
僕が試したこと1:アプリを真似て作る(技術UP)
私の場合、ドキドキ郵便と同じようなアプリを作りました。
技術を補うには、世に出ているアプリの疑似版を作れればOKだろうと考えたからです。
この時、javaとMysqlの完全独学をしました。
開発環境はスマホアプリ作成用にAndroid Studioをインストールです。
当時の仕事終わりに独学で開発して7ヵ月くらい奮闘しました。
私の行った手順は以下です。
①ドキドキ郵便の動作を見て自分なりに設計
期間:1週間
②開発環境準備(Android StudioとMysqlインストール)
期間:3週間
③アプリの開発
期間:6ヵ月
①ドキドキ郵便の動作を見て自分なりに設計
使ったことがあるアプリだったので、意外とどんな処理を書けば動くかは想像がついていました。
なので、1週間くらいかけて簡単な設計を行いました。
ここは結構面白かったです。
「ランダムにアプリユーザにどうやってメッセージを送るんだ?」と考えたりしました。
私の場合、MysqlのSQLを使ってランダムにユーザを取る方法にしました。
やり方は色々あると思います。
当時は苦労したので、備忘録としてブログに残していました。
②開発環境準備(インストール)
開発環境の準備に3週間もかかりました。
理由は、当時の私のノートPCのスペックです。
Windows8でCPUはCore i 3でメモリが4GB でした。
そのせいで、Android Studioを起動すると、PCが固まりました。
4年くらい使ったいたこともあり、結局、新しいノートPCを買いました。
当時は自分でカスタマイズするBTOパソコンを、Lenovo公式サイト
FRONTIERでも良いものがありましたが、何となくデザインが好みじゃなかったのでLenovoにしました。
③アプリの開発
Javaは初めてだったので、独特の書き方や概念のようなものがあり苦労しました。
一つのエラー解決に数日かかることもざらにありました。
自分のPC上でandroidスマホを動かして、動作するところまでは作成しました。
ランダムに誰かにメッセージを送信するプログラムを書いたのがこちらの記事です。
Android Studioを使えば、PC上でandroidスマホを操作できます。
ただ、リリースはできませんでした。
というのも、この後レンタルサーバにデータベースやアプリを乗せる必要があったので、諦めました…
ただ、「そこそこ開発ができるようになった」と自信がついたこともあり手を止めました。
プログラミングを始めて1年半くらいだったので、サーバとかインフラ面の知識がなさ過ぎたことが分かったのも収穫でした。
もう一回サーバに乗せてサービス化してみようかな…
僕が試したこと2:プログラミングで作ったものを販売してみる(技術UP)
「こんなものがあったらいいんじゃないかな?」と思い付いたものを作りました。
仕事で使っていた言語はVB.netでしたが、あまり番人受けするものが作れそうになかったので、ExcelのVBAを独学しました。
普段のいろんな方の業務を見ていると、Excelが多かったのも理由です。
VB.netとJavaをそこそこ使えていたので、VBAはすぐにマスターできました。
例えば、ExcelのVBAで以下のように添付ファイルを付けてメールを送信するツールを作成しました。
この3カ月くらいでも3,000円弱の売り上げでした。
金額は決して大きな額ではないですが、自分で作ったものが売れるというのはとてもうれしいことです。
思い付きベースで、こずかい稼ぎくらいの目的ですが、続けていこうと思っています。
僕が試したこと3:情報が少ないことをブログにして発信(技術UP)
ブログで覚えたことを発信してみるのも悪くないです。
理由は3つあります。
頭が整理される
「発信する=分かりやすくまとめようとする」ことになります。
結果的に、自分の頭の中でも覚えたことが整理されます。
アウトプットを数多くやることで、より頭の中にも残るので忘れにくいです。
これが実践で覚えた知識の更なる定着に繋がります。
自分の悩みが誰かの役に立つことが分かる
自分が書こうとしていたプログラムの書き方がWEBにあまり載っていないことがたまにあります。
例えば、ブログ開始初期に書いた以下は2年くらいたってもアクセスが多いです。
つまり、自分が苦労したことはいろんな人が他で苦労しているのです。
そして、自分のブログを見て行き詰った悩みを解消するということになります。
そう思うと、ブログやってて「うれしいな」って思えたりします。
その嬉しさは、プログラミングを続けるモチベーションにもなるのです。
お金も稼げる
アフィリエイトほぼ使わず、アドセンス広告だけですが、1年半で合計26,000円くらいの収入になりました。
最近では一ヵ月で2,500円近く稼げるようになりました。
私の場合は、3カ月くらいでアドセンス広告の収入が1,000円を超えました。
サーバの仕組みにも詳しくなれるので、ブログも並行してみる価値はあると思います。
オススメ方法1:クラウドソーシングで実務を経験する(責任感UP)
責任感を養うには、やはり納期や実際にお客さんと接する必要があります。
実務経験を積む一つの案が、クラウドソーシングで仕事を受けることです。
例えば、クラウドワークスなどで仕事を受けることは可能です。
クラウドテックはエンジニア系の案件のみを扱っており、そこそこのレベルの案件多いです。
WEB系にしても、バック系の言語にしても、まずは1万~2万円の案件を受けてみると良いです。
※全くの未経験だと難しいかもしれないので、プロフィールに自分が作ったアプリやツールなどの紹介を入れておく方が良いです。
オススメ方法2:就職して開発経験を積む(責任感UP)
実際に現場で通用するためには、やはり仕事を受けてみることが一番早いです。
IT業界は人手不足のため、就職自体はしやすく、売り手市場です。
経産省によると以下の予測が出ています。
・2020年時点で「約37万人足りない」
・2030年時点で「約79万人足りない」
マイナビエージェントなどから転職をして、そこで実力を身に着けていくのも近道です。
色々試した結果の現状
責任感、技術面をレベルアップするために色々と私もやってきました。
結果的に、そこそこ通じるレベルにはなっていると思います。
トップレベルには行きませんが、仕事はこなせているので真ん中のレベルにはいるはずです。
結局はどんな方法であっても、実践レベルに行ければ、それでOKです。
私の試している方法以外でも、実践に役立てられると思うものがあればどんどん試してみて下さい。