初級者がプログラミングのお仕事を受注するにあたっての注意点

初級者がプログラミングのお仕事を受注するにあたっての注意点

初級者がプログラミングのお仕事を受注するにあたっての注意点

プログラミングスクールのお手伝いの際に「どうやって受注したらいいか」との質問を受けました。
今回はそんなところをまとめてみたいと思います。

プログラミングスクールの問題点

現場では「スクール上りのプログラマは使えない」とまことしやかに言われています。
実際にそんな認識をしている上級プログラマも多くいらっしゃいます。
なぜでしょうか。

現場では『できる人』が欲しい

当たり前ですよね。依頼主側が欲しいのは【即戦力】の人材です。
でも、スクール卒業と同時に【即戦力】の力を持つ人はとても少ないです。
この理由の1つに『経験不足』があげられます。

現場で求められる経験とは

現場ではエラーの原因究明と修正のスキルが必要です。
プログラミングはエラーとの闘いです。

start ⇒ コード記載<────┐
※再試   ↓        │
┌───>テスト ──────┘
│     ↓
│    エラー発見
│     ↓
│    原因究明
│     ↓
│    エラー修正
└─────┘

初めから完璧なコードを記載することは凡人には不可能です。
そのため、多くの場合は【テスト⇒エラー修正】のループを回してコードを仕上げていくことになります。

そう、この時の『原因究明』のスキルこそが企業側の求めている【経験】だったりします。
そして、これが「スクール上りは役に立たない」と言われてしまう原因になっていたりします。

スクールでしっかり経験を積むために止めるべき事

プログラミングの案件には「自走できる人」と書いてあることがあります。

「自走できる人」=「自分で調べて解決できる人」

一般的な会社では解らない事があれば「ガンガン聞いて身に付けていく」ことも可能です。
しかし、プログラミングの場合は同じエラーでも原因が異なっていたりします。
そのため、「わからない/うまくできない」に回答しようとすると「コードレビュー」から始める必要があります。
これが度々発生すると全体の工期に影響が出てきますので企業的には利益に直結します。

クレクレ君はよろしくない

先程記載した通り、現場で欲しい人材は【自走できる人】です。
このためには、同じようなエラーを何回も出し何回も調べ何回も解決した経験がものを言います。
エラーコードと状況、変数がどうなっているかなど解決に導く嗅覚が効くようになってくるからです。

  • 折角のスクールだからエラーが出たら聞いてテキストを進めよう
  • お金を払っているのだから聞かないと勿体ない

言いたいことは良く分かるのですが、チョット考えてすぐ聞く行為は(プログラミングの仕事をしたいのであれば)お勧めしません。エラーの原因究明という絶好の学習機会を逃しています。

エラーを出さない事よりもエラーを出して原因を探すことに注力する

  • data と書くところを date と書いている
  • 半角スペースではなく全角スペースが入っている

例えば私だったらこんなスペルミスをよくします。
でも、ミスをして原因が全く分からず最終的に「あ”ーーーこれかーーー(泣)」という経験をしているから発見しやすいミスであったりもします。

スクールに通っている間は聞ける状況があるのでエラー修正の仕方を聞くのは構いません。
むしろ解らない事は聞くべきですが、その前に大いに悩む必要があると思います。
スクールでは間違えても怒られることはありません。大いに悩んで、即戦力に近づいていきましょう。

【教育】を受けるという認識/意識は捨てる

上級プログラマの方でも何社も現場を経験して『今の現場』にいたりします。
そして、そういった方達も雇用契約が「準委任」であることがほとんどです。
つまり、教育してもいなくなる可能性も高く依頼主側の「教育」という意識は決して高いとは言えません。
自分で能動的に動ける方を依頼主側が求める理由にはこういった背景もあります。

スクールに通っている期間中もこの意識を捨て自分から色々実験していきましょう。

プログラミングの仕事って初級者でもすぐ見つかるもの?

これについては何とも言い難い点があります。
案件探しの際の障害になる事柄が3点ほどあります。

  1. 1か月100%勤務(160時間)可能か
  2. チーム開発経験があるか
  3. プログラミングの実績があるか

この3点を満足している場合は、最低でも50万円/月からの案件にありつけます。
月100万越えの方もザラにいるのがプログラマの世界です。
ただ、スクール上りの初心者には【項目2/3】が案件探しの障害になってきます。

実績作りにCloudWorksなどを利用しようと思うけどどうなの?

あまりお勧めしません。
理由はこういったサイトに多い案件はセミプロ向け(プログラマ崩れ向け)で初心者向けではないからです。

  1. 納期が短い案件が多い
  2. 具体的な内容が曖昧な案件が多い(要件定義が必要になる)
  3. 受託後に「そもそも無茶振り」である事が発覚する案件が存在する

「発注主がプログラマでない」事がこれらの原因です。

ある程度地力があり、プログラミングできるけど何故かノーマルな案件に手を出さないセミプロの方達であれば知識も豊富で乗り越える事が出来ますが、初手ではなかなか厳しいです。
そして、うまく受託できても競争により実入り(受注金額)が非常に少ないという現実があります。

否定はしませんが、案件紹介サイトに登録してエージェントさんについてもらった方が絶対に得です。

項目3の実績は自己案件で解消していく

プログラミングを覚えればやりたいことは沢山出てくると思います。

  • 現在勤務している会社の実績をグラフで見える化しよう
  • Googelサジェストのランキングを作ってみよう
  • 楽天市場やAmazonの商品価格変動を追ってみよう
  • 登録した人に一斉メールを送信する仕組みを作ってみよう
  • 町内会の配りものを作成するアプリを作ってみよう
  • 自分のポートフォリオや業務経歴書を生成する仕組みを作ってみよう etc.

こういった思い付きをひとつづつ実装してみましょう。
スクールと違いテキストに沿った決まった事をやるわけではないので経験値は多くたまります。
思い付きから形にしていきますので、画面遷移を考えたりDB構造を考えたりと要件定義から行う事になります。

費用は掛かってしまいますが、案件を探す期間中はこういった作成したプログラムをサーバーを借りて公開してみたりするとより目を引きます。特に、ログイン機能を備えたportfolioサイトを作成しておき、その中に作成した仕組みを登録しておくと面談時に画面共有して見せたりできるのでとても有効で、プログラマとしての実務経験がなくてもかなりのパンチ力になるようです。

まとめ

現時点ではプログラマ人口が少ないため、プログラマの収入はとても高くなっています。

  1. 案件紹介サイトに登録し、エージェントについてもらう
  2. エラーが出ても原因究明できるスキルを身に付ける

これができれば50万/月の収入なんて簡単です。

ECで50万の利益を上げようとすると250万程度の売り上げが必要です。
広告をふんだんに利用しているサイトさんでは400万の売り上げでも60万程度の利益だったりします。
楽天市場の平均が470万ですが、これは中央値ではなく平均値です。
中央値としては250万/月程度ではないかと言われています。

それを考えるとプログラミング技術があるだけでどれだけ稼ぎやすいかわかりますよね。
頑張って習得していきましょう!