今回のメンターインタビューは、自身でもプログラミングの学習サイトを運営している桜舞春人さんにお話を伺いました。どうやってプログラミングを習得してきたのか、プログラミングを学習する人に向けたアドバイスを語ってもらっています。
プロフィール:桜舞春人
東京都在住。9歳の時にプログラミングを学び始め、現在はエンジニアとして色々な企業の開発に携わる。個人としてもプログラミングの学習に役立つWebサイトを運営中。
9歳のときにプログラミングを始め16歳でITの会社へ
――簡単に自己紹介をお願いします。
桜舞 春人と申します。
プログラミングを始めたのは9歳のときで、そのときはC言語をよく書いていました。
16歳の頃にIT開発会社にアルバイトとして入社し、それからはずっとプログラマーとして働いています。
今は独立して色々な企業さんの開発をお手伝いさせてもらっています。
――9歳のときは独学で学習していたんですか?
独学ですね。
当時、知り合いから壊れたWindows95をもらったんです。
幼少の頃からネジを回したり工作したりする事が好きだったので、いつものノリでパソコンの箱を開けてみたんですよね。そしたらCPUが焦げ付いていたんです。
なんとなくそれを取り替えれば動きそうだなと思い、秋葉原に行って事情を説明したら使い古しのCPUをただで頂きまして、そのCPUに乗せ替えたら思った通り動いたんです。
そのパソコンの仕組みや動作自体に凄く興味が湧いてしまって、何かちょっと作れるようになりたいなと思い始めたのがスタートでした。
――当時は今ほど学習手段も多くなかったと思いますが、どのように勉強されましたか。
当時はちょっと難しめの本を一生懸命読んだりしていました。
ただ、子供の頃はプログラミング自体の学習に苦戦した印象はあんまりなく、漢字やローマ字、英語が読めないことで苦しんでいたような記憶がありますね。
当時書いたソースコードを見たんですけれど、数値の1と0を足したり引いたりする形で分岐処理が構築されていました。
多分TrueやFalseの意味を理解できてなかったんだと思います。
――その後のアルバイトでは、どのような言語を触られていたんですか?
C++、Perl、HTML、JavaScript、SQL、あとJavaなどをやりました。
あとはデザイン系ですね。当時はPhotoshopやFireworksを使ってデザインを作っていました。
当時在籍していた会社の開発内容としては、受託でIT系のサービスを作るような感じで、iモード等のガラケー用のモバイルコンテンツとかを作ったりしていました。
まだスマホが存在していない時代でしたからね。
――その仕事を始めたきっかけは何だったんですか?
料理屋でアルバイトしていたんですが、そのときのお客さんにIT系事業の社長をやっている方がいらっしゃいまして、そのお客さんにちょっと趣味でプログラミングをしているというお話をしたんです。
そしたら「作品を見せて」と言われたので作品をみせてみると「これ一人で作ったの?凄いね!」と褒めてくれて、そこからその社長さんの会社で開発の仕事をするようになりました。
当時、料理屋のアルバイトのシフトにあまり入る事ができずお金に困っていたので、すごく助かった記憶があります。
自身のサイト「Web Programming Primer」ができたきっかけ
――ご自身で作成されているサイトについて教えていただけますか?
『Web Programming Primer(ウェブプログラミングプライマー)』というサイトです。2014年の春頃に始めて、ちょうど3年ぐらい運営しています。
――このサイトを作成したきっかけは何だったんですか?
当時、在籍している社員さんに向けたプログラミングの教育をしてほしいという依頼を色々な企業さんから結構いただいていたんです。
最初のうちは毎回資料を作っていたんですが、結局同じような内容の資料になってしまっていて非効率だったので、一度しっかりしたものを作ろうと思ったんですね。
そして、続けていくうちに初心者の人がつまずくポイントとかも段々分かってきたので、ならいっそのこと作った資料を公開してしまおうと思ったのがきっかけです。
あと「ここを見れば答えが分かる」といったものを作りたかったっていうのもあります。
――記事はどういう風に作っているんですか?
記事の数は100本程度あるんですが、ほぼ全て自分の知識と経験だけで書いています。
参考にしている資料はオライリー(O’Reilly Japan)さんの本と各言語の公式サイトぐらいになりますね。
初めてプログラミングを学ぶ人にとって何から学ぶかといった順番ってとても大事だと思うので、分かりやすい順番・カリキュラムを自分なりに作っていくようなイメージを常に持つよう心掛けてます。
これは記事を作る上でもメンターとして指導する上でも同じですね。
独立して活動するまでの経緯
――どういう経緯で独立したのか教えてください。
最初に勤めていた会社が倒産してしまったので就職活動を始めたんです。
でもITバブルの崩壊やリーマンショックで中々正社員としての仕事が見つからなくて、仕方なく派遣社員をやることになったんですよね。
その時にあまり給料が良くなくて苦しいっていう話を知り合いにしたら独立を勧められて、それならと自分でちょっと営業をしてみたんです。
そしたら思った以上に仕事が取れたので「じゃあ独立しちゃおうか」って思い立ったのがきっかけです。
その後は開発を手伝ったり、社員さんの教育をしたりする業務をこなしている感じですね。
教育や指導に関しては、簡単なWebサービスを作ってみることが学習内容として一番最適かなと考えているので、PHPやJavaScriptを使って指導することが多いです。
――非エンジニアの方を指導する上で、難しかったことはありますか?
概念を説明するのが難しかったですね。プログラミングもITもよく分からないという人に噛み砕いて説明するのがとても難しかったです。
――独立してから、今は仕事はどのような形で仕事を受けているんですか?
仲介会社さんが何社かいまして、その方たちから依頼を受けています。
――これからフリーランスを目指す方がどうやって仕事を得れば良いか秘訣などはありますか?
仕事をいっぱい持っててマージンをあまり取らない仲介会社さんを探して仲良くなる事ですね。
最初は持ってる情報が少なかったりして仲介会社さんを上手く取捨選択する事ができないかもしれませんが、いろんな業務をこなしつつ情報を集めたり信頼を作っていったりして、その中で自分に合ったところを選ぶという流れがいいと思います。
――組織の中でプログラマーとして勤められていたときと、今フリーでお仕事されているときとの違いなどはありますか。
正社員で働く事とフリーで働く事の違いはあまり感じませんね。
なので手に技術がある状態で独立することはメリットばかりだと思います。
ただ、知識や技術力、社会常識等がちゃんと身に付いていないとお客さんの依頼に応えられないと思うので、その辺は会社で学ぶなり学校に通うなり、しっかり習得してから独立するという手順を踏むと良いかもしれません。
自分も初めて就職した会社がIT系の開発会社だったので、社会常識と技術、両方学ぶ事が出来たというのがやっぱり大きいです。
その時に学んだことは現在のフリーとしての働きに活きていますね。
高い技術を持っている人のそばに身を置く
――これからプログラミングを始める人に対して、何から始めたらいいとかはありますか。
最近だとRubyやPHP、もしくはHTML/CSS、JavaScriptなど学習ハードルの低い言語から始めるのが良いと思います。多くの人が使っている言語だともし自分がつまずいても誰かしら同じポイントでつまずいていて、その解決策がネット上に載っているので、理解も早いはずです。
作りたいものやアイデアがある人は、事前に分かる人に聞いた方がいいですね。
――メンターとしていろんな人を見てきた中で「こういう人はプログラミングの理解が早い」という人っていますか?
メールとかスケジュールの立て方が上手い人、論理的思考のできる人は覚えるのが早い気がします。あとは熱意にもよるところも大きいですね。自分の場合は、子どもの時ものすごく熱中して一日中やっていたので、そういうモチベーションがある人は自然と身につくと思います。
プログラミングは、実際に何か作りながら理解していくことが多いので、ちょっと分からない文法や知識が出てきても細かい部分に気を取られないで、とりあえず先に進んでみる人の方が結果的に早く身についてる気がします。
――最後にこれから学習を始める人に、エンジニアとして勉強方法などのアドバイスがあればお願いします。
凄い技術を持っている人のそばにいることですね。これはプログラミングに限らず重要なことかなと思います。独学であったとしても、自分の作品を誰かに見てもらう環境に常に身を置くことが大切かなと思いますね。
(インタビュアー:小嶋大貴)