見出し画像

何かができるようになるには時間がかかる件(僕が15年かけてプログラミングちょっとできるようになった経緯紹介)

ご縁あって九州の学生しか参加できないアプリ開発イベント「チャレキャラ」にツールスポンサーさせて頂くことになりました。


途中でくじけない意思

アプリ開発には、惜しまず時間を注ぎ込む情熱と、途中でくじけない意思が必要です。

わかる…。「未経験から3ヶ月スクールへ行っただけで年収○○万円」みたいな広告につられて現職退職したものの、そんなにうまく行かず露頭に迷うみたいな人もいるみたい。(最近はだいぶ減った?)

未経験からギター初めて3ヶ月で武道館でライブできる確率とかもゼロじゃないし過去にそういう人いたのかもしれないけどギターもプログラミングもできるようになるためにはある程度時間がかかる。

今回は僕のもがきながらの15年間を共有することで何かの参考になってもらえると幸いです。

伝えたいことは「今は15年もかけずにできるようになる仕組みが整ってきているのでいい時代」ということです。

最初はノーコード

2001年、もう20年以上前の話なのでGoogle画像検索しても出てこないのですが「MSNコミュニティ」というサービスがありました。
当時高校生だった僕は学校の英語の授業だけでは英語を話せるようにならないなと思い、英語でチャットができればいいのではと考えた。
しかし、英検3級レベルの僕がいきなり海外の人とチャットするのは敷居が高い。「日本人同士で英語で話せばわからない時日本語使えるからいいのでは」と思ってそういうコミュニティを立ち上げてみたら1日で50人ぐらい集まった。インターネット面白いなって一番最初に感じたのはノーコードでした。

WordのWeb用に保存

その後、Wordにファイルを保存しようとしたら「Webページ」として保存という選択肢をたまたま発見、これをFFFTPというフリーソフトを使って契約しているプロパイダの10MBぐらいの場所にアップロードすると公開できた。
そう、HTML作って公開する過程全てノーコードでできるのでした。

mixiアプリアワード受賞

2007年に起業したんですけど自分よりプログラミングできる人と一緒に立ち上げたので自分がプログラミングできるようになると思ってませんでした。
2010年にSNSのmixi上に自分のアプリを作れるということで僕は趣味感覚で「人生時計」というアプリを作りました。

朝5時に0歳でスタートして1秒で12時間進むので
・2秒で1日
・1分で1ヶ月
・12分で1年
・1時間で5年
・朝9時に20歳(成人)
・夕方17時に60歳(定年)
みたいな感じで毎日一生が体験できてマイミクのその歳何をしていた(している予定)も見られるというものでした。
今考えたらこの頃から時間を扱うアプリ開発に興味あったのかも。

EDUPEDIA

後述するフリーランス協会もそうですが、予算が発生するプロジェクトは僕じゃないメンバーをアサインするのですがこういう非営利プロジェクトで対価を頂かないものは僕がコーディングチャンスでした。
このEDUPEDIAも当時PukiWikiというものが使われていたのですがこれをCakePHPで実装しました。今は僕の手を離れて別のエンジニアさんで運営されています。

parse.comで245cloud

2014年にはparse.comという今で言うFirebaseみたいなやつと出会いました。
BaaS(Backend as a Service)と呼ばれるものでフロントのJSさえ書けばサーバサイドの保存や参照、さらにはFacebookログインまでわざわざコード書かなくても全部やってくれるというもので、これを使って245cloudという音楽を聞きながらポモドーロテクニックできるアプリを作りました。

ただ、このparse.comが2016年でサービス終了することになりました。
僕は頑張って移管作業したけどできないアプリは終了に。

「個人が作りたいものを作れるためのインフラ提供はいかに死なずに継続するかがとても大切」という学びを得ました。

kintoneをフル活用した「フリーランス協会」

今でこそ年会費1万円で有料会員1万人以上いて1億円以上になっているフリーランス協会ですが発足時は理事長のマリさんが1円も受け取らずに情熱だけで寝ずに対応しており、僕もお金受け取らずに開発。kintone、Heroku、StripeのAPIをフル活用。管理画面は全てkintoneなので管理画面開発工数はほぼゼロでそのkintoneのデータを使ってHerokuで公開。
自分が書いたコードが元気に成長してくれているようで嬉しい。
(開発を引き継いで負の遺産の処理をしてくださっている方に感謝)

CREと新規事業

僕も色々やってきましたが本業のTimeCrowdのコードは一切書いていません。ただ、TimeCrowdにはAPIがあるのでTimeCrowd本体で実現できないことをAPIを使って色々実現してきました。
最近は「CRE(Customer Reliability Engineer、顧客信頼性エンジニア)」という職種があるみたいで僕がやっているのもこれなのかなと思ったりしています。TimeCrowd本体を改修することなく顧客価値を提供するためにコードを書く。

そしてその取組自体をサービス化して新規事業にしようとしています。

まとめ

ばーっと書いてみましたが改めて思うのは直近の15年でHerokuやFirebaseなどの開発を楽にツールが出てきてやりやすくなっているし職種も「営業」「エンジニア」みたいにぱっかり分かれるよりはマーケ担当がSQL書いたりエンジニアが顧客ヒアリングしたり、境界線がどんどん曖昧になっていくと思います。
変化が激しいこの業界ですが目の前のことをひとつひとつこなしていけばできることの幅が広がっていきます。


いいなと思ったら応援しよう!