株式会社ロケットスタートに入社して、毎週月曜と木曜の二回、始業前の朝9:00〜10:00に、nanapi創業者元CTOのwadapからプログラミングを教えてもらっていました。

ロケットスタートにはデザイナーとして入社したのですが、始めの頃は本当にめちゃくちゃポンコツで何の役にも立てず「このままではわたしを雇ったことを経営陣全員が後悔してしまう!やばい!」と焦ったのがきっかけです。 当時の開発部はわたしとwadapのふたりだけだったので、プログラミングを理解することで少しでもコミュニケーションを円滑にできれば、という切実な願いでもありました。

プログラミングのセンスには全く自信はありませんでしたが、wadapみたいなnanapiをひとりでサクッと作っちゃうすごいエンジニアにプログラミングのことを初めて教えてもらえるなんてラッキーすぎるし(しかも無料)(しかも終わると挽いた豆でコーヒーを淹れてくれる)頑張ってついていったのを覚えています。人生で一番まじめに予習と復習もした。

内容はインターネットの仕組みという超初歩的なことから、PHP、DB、SQLまで広範囲に。

いまのnanapiはRuby on Railsですが、当時はPHPだったのでPHPの基礎も学習。 ループ処理、if文から始め、最終的には自作の掲示板を作成するところまで一通りやってみました。 ページングをスクラッチで書くのは本当にキツかった。いまだから笑って話せますが、当時は本気泣きしたの覚えてます。 逆にDBを作って情報をぶっこみ、SQL叩いてデータ引っ張り出すあれこれはめっちゃ楽しかったです。

01

↑夜遅くにホワイトボードに書いてもらったページングのヒント。(基礎編なので脆弱性あり)このあとwadapとtakumixが飲みに連れて行って慰めてくれた、という話はまたどこかで。

その後、ロケットスタートから株式会社nanapiになり入社する人数が増えても、入社した人(エンジニア以外)は全員wadapのプログラミング講座を受講する、という流れになりました。 編集でもディレクターでもデザイナーでもみんなです。 全員がバリバリにPHPを書けるようになる!というよりは、nanapiはどうやって動いているのか、エンジニアはどんなことをしているのか、などを理解して技術の目線を上げる、ということが目的でした。

wadap自身も2014年にブログに書いてます。→ 技術そのものがリスペクトされる風土がこれからは大事なんだと思う - UNIX的なアレ

前提が長くなっちゃいましたが、という昔話をなぜしたくなったかというと、あれから、デザイナー、ディレクター、プロデューサー、と経験してきて 「あのときプログラミングを学んでおいてよかったなあ」ということがめっちゃあるなーっていうのと、 最近チームのエンジニアと話していてもそう思うことが多いので、ブログに書いてみることにしました。

<デザイナーの頃>

  • 実装についてエンジニアと話がしやすい
  • 主にコーディングなどで先を読んで対応できる

<ディレクターの頃>

  • やろうとしていることの先の処理が想像できる
  • データの扱い方について発想が広がる
  • 開発の工数予想ができる

<プロデューサーの今>

  • 実装イメージの抽象度が下げられる
  • プロダクトで問題が起きたときに対処法を想像できる
  • 所持しているデータについて理解し責任が取れる
  • 各業務のコストダウンに関する発想ができる
  • その他各種コストが計算しやすい

と、ざっと出してみましたが、たぶんもっとある。学んでいなかったらできなかったことも多いです。

もちろん、プログラムをがっつりと書くことはできませんが、知識として知っているだけでできることはすごく増えますし、円滑にできるコミュニケーションもめちゃくちゃ増えます。 エンジニアと話していて、わたしの知識が足りていないところは今もまだ当然あるけど、話をする上でベースがあるとないとでは全然違うな〜って思います。(まだまだだろ!と思ったエンジニアの人、ごめんね!精進いたします)

本当に学んでおいて良いことしかなかったので、エンジニアじゃない人も知識として一通り薄くでもかじっておくと、 のちに自分のスキルの底上げや、サービスを作る上での土台になるのでおすすめです、という話でした。 Gitを使っている会社だったら、自分が使ってなくてもGitの概要ぐらいは理解してみるとなんかのときに役立つかもしれないです。

いまはプログラミングを学ぶサービスなんかもたくさんあるので、わざわざ誰かに教えてもらわずとも学べるから良いですよね。(2010年はあんまなかった気がする)