島までは遠い

佐藤正志@サークルアラウンドのことが少しわかる場所。プログラマーを育てるトレーナーとして、現役のソフトウェア技術者として、経営者の端くれとして、想うことをつづる予定。しばらくは工事中。

「未経験からプログラミングを学んで就職するには」で一つのアプローチを整理してみました

f:id:ms2sato:20180807185426j:plain

はじめに

以前に比べて「職の為に技術を学ぶ」という方が増えたのか、弊社のWEBプログラミング個別トレーニングWEBサービスチーム開発トレーニング でもそういう要望のお問い合わせが増えてきています。私もそれに応えるべく日夜奮闘しているわけですが、そもそもどういう形で学んでいくと良いステップなのかを一度考えてみようと思いました。

正攻法

ゴールを考える

最終的にどういう状態になれればゴールたる就職に辿り着けるのでしょうか。 例えば巷でよく言われるのは「業務経験一年以上」などのような期間で区切られることであると思います。ただ、この切り口はたまごニワトリの話になってしまいますね。最初の業務経験を得たいのに、その条件が業務経験を積むことであるという命題はまともには解けないでしょう。

この「業務経験一年」を分解したいと思います。「どうしても一年で無ければならないはずはない」と多くの人は気づいている筈です。例えば以下のようないくつかの要素に分解できると思います。一年も業務ができていれば、これらが大抵備わっているだろうと予見できるために、一年という期間が使われるのでしょう。

  • ある程度作れる事を相手に証明できる。
  • 作れるだけではなくて、作るチームとマッチしたコミュニケーションが取れる はず
  • 最初から手間が膨大にかかるわけでは無い はず(実はこれが大きい会社も多いかも?)

逆に考えると「こういう要素が備わっている」と認めさせる道具が必要であるということですね。

自分の情報が見える化されていること

ゴールを分解したので、それぞれからもう少し自分の行動レベルに落としてみたいです。例えば以下のような感じでしょうか。

  • 作ったものがある(最低条件)
    • 少なくとも作った経験をアピールできる。
    • チュートリアルなど「どこかにあるものを写したものでは無い」ことが推察できること。
    • 作ったものについて、語れること。
      • コピペコピペで作ったりすると語れない。
  • 成長の過程が示されている
    • ブログなりでも良いし、Qiitaなりでもなんでも良いが、アウトプットされていて、日々の悩みや作る上で考えたことが示されている。
    • どういう課題をどのように越えてきたのかが辿れる。
    • GitHubなどのコードが存在し、日々コミットを積み重ねていることがわかる。
  • チーム活動の経験を示せる(稀有)
    • どこかの何かのチームでの活動を示せる。
      • 可能ならGitHub上でのIssueやPR、コミュニケーションが見えると良い。
    • 経験者がいて統制しているなど、チームの作法がしっかりしているとより良い。
      • 「ただ集まっています」という形はチームではないので。 GitHub-Flowで進めているなど。
    • お金が発生しているなら尚良い。

何かオリジナルで作ったものを持っていれば、その人が現在どれくらいの能力か推し量る為の道具になります。それも無しに「雇ってください」だけを押しても、別のプラスアルファがない限りは望みが薄いでしょう。

この時技術だけ見てもらいたいなら何かのサービスの真似のようなものでも構わないと思います(仕様を真似て作成するという意味)。逆に自分がサービスについて考える頭を持っているとか、ローンチして継続ユーザを獲得したサービスがあったりして、その意味でも評価して欲しいなら特異な自分なりのサービスもありでしょう。

チームに参加したのなら、PRやIssueで行なっているコミュニケーションを見てもらうと良いと思います。適切な質問ができるかとか、どういう細やかさで仕事に対応してくれるかが見せられるはずです。

どんなもの作ったら良いのか、的な話はこの辺に書きました。参考にしてください。 ms2sato.circlearound.co.jp

紹介してくれる人がいる

ある程度の信頼を獲得している人からの紹介は物事をスムーズに進める原動力です。この場合であれば、就職したい先の企業とある程度の関係性を築けている第三者の手助けを借りるのは有利な考え方だと思います。

ただし、紹介してくれる間の人があなたのことを第一に考える人かどうかは、吟味の余地があります。例えば有料職業紹介で繋がっているような場合には、会社のKPIとして「何名会社に送り込むことができたのか」という条件が課されている場合があり(企業活動なら当然あると思います)、その数字を稼ぐために利用されるケースがあります。つまり、紹介された先があなたにとってマッチする会社であるかがわからない可能性があります。

とは言え世の中自分の有利だけを考える人ばかりでは無いのと、この後の割り切りの話も含めてバランスになるだろうとは思います。

あなたの希望を優先して考えてくれているかどうかは一つの切り口です。そもそもの実力が届いていない場合には、紹介者もレベルの高い会社を紹介できない場合があり、希望のランクを下げざるを得ないケースはあるでしょう。

紹介者に出会うには?

この点も気になるポイントかもしれません。

  • イベントなどの場所で出会う(勉強会の懇親会とかどうでしょう)
  • Twitterやオンラインのコミュニティ(の人も最近はいそうなので)
  • 転職エージェントなどを頼む
  • 技術を学んだ場所で行なっている紹介を頼む

個人的にはイベントなどでオフラインの繋がりができていると強いなぁと思います。勉強会自体に尻込みする人もいてしまう様子ですが、少し人数多めのセミナー型の勉強会なら基本的には大人しく座って入れば他人に迷惑をかけることはありません。懇親会では会話する必要が出てくるとは思うのですが、まだ始めたばかりだということを言ったとして酷い扱いをされることはそうそうないと思います。

割り切る必要性

  • 「あなたにマッチする会社は世界のどこかにはあるかもしれない」
  • 「あなたがそれを見つけられるとは限らない」
  • 「見つけられないなら無いのと同じ」

イメージとして賃貸の物件探しと似ていると思います。あっちを立てればこっちは立たずのはずで、全てがパーフェクトにはなかなかできない。「要望が増えれば、可能性は減る」ということかと。例えば下記のようなことでしょうか。何を求めるかを絞った方が良いと思います。

  • 給与が高いか
  • 丁寧なフォローがあるか
  • 腕のいい先輩エンジニアに師事できるか
  • 残業が少ないか
  • 福利厚生が充実しているか
  • リモートワークできるか

オプション

これまでは自分の技術をなるべく認めてもらう切り口で考えていたのですが、それとは違うものだったり、上記を踏まえた上でプラスアルファになりそうなことを少し考えてみました。

前職などの経験値を持って入社はするが「将来技術職になる」ということを明言し、それを会社に配慮してもらう。

会社としては、他のことで貢献してもらえるのであれば、雇いやすくなるはずです。なので、最初は前職の能力などを考慮してもらい、徐々に技術職に近づく方法。 「これが口約束にならないか」とか「実際に転向できるのが何年後なのか」とか不確定な要素はあります。

社長など権力のある人に気に入られて、ルートを手に入れる。

誰かしら社内で気に入ってくれている人がいればやりやすいですし、最高権力者が買ってくれるなら相当やりやすいでしょう。ただ、こういう方法はやれる人を選びますし、周囲からの反感など、ちょっぴり心配なところもありますね。

[PR] 弊社の場合

WEBプログラミング個別トレーニング からの WEBサービスチーム開発トレーニング という最近多い流れだと、個別トレーニングで自分のサービスを何か作り、チーム開発に参加してチームでの経験を積む、みたいな流れになりますね。 多くはありませんが私から知っている会社さんを紹介して*1、チーム開発のリポジトリを見てもらったりもしますよ。 そうやってなるべくお互いのミスマッチが減らせると良いなと思います。

今後、もっとミスマッチを減らせる方法も追加していく予定です*2。その為には引き続き色々とやっていく必要がありそうです。

*1:募集中です!

*2:試しにやっていることはチョイチョイありますが、正式にコミットするまでなかなか至っていないことがあったりします