Skills
Experience
Writing
現在はスタートアップでリードエンジニア(フルリモート)をしています。
直近はフルリモートのフリーランスとしてRailsによるバックエンドを中心に、必要に応じてWebフロントエンド(Reactjs、Vuejs、Stimulus etc)、アプリ(ReactNative)などのお仕事をお受けしており、実装の他にインフラ設計、アーキテクチャ、技術選定、チームビルディングなどを必要に応じて雑多に行っています。(Android、iOSのネイティブなお仕事は最近はあまりやっていません)
前職ではフルリモート勤務の正社員として、クライアントワークのアジャイルチームをリードしながら、設計したり、コード書いたりしていました。
大学時代から20年ぐらい個人事業、ウェブ制作会社、ソフトハウス、大手SIer、ネット系事業会社、フルリモートなフリーランスなどでプログラマ・エンジニア(時にウェブディレクター)をやってきました。
仕事に対する考え方は37signalsの「REWORK」と「REMOTE」にすべて書いてある感じがします。
プライベートは個人で(もしくは友達と)サービスとかプロダクトを考えたり、作ったりするのが今は一番楽しいですが、イベントやったり、DJやったりしてた時期もあるので大勢でワイワイするのも好きです。
スポーツはバスケをやるのと、サッカーを見るのが好きです。好きな小説家は村上龍と村上春樹とグレッグ・イーガン(+海外小説の古典とかも読みます)
好きな音楽ジャンルはジャパニーズレゲエとありがとう系ジャパニーズHipHopを除くダンスミュージック全般で、ここ数年はHouseとかNuDiscoを聞くことが多いです。
最近やりたいと思っていることは世界を旅することです。また、年齢のこともあり、身体を動かす趣味・活動を積極的に行って行きたいとも思っています。
技術的にミーハーな性格から、様々な分野、新技術にとりあえず触れてみるのですが、逆にそれぞれを一定レベルで利用できる状況になると、他の技術に目を移してしまいがちなので、一つの言語、技術に特化したスペシャリティを持てていないことが弱みであると思っています。また、競技プログラミングを始めてみて、あらためて計算機科学の基礎が弱いと感じており、データ構造やアルゴリズムの知識、計算量を意識した実装について、再度(大学以来)学習中です。さらに、厳しい性能要求や大規模なトラフィックに対応するためのノウハウが薄いと感じています。書籍等で座学には励んでいますが、業務経歴的にそのような対応にふれる機会があまりありませんでした。現在の興味としては、⻑らく「手続き型言語」および「オブジェクト指向言語」を利用したプログラミングをしてきたので、異なったパラダイムに触れ、新しい視野を手に入れたいと思い、Scalaなどの関数型言語に触れてみたいとも考えています。
また、ここ数年サーバサイドの設計、実装はRailsなどのフレームワークを利用した比較的モノリシックなアーキテクチャーの経験が主なので、マイクロサービスアーキテクチャなどの大規模かつ分散的なシステム・アーキテクチャの設計、実装に携わってみたいという思いもあり、実装技術的にはGo言語やGraphQL、設計レイヤではドメイン駆動的なアプローチに興味があり、書籍等でキャッチアップしています。
Web,アプリ開発技術以外では、ブロックチェーンや機械学習にも興味がありますが、現状は書籍による座学や小規模なプログラムの実装程度に留まってしまっているのが現状です。
国内の会社でも海外の会社でもリモートワークでコミットすることがもっと普通になると思ってて、そのためにスキルと語学力は磨いておいて、日本の田舎で世界の人と仕事して面白く生きられる環境を作りたいと思っています。