Skip to content

Instantly share code, notes, and snippets.

@skatsumata
Last active February 8, 2019 04:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skatsumata/a8fdedfdbe5c4b0593a755cc30bb11ca to your computer and use it in GitHub Desktop.
Save skatsumata/a8fdedfdbe5c4b0593a755cc30bb11ca to your computer and use it in GitHub Desktop.
2019年02月現在の職務経歴書です

目次 generated with DocToc


基本情報

  • 勝又 伸一(かつまた しんいち)
  • 1969年11月生まれ 男性
  • 神奈川県川崎市出身
  • 東京都板橋区在住(最寄り駅は西高島平(都営三田線))
  • 既婚・2児の父
  • IT業界歴 20年
  • フリーランス歴 11年
  • 飲食店勤務・経営、工場勤務等を経て1998年(28歳)からプログラマを目指す。独学で基本情報処理技術者試験(言語はC)に合格して求職活動を開始
  • 1999年にP社入社、2006年にC社入社(中国上海赴任)、2008年独立、2010年日本に帰国。法人化(株式会社NYANGO)して現在に至る。


保有資格

  • 日商簿記二級 1990/06
  • 基本情報処理技術者 1998/秋 (別業界で働きながら独学で合格)
  • ソフトウェア開発技術者 2002/春 (IT業界で働きながら独学で合格)
  • MCSD.NET 2004/08 (.NETに注力していた時代に独学で取得)
  • 英語:公的資格なし。有用なQ&Aサイト(例.Stackoverflow)や技術文書を読むには差し支えない程度(読解以外は弱い)
  • 中国語:HSK(三級)

公開アカウント


強み/アピールポイント

1999年に東京・中野にあったP社に入社して以降、19年にわたり様々な開発プロジェクトに従事してきました。この過程で多くのスキルを習得しましたが、以下に記載したものは平均以上のパフォーマンスを発揮できているのではないかと考えています。 一度、取引が始まると長期(平均3年)になり、直近4年(2社)の業務は過去のプロジェクトで知り合った人が直接声をかけてくださっています。一緒に働いた方は高く評価してくださっているようです。

  • 学習能力
  • コミュニケーション能力
  • 要求の設計・実装への落とし込み・ドキュメンテーション
  • スピード
  • 体力・集中力・ストレス耐性

学習能力

  • 情報処理技術者試験や書籍での体系的学習に加えて、キャリアの最初の3年間を携帯電話の低レベル層の開発に従事できたことで、コンピュータの動作原理とシステムソフトウェアの理解(*1) 、大規模プロジェクトで高品質ソフトウェア(*2)を実現するための開発プロセスという普遍的・汎用的なノウハウを習得できました。
  • 基礎が堅牢で学習が苦にならないので新しい概念やツールも迅速にキャッチアップできます。

(*1) boot、デバイスドライバ、ミドルウェアといった機能をレジスタやメモリを意識するプログラミング言語(C、アセンブラ)で実装していた。ハードウェア割り込み、優先度ベースのタスクスケジューリング、セマフォ等を使った排他制御とデッドロック回避の勘所、スタックやヒープのサイズも明示的に指定するような世界であり非常に勉強になった。余談ですがCPU間通信方法を設計したところ意図せずTCP/IPの考え方にそっくりで「センスがある」と言われました。

(*1) 2000年前後の携帯電話は、その後と異なり販売店でROMを書き直すことができなかったので重要な不具合があると「回収」となり莫大な損失が発生していました。このため品質を確保するために様々な施策が実施されていました。具体的には各工程でのレビューの徹底、コーディング規約の徹底(教育、静的コード解析、レビュー)が行われており、ウォータフォール開発における教科書的な開発プロセスが実践されておりました。()

コミュニケーション能力

  • クライアントから「優れている」と評価されることが非常に多いです。クライアントにとって最も評価できる部分のようです。
  • 中国駐在時代に文化的背景が異なる~したがって「以心伝心」「行間を読んでもらう」「遅い・重たいといったニュアンスの理解」ことは期待できない~エンジニアやマネージャと仕事したことで鍛えられたのだと思います。
  • 若年の頃に経験した繁華街での接客経験も役立っているかもしれません。(例えば傾聴する時・主張する時の見極め、変化や空気を察知する能力)
  • 様々な立場(発注側、オーナ、元請け、下請け、リーダ、一プログラマ、フリーランサー、スタッフ)でソフトウェア開発プロジェクトに携わってきたので、それぞれの立場の関係者が重視すること・しないことが概ね理解できるのでより適切なアクションが可能です。
  • ライティングスキル、コーチングスキルおよびツールを駆使します。ツールではチケット管理システム(Redmine、Backlog)とスクリーンショット取得・共有ツールgyazo(Pro版)を重宝してます。
  • チームメンバやクライアント側に準拠するコミュニケーション指針がない場合は、自前の簡易版指針を提供して改善につとめます。

要求の設計・実装への落とし込み・ドキュメンテーション

  • クライアントの要求が漠然としていても、質問、プロトタイプ作成、図示、複数案提示(様々な観点での長短比較)といった働きかけを通じて明確化できます。Q&A記録やチケット管理ツールに記録するので後から参画したメンバーや仕様や規約・指針に関する議論が蒸し返された時も混乱を最小に抑えられます。

体力・集中力・ストレス耐性

  • 幼少からチームスポーツ(野球)で鍛えた体力・精神力に自信があります。(高校時にレギュラーとして関東大会への出場経験あり(神奈川県代表))
  • 納期遵守のためにやむをえず長時間労働が必要になった場合でも体力があるので集中力・生産性を維持したまま稼働できます。
  • 外国での勤務や様々なプロジェクトに従事してきたこともありITプロジェクトの厳しい側面に免疫があり、ストレス耐性が高いです。

スピード

  • 「仕事が速い」という評価を何度も頂いています。
  • 代表的な例として「簡易数式インタプリタ:3日(仕様書、UI部分含む)」「電力消費量グラフのリアルタイム描画グリッドコンポーネント:2日」など驚かれることが何度もありました。
  • 炎上中のプロジェクト参画して立ち直った後に「来てくれた時はホッとした。」「本当に助けてもらった」というお言葉を何度もいただいています。

スキル概要

設計スキル

以下のトピックについて主担当者として豊富な実務経験を有しています。

  • パブリッククラウドを利用したレスポンシブWebアプリケーションの設計
  • 基盤・アーキテクチャ設計
  • データベース設計
  • 共通コンポーネント設計
  • Restful API設計
  • ドキュメンテーション
  • 規約作成(コーディング、コミュニケーション、管理ツール、バージョン管理運用など)

実装スキル

実装に利用する考え方やプロダクト、言語、ツールなどの実務での利用歴・自己評価を以下に記載します。(*1)

名称 経験(年) ブランク(年) 自己評価 備考
--- --- --- --- ---

情報量が多いため分離しました。こちらをご参照ください。

運用スキル、CD/CI

  • (実運用中)自治体の公開サービス(宿泊予約システム)
  • (実運用中)AWSやVPS上のLinuxサーバーでWebサイト、管理ツールを運用
  • Git/Redmine/Jenkins連携による自動ビルドやBash,Pythonによる自動化スクリプトの開発
  • 24/7稼働、年間250億円、1日1万件以上の出荷を支える倉庫管理システムの主担当。顧客とのメイン窓口
  • システム部門だけでなくネットリテラシーの低いエンドユーザとのやりとりも豊富

マネジメントスキル

  • 大規模・高品質ソフトウェア開発プロセスの経験(1年のうちコーディングは1ヶ月だけ。レビューや規約の徹底、静的ソースコード解析などツール活用)
  • 小中規模のプロジェクトマネジメント経験豊富
  • クイックなソフトウェア開発プロセスの経験
  • PMO経験(ソフトハウス役員、組織長)
  • PMBOK、CMMIなどのマネジメント・品質保証、プロセス改善の知識・導入経験
  • スクラムなどアジャイル開発経験はなし

コミュニケーションスキル

  • 優れている(と評価されることが多い)
  • 伝わらない場合に「発信側の自分の責任である」と考える心構えを徹底しています。
  • 適切なツール、表記法を駆使して正確に伝わるコミュニケーションを心がけています。

業務知識

習熟しているもの

  • 倉庫管理システム(外部システム連携、引当、在庫管理、ピッキング、出荷、締め)
  • 独自BIツール
  • 予約システム(特に旅行系)

若干の実務経験・知識のあるもの

  • ECシステム(EC-CUBEのカスタマイズと運用)
  • eラーニング
  • 土木積算
  • 企業会計
  • プロジェクトマネジメント

業務経歴概要


業務経歴詳細

自社開発

モール型宿泊・アクティビティ予約サイト・管理システムの開発・運用

2015年9月、南三陸町観光協会からの要請を受け新規開発しました。2016年4月に一般公開。みなたびとして運用中です。 じゃらんなど大手OTAに匹敵する豊富な機能を持つシステムで、他自治体への提供も開始します。
繁忙期の月間流通額でやっと100万円を超えた程度ですが前年比で順調に伸びています。

主な特徴・特長

  • モール型システム(モールを運営する事業者(自治体や観光協会)がいてそこに地域の複数の事業者が参画することを前提とした設計)
  • 安価に利用できます(初期費用ゼロの月額課金制)
  • レスポンシブ対応(パソコンだけでなくタブレットやスマホごとに最適化された表示)
  • 完全HTTPS対応(全ページでの通信暗号化により安全に利用できます)
  • 豊富な販売促進機能(柔軟な料金設定、顧客動向分析、ポイント付与・管理、キャンペーン、ギャラリーなど)
  • 運用負担を軽減する様々な自動機能(他OTAとの在庫自動同期、自動返信、リマインドメール)
  • 月次請求、月次レポート機能(Excelで提供)
  • クレジットカード決済利用可能
  • きめ細かいプランの作成

担当工程と役割

クライアントとの要求定義からはじまり設計・実装・導入・運用まで全般をリードしました。マニュアル作成、エンドユーザ説明会も実施しました。仕様、インフラ、ソースコードなど全体を完全に把握しています。

開発総ステップ数(2018/10/10現在)

カテゴリ STEP数 備考
サーバサイド(Java/コントローラ・モデル) 62,974 内訳はデータ関連:33,100(lombok使用),共通処理:3,721,管理サイト:19,517 顧客サイト6,636。
サーバサイド(Scala/ビューテンプレート) 9,277 ---
クライアント(javaScript) 15,184 ---
その他 約1,500 AWS-Lambda関数や自動化スクリプト

使用している主な技術・ツールとシステム構成図

カテゴリ 名称
OS/ミドルウェア Amazon linux, Apache2, MySQL5.6, Let's Encript(SSL/TLS)
サーバサイドの言語・フレームワーク・主要ライブラリ Java8, PlayFramework2.5, Ebean-ORM, lombok, GSON, jsoup(*1), opencsv, aws-java-sdk, JavaWS
フロントエンド jquery2, angularJS, HTML5/CSS3, bootstrapおよびAndorid
バッチ Akka, Bashスクリプト(aws cliなど), Pythonスクリプト(boto3)
外部API Pay.jp(カード決済), Google Maps API, FAX送信, LINE Notify, Slack API
AWS関連 EC2, RDS, S3(静的データ配信/Lambdaトリガ), SES(メール送信), Lambda(通知や画像リサイズなどの非同期処理), API-Gateway, Route53, CloudWatch
ユーティリティ jenkins, redmine, bitbucket(git), gyazoなど

(*1)jsoupは他宿泊管理システムの在庫自動同期のためのスクレイピング処理で利用

チューニングポイント

以下のような設計・チューニングを行うことで、低スペックのインスタンスサイズでも運用できる性能を確保している。

  • 管理サイトと顧客サイトを分離して運用できるように設計・実装。サイトの成長(利用者増)にあわせて最適にスケールできる。(例.最初は同じインスタンスで運用。成長したらサイトを分離して顧客サイトは高スペック、管理サイトは低スペックで)
  • 管理サイトと顧客サイトを異なるアベイラビリティゾーンに配置。さらにそれぞれ別サイト(管理サイトでは顧客サイト、顧客サイトでは管理サイト)をコールドスタンバイ。片方のゾーンで障害が発生しても迅速にサービスの再開が可能
  • 負荷の高い(もしくは応答待ちが発生する)処理をLambda関数に切り出して、非同期で移譲することでWebサイトのボトルネックを解消。ひとつ下のインスタンスサイズでも運用できるようになった。
  • 大半のデータベース処理ではORM(Ebean)を利用しているが、性能が求められる部分は直接SQLで記述している(もちろんSQLインジェクションされないように考慮)。大量のINSERTが発生するようなケースではBULK INSERT文を利用するなどして高速に処理している。(更新が多いのでKeyValueストアの採用は見送り)
  • キャッシュを有効活用により高速なレスポンスを実現。静的データだけでなく画面内コンテンツ(例えばTOPページの大量のプラン情報)もキャッシュしている。かつ外部からリクエストを投げてキャッシュが常に有効になるようにしている。
  • 画像データはS3に配置してWebサイトの負荷(帯域)を減らすと同時に高速なレスポンスを実現。いわゆるWeb Storageパターン | AWS-CloudDesignPattern
  • サマリテーブルや非正規化による処理の高速化

オンライン中国語学習システムの企画・設計・開発・運用

2008年~現在

自身の中国語学習中に発案。
中国上海の語学学校と提携(先方が学習コンテンツ開発)して開発に着手。企画から設計・実装・導入・運用まで全般をリードしました。
2010年にローンチ。5000語以上の単語に例文と音声が付属してゲーム形式で楽しく学べます。
日本人が苦手な声調に特化したコンテンツ、豊富な学習形式(読む、聞く、書く)、学習履歴の管理、単語帳機能など非常に高機能で中国語学習者に絶賛されました。
その後、語学学校との提携解消でコンテンツ制作コストがあがったこと、中国語学習者の母数が少なく収益化のめどが立たなかったことから販促サイトはクローズ。
長期間、毎日利用してくださっているヘビーユーザ様向けに継続提供中

学習形式の選択画面(豊富なオプションがあり) 声調の集中学習画面
正答時の画面 誤答時の画面

担当工程と役割

語学学校との提供交渉、企画からはじまり設計・実装・導入・運用まで全般をリードしました。

使用している主な技術・ツール

  • Ruby On Rails2.3, ruby1.8, Flex, ActionScript3, MySQL5, Apache2.2
  • CentOS6, Postfix, Dovcot

プロボノ(被災地支援)

2011年3月に発生した東日本大震災の被災地(宮城県南三陸町/妻の出身地)の支援として、ホームページ制作やECサイトの立ち上げを行いました。 その後、現地に保守・運用を移管して現在も稼働しています。

地域(南三陸町)に特化した物産・サービス・コンテンツを販売するECサイト。EC-CUBEをモール型にカスタマイズした。PHP, MySQLなど

現在は通販サイトとしての営み以外にふるさと納税の返礼品を委託されたり、地元高校の授業の一環で地域産品を販売するカリキュラムを手伝ったりしている。

2012年オープン。サイト制作の全工程を担当。wordpress, MySQL, javascript, css

  • お店再開マップ(役目を終えて閉鎖)

現地の地理感の無いボランティア向け。営業を再開した店舗をGoogle Map上にカテゴリ別で表示。 検索、印刷用表示など。地域での購買を促す効果

PHP5, jquery, google maps api, kmlなど


B社受託開発

B社について

DMP、機械学習/AI、RPAに強みを持つデータ分析・マーケティング会社。一部上場

参画時期・経緯

2017年に参画。同社副部長(*)から直接オファーを頂いた。

(*)以前、別会社で携わったプロジェクトのマネージャが同社に転職された

参画したプロジェクト(一覧)

  • 法律事務所向け会議調整アプリケーション開発
  • 医療系基盤システムプロトタイプ開発
  • アパレル向けレコメンドシステムリプレース
  • 医薬データ処理基盤のAWSサーバレスリプレース検証
  • 高機能監視カメラを使ったソリューション開発(Poc)
  • ツアープランレコメンドシステム(PoC)

参画したプロジェクト(詳細)

法律事務所向け会議調整アプリケーション開発

大手法律事務所(アカウント数:約800、グループ数:約200)向けの会議調整アプリケーションの設計と開発

EWS Managed API(Exchange ServerのクライアントAPI)を活用して、希望する会議出席者(必須・任意)の空き状態を指定された日時範囲・出席可能率等で検索して候補を提示、選択された時間帯を確保(=自動的に出席者の予定表に予定を作成)する。

クライアントとの打ち合わせ、仕様提案・調整、設計、実装、試験、導入を担当。

  • ASP.NET MVC 5 / C# / Visual Studio 2015 / jquery / bootstrap / EWS Managed API / Active Directory / IIS / Windows Server
  • SPA(シングルページアプリケーション)実装
  • 直感的で使い勝手の良いユーザインタフェース
  • シングルサインオン
  • キャッシュ活用によるレスポンス向上
  • 運用しやすい仕組みづくり(ユーザインタフェース要素、接続先、アカウント等の変更をプログラム変更無しで可能に)

医療系基盤システムのプロトタイプ開発

Webフロントとサーバサイド(Web、DB、外部システム連携)の設計・実装を担当。

Azure(仮想マシン等)、SQLServer、Java8、Playframework2、jquery2、bootstrap3。HPKI認証(SAML)、MPI連携。

HTML5/CSS3/javascriptを使って操作性の良いユーザインタフェースを実現。

  • レスポンシブ
  • レスポンシブな表・セル内のデータ階層表示
  • 直感的なデータフィルタリング
  • 表示モード(タブ、一覧)の切り替え

操作性の良い画面(画像クリックで動画が再生されます)

リッチな操作感のある画面

アパレル向けレコメンドシステムリプレース

アパレル最大手のシステムのAWSからGCPへの移行プロジェクトの一部。マーケティングデータのETL部の詳細設計と実装(技術選定含む)・試験を担当。

Storage上に配置されたRAWデータ(CSVやJson/圧縮・非圧縮等混在)をBigQueryに読み込み、任意の加工処理を実行して、Storageに再出力するための汎用的なPythonスクリプト・バッチ処理基盤の設計・実装

はじめてのGCPでベストプラクティスがないまま着手。BigQuery特有の仕様・制約で手戻りや試行錯誤が発生したが最終的には解決できた。

医薬データ処理基盤のAWSサーバレスリプレース検証

オンプレミスの大規模データ処理基盤をAWSのサーバレス機能で置き換えるプロジェクトのフロント部分およびデプロイ最適化を担当。 Lambda関数の共通部分の集約によるコードの大幅な簡素化を実現。

  • StepFunction
  • Lambda ※Lambda関数で使える共通ライブラリ実現
  • ECS ( Docker )
  • Batch
  • SES
  • CodeCommit
  • Python3.6など。

高機能監視カメラを使ったソリューション開発(Poc)

高機能監視カメラの画像認識処理を活用した新しい販促システムのPoCのWebフロントを担当。

Java8、Playframework2.6、jquery2.6、bootstrap3、Azure、VM(CentOS7),Storage, SQLServer,サーバ監視

ツアープランレコメンドシステム(PoC)

過去の見積もりデータとクライアントの属性を考慮して、適切なツアープランを自動生成するシステムのPoC。 PoC完了後の引き継ぎとQ&A対応(出力結果の問題点等の解析)

Python、Jupyter Notebook, SQL


S社受託開発

S社について

各産業のトップ企業を対象にロジスティクスのデジタル化を行ってきた会社。AI、IoT、ロボットなど最先端テクノロジーをロジスティクスシステムに活用している。上場準備中

参画時期・経緯

2013年12月に参画。同社役員(この10年前にあるプロジェクトでご一緒した)から直接オファーを頂いた。

取引終了の経緯

2017年4月。S社の上場準備の一環として「開発内製化(外注廃止)」の方針が出たため。社員としてお誘いいただきましたが丁重にお断りさせて頂きました。

参画したプロジェクト(一覧)

  • 大手通販サイトWMSリプレース
  • 大手通販サイトWMS運用
  • SaaS型WMSの初期開発(技術選定含む)

※WMSは倉庫管理システム(Warehouse Management System)の略

参画したプロジェクト(詳細)

大手通販サイトWMSリプレース

年間売上250億、1万出荷/日のWMSのリプレース

クライアントの親会社肝いりの自動倉庫化プロジェクトが頓挫した後を救いかつ旧システムよりはるかに使いやすいかつ安定・高速と絶賛された。(称賛されたS社のシステム)

担当工程、役割

  • 業務・システムに精通したプロジェクトリーダY氏の右腕としてクライアントとの全打ち合わせに動向。
  • 課題をタスクに落とし込みきめ細かく管理(スケジューリング、アサイン、顧客との調整など)
  • エンジニアリングでも、パフォーマンス要求の厳しい新規画面部分の設計・実装、ストアドプロシージャのチューニング、操作マニュアルの作成等を担当した。
  • それ以降の倉庫のリプレースでは、プロジェクトリーダ(*)兼プログラマとして顧客との折衝や見積もり・要件定義を含め全般に関わった。

(*)S社は実力主義でプロパーの上に外注を配置することもいとわない文化があった。

主なテクノロジー

AWS(RDS), VB.NET, PL/SQL(ストアド), カスタムコンポーネント

大手通販サイトWMS運用

上記サイトの運用。障害や問い合わせがあった時の一時窓口。 顧客との打ち合わせにも代表者として出席。仕様変更・追加、見積もりから実装・導入まで担当。。

SaaS型WMSの初期開発(技術選定含む)

SaaS型WMS開発の初期メンバーとして参画。技術選定をリード。Restful API設計、フロント側の初期実装を担当。

主なテクノロジー

playframework2(Java), jquery(最終的にはangular2), bootstrap, java-rx


I社受託開発

I社について

最大手広告代理店D社の子会社でデジタルマーケティングに強みを持つ。

参画時期・経緯

2010年9月に知人の紹介で参画。

離脱経緯

2013年11月に離脱。 D社の全社的分析基盤開発刷新に伴い分析クライアントに「tableau」を使用する流れとなったためプロジェクトそのものが終了となった。 ちょうどその時期に次の長期お取引先となるS社からお声掛けいただいため離脱。 途中、社員としてお誘いいただいた事もありましたが丁重にお断りさせて頂きました。

参画したプロジェクト(一覧)

  • 独自BI/レポーティングツール開発・保守
  • 独自CRMパッケージの開発
  • クリップボードアプリ開発
  • エンタープライズ向けCMSテンプレート開発

参画したプロジェクト(詳細)

独自BI/レポーティングツール開発・保守

概要

2010年9月~2013年11月。 有償の大量のマーケティングデータ(CM認知度や商品認知度等)を様々な軸・条件で分析して、様々な形式で可視化できるリッチなBIツールの開発。 Flash(ビュー) - Java(ビジネスロジック) - SAS(データ) という三層構造で実現

担当工程と役割
  • クライアント窓口
  • 基本設計
  • 詳細設計
  • 実装
  • 試験
  • 運用
使用した主な技術・ツール

サーバサイド

  • Java7
  • Tomcat8
  • Seasar2
  • SAS
  • H2 database
  • POI(Excel出力)

クライアントサイド

  • Flex3 (Flash)
  • ActionScript 3
  • Data Visualization

独自CRMパッケージ(セグメンテーション)の開発

概要

独自CRMパッケージ開発(一次)に最初から参画。基本設計から実装・試験まで担当。

詳細設計以降は、様々なデータソースをSQLの知識がない人でも様々な観点で検索・絞りこめる機能(セグメンテション機能)をリッチなUI(今でいうSPA)で実現することに注力 データソースの増減やテーブルのスキーマ変更があってもプログラムの修正なしで対応できる設計と業務システムには珍しいヌルヌルしたユーザインタフェースが好評であった。

担当工程と役割
  • アーキテクチャ・サブシステム設計
  • 基本設計
  • 詳細設計
  • 実装
  • 試験

ゼロから書き起こした基本設計書

使用した主な技術・ツール

サーバサイド

  • Java7
  • Tomcat8
  • Spring framework
  • MyBatis (ORM)

クライアントサイド

  • jquery
  • jqgrid

クリップボードアプリ開発

概要

最大手化粧品メーカーのプロモーションサイト内の主要コンテンツである「クリップボードアプリケーション」の制作を担当しました。
一覧に表示されるコンテンツをドラッグ&ドロップでボード内の任意の位置に配置できます。
配置したコンテンツは、サイズ変更、回転、移動、並び順の変更といった操作が可能になっており、様々なコンテンツを組み合わせて利用者独自のクリップボードが作成できます。
作成途中に保存して、後から再編集することも可能です。

担当工程と役割

実装と試験を担当しました。

一覧に表示しているコンテンツはサムネイル画像なので、ドラッグが開始された時点で本来のコンテンツをダウンロードして表示する実装となっています。 コンテンツはFlexのImageコンポーネントで管理しています。Imageコンポーネントは標準では左上(座標0,0)を軸に回転するようになっていますが、本アプリではコンテンツの中心を軸に回転するようにカスタマイズしており、直感的な操作が可能となっています。 さらにコンテンツが回転していてもドラッグによるサイズ変更が可能になっています。これらの実現には三角関数などの数学を効率よく利用しています。

アプリケーションとコンテンツのサイズは合計で4.5MBになりますが、起動時間が短くなるように最適化しています。 具体的には、起動時は必要最小限のサムネイルだけを読み込み、その後は、スクロール・画面切り替え・ドラッグ&ドロップなどのイベントをトリガとして、オンデマンド(必要な時に必要な分だけ)で取得します。さらに、一度取得したコンテンツはキャッシュして再利用します。

使用した主な技術・ツール

Flex(Flash), ActionScript3, 三角関数など

エンタープライズ向けCMSテンプレート開発

概要
担当工程と役割
使用した主な技術・ツール

C社勤務時

C社について

電卓や時計で有名な電気メーカのソフトウェア子会社の中国拠点で、本社、親会社向けのシステム開発サービスを提供。社員数120名(当時)

参画時期・経緯

2006年4月。フリーランスエンジニアとして活動していたが、同拠点の総経理(社長)として赴任するU氏から「一緒に来て技術面をリードしてほしい」とお声がけいただいた。(正社員)

取り組んだこと

企画部部長として赴任。5人の中国人スタッフと一緒に業務に取り組む。会話は日本語。

関係者インタビューなどを通じて現状を把握。ウォーターフォール型の開発プロセスの標準化に取り組む。Q&Aやライティングのテクニックも指導。

新規に品質保証室を立ち上げて監査を実施。レビューの徹底や遅延やリスクが早めに抽出される仕組みを構築。

独自の課題管理ツールを開発して、全プロジェクトで使用するように義務付け。Excelでのタスク管理から脱却。中国と日本でのやりとりは、GFWによりメールが欠落することがあるため認識違いや遅延による日本側満足度低下の一因となっていたがこの問題を一掃した。

その他、採用時のスキルチェックテストや社内報の立ち上げ、遅延プロジェクトの火消しなど全社的な活動をリードした。

取り組みが一段落した後にCMMI導入方針を巡って本社側と意見が対立したため退社。(あまり意味がないと思われたので反対の立場)


P社勤務時

P社について

東京・中野にあった小規模ソフトハウス。1999年に基本情報処理技術者に合格はしていたが実務未経験の30歳近くの自身を採用(正社員)してくれた恩義ある会社。

2002年に出資して取締役に就任。開発部門のトップ(いまでいうCTO)として、当時、ベータ版だったMicrosoft社の.NETテクノロジーに特化する戦略を推進。 社員の.NETスキル向上に取り組む。あわせて報酬制度も実力主義にアップデート。ソフトウェア資産(独自ライブラリ・コンポーネント)の蓄積にも励む。 これらの取り組みの結果として3年間で600%成長に貢献した。 自身はプレイングマネージャとして一プログラマとしても活躍した。2005年退職

参画したプロジェクト(一覧)

  • 土木積算ソフトウェアのバージョンアップおよびカスタマイズ
  • 証券トレードシステムクライアント側共通コンポーネント開発
  • SCMシステム開発
  • 電力基幹システム設計
  • モバイルワークフローシステムパッケージ開発
  • PocketPC用DEMOプログラム開発
  • 携帯電話(初代FOMA)デバイスドライバ開発
  • 携帯電話アプリのLinuxポーティング
  • 欧州向けUMTS携帯電話デバイスドライバ開発
  • 北米向けGSM携帯電話デバイスドライバ開発
  • カーナビゲーションシステムのアプリケーション層のカスタマイズ

参画したプロジェクト(詳細)

土木積算ソフトウェアのバージョンアップおよびカスタマイズ

期間

2003年6月から2005年7月

概要
  • 2000社で利用実績のある土木積算ソフトウェアの.NET Framework版開発および大手ゼネコン向けカスタマイズ
  • 中国オフショア開発を初体験(発注側)
役割
  • 技術面を統括(現状分析、アーキテクチャ設計、DB設計、共通基盤開発、パフォーマンス・チューニング他)
使用した主な技術・ツール
  • VB.NET, MSDE(SQL Server), Spread.NET

証券トレードシステムクライアント側共通コンポーネント開発

概要
  • 金融ベンチャーの新規パッケージ開発
役割
  • クライアント側の基盤となる共通コンポーネント開発を一任される(数式インタプリター、共通グリッド、ステータスバー、Excel出力、マルチスレッド/排他制御)
使用した主な技術・ツール

C#, FlexGrid

SCMシステム開発

期間

2004/05 - 2004/08

概要
  • 最大手通信キャリア向けのSCMシステム開発。プロジェクトが大幅遅延している状況で参画。プロジェクトが収束に向かい体制を縮小する際にも残留することを請われた。
  • 試験の実施に過大なエビデンスを求めるプロジェクトであった。個人の裁量がほとんど認められず、やりがいも小さかった。悪いマネジメント例として勉強になった。

※結局、大幅なコスト超過と遅延が発生したそうです。

役割
  • プログラマ(実装と試験)
使用した主な技術・ツール
  • C#/ASP.NET/MSDE/Spread.NET

電力基幹システム設計

期間

2004/03 - 2004/04

概要

電力会社のリアルタイム電力需給管理システムの開発

役割
  • Unixサーバと動くDBとリアルタイムで連携してWindows側で描画する処理などのアーキテクチャ設計・検証を実施。その後の製造~試験(期間8ヶ月)は部下が担当。
使用した主な技術・ツール
  • VB.NET, Oracle, ODP.NET, ElTabelle, GDI+, Socket

モバイルワークフローシステムパッケージ開発

期間

2002/10 - 2003/06

概要
  • 最大手家電量販店における店頭業務を効率化するための高機能ハンディターミナルソフトの開発。メッセージ、写真、音声などの情報をWebサーバを介して連携させる等。
役割

基本設計以降

使用した主な技術・ツール
  • PocketPC, C#, eVC++, ASP.NET, UltraWebGrid, HTTP通信

PocketPC用DEMOプログラム開発

期間

2002/07 - 2002/09

概要

Microsoftの販促・技術イベントで利用するデモプログラム開発。小売店での業務シナリオを想定して、ビジュアル表現を豊富に使って作成した。

役割

詳細設計以降

使用した主な技術・ツール
  • PocketPC/C#, MSDE, GDI+, ADO.NET, ASP.NET, Winアプリ

携帯電話(初代FOMA)デバイスドライバ開発

期間

2002/02 - 2002/07

概要

欧州向け携帯電話が中断したため途中参画。Boot部とシリアル通信を担当。P社とN社との提携の影響などで派遣先の仕事が激減。これが携帯電話開発の最後となった

役割
  • プログラマ/実装・試験
使用した主な技術・ツール
  • Unix, Itron4.0, C, ARMアセンブラ, Boot, UART

携帯電話アプリのLinuxポーティング

期間

2001/11 - 2002/01

概要

欧州向け携帯電話が中断したため新しいトピックにチャレンジすることに。当時コスト削減・生産性向上の切り札として注目されつつあったLinuxへ、ARM+μItron用のプログラムを移植を試みる。リアルタイム処理に対応していないコアを利用したので、μItronの1タスクとして動作させた。初期化してPCとシリアル通信してLEDを点灯させることに成功。

役割
  • プログラマ/実装・試験
使用した主な技術・ツール
  • Unix, Itron3.0, C, ARMアセンブラ, Boot, UART, GCC, BShell

欧州向けUMTS携帯電話デバイスドライバ開発

期間

2000/08 - 2001/10

概要
  • 欧州向け第3世代携帯電話(GSM+UMTS)の開発。欧州市場で第3世代携帯電話の立ち上がりが鈍くプロジェクトが中止になったため基本設計までの作業となりました。
役割
  • SE(要求定義、基本設計)
使用した主な技術・ツール
  • Unix, Itron3.0, C, ARMアセンブラ, CPU間通信, Boot, UART, TIMER, FROM、SSI, LED, MMU

北米向けGSM携帯電話デバイスドライバ開発

期間

1999/05 - 2000/07

概要
  • 北米向け携帯電話の開発。
  • 時にはアセンブラを使って、デバイスドライバを開発しました。アセンブラを使うことでコンピュータの動作原理が理解できました。
  • 割り込み処理にマルチタスク、排他制御、非同期処理など比較的高度なプログラミングを理解することができました。
  • 高品質ソフトウェアを開発するための一連のプロセスを経験できたことも収穫です。プログラマとしての基礎をはぐくむことができました。
役割
  • 基本設計以降。サブリーダとして後輩の指導やタスク管理も
使用した主な技術・ツール
  • NecleusPlus/C、ARMアセンブラ
  • 担当したデバイスドライバ(フラッシュメモリ、LCD、Key、RTC、WDT)

カーナビゲーションシステムのアプリケーション層のカスタマイズ

期間

1999/01 - 1999/04

概要
  • 大手メーカーのカーナビゲーションのTAXI会社向けカスタマイズ。
  • はじめてのプロジェクトで何をやってるのかよくわからなかったというのが正直な感想。
役割
  • プログラマ
使用した主な技術・ツール
  • Unix-C
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment