Skip to content

Instantly share code, notes, and snippets.

@skatsumata
Last active February 8, 2019 04:42
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/44c9536253350fcd6b542c7eedfaf500 to your computer and use it in GitHub Desktop.
Save skatsumata/44c9536253350fcd6b542c7eedfaf500 to your computer and use it in GitHub Desktop.
実装スキル

変更履歴
2018.10.22 Update 情報量が多いため職務経歴書のメインページから分離
2018.11.03 Update 精通しているものはBでなくAと表記するように修正。神レベルとしてSを追加

実装スキル

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

(*1)"自己評価"に記載したA~Eは以下の意味となります。

  • S:精通しており書籍執筆者レベル(OSSならコミッタレベル)
  • A:直近で実務経験豊富。独力で最適な方法で実装できる。レビューア可能
  • B:直近で中長期もしくは複数プロジェクトでの実務経験がある。精通(レビューアや指導できるレベル)はしていない。
  • C:直近で短期もしくは1プロジェクトでの実務経験がある。もしくは過去に中長期の実務経験はあるが長年触れていない。
  • D:実務経験なし。技術選定や私的な評価で少し触った程度。
  • E:経験なし

各種の設計思想・手法

名称 経験(年) ブランク(年) 自己評価 備考
オブジェクト指向 16 - A 三大特長(カプセル化、継承、ポリモーフィズム)を活用できるように常に意識している。
デザインパターン 16 - B SingletonやObserverなど主要なものは利用
パフォーマンスチューニング - - B+ プロファイラーなどを駆使して迅速にボトルネックを特定して解決方法を立案・適用できます。
MVC 10 - A 2008年からRuby On Rails、2014年からplayframework
Ajax 10 A 頻繁に利用している。決済、MapなどAPI利用も
コーディング標準/リファクタリング 16 - A 常に意識している。CodeComplete読了、Google社などが公開している標準を参照。Eclipseのツールも利用
テストファースト - - C 実務経験がない
開発手法(ウォータフォール、アジャイル、MVP、A/Bテストなど) 16 - A-D ウォータフォールには習熟。正式(例えばScrum))なアジャイル経験なし。アジャイルの基本的な考え方は理解・共感している
Dev/Ops/CD/CI 3 - B-C ごく基本的なこと(後述)は実施しているがまだまだ。
  • BitBucketへのコミットをトリガにして、
  • jenkinsで自動ビルドとテスト(失敗したら関係者にメール通知)
  • redmineとも連携
  • デプロイはPythonとBashスクリプトを組み合わせて自動化
プロジェクトマネジメント・プロセス改善 15 - A 中国駐在にPMBOK、ToC、CMMI等の導入に携わった。有用なフレーム(例えばPMBOKの知識エリア)やプラクティスは利用している。小中規模のプロジェクトリーダ経験豊富。発注側の経験もある。
SPA 10 B React/AngularでのSPA経験はないがWindowsアプリ,Flex(Flash),jqueryを使用したリッチなインタフェースの開発経験は豊富でありツボは把握している
Twelve-Factor App - B-C 意識しているが完全に腹落ちしていないものもある

プログラミング言語

静的型付け言語(java, C/C++, C#, VB.NET)が最も経験豊富ですが、動的型なし言語(python, javascript, ruby,PHP)も並行して長年利用しています。若干ですが関数型言語(scala)も使っています。

名称 経験(年) ブランク(年) 自己評価 備考
Java 10 0 A-B 様々なシステム開発に利用。Playframeworkでの利用が多い。古いJava(2008年)は経験なし
javascript 8 0 A-B 様々なシステムのフロントエンドで利用
Python2/3 1 0 B 累計で3000行程度のスクリプトは実装した
scala2.11 1 0 B-C playframeworkのUIテンプレート部分などで少々
TypeScript 0.1 1 C Reactの技術検証時に利用。静的にエラーを検出できるのは素晴らしい。次の新規システムで利用予定
Bash 10 0 A-B サーバメンテナンスやデプロイ等の自動化で利用。1つのスクリプトは大きくても100行程度で精通はしていない。
VB.NET 6 1.5 A-B 一時期、集中的に利用
VBA - - B 簡易な自動化で利用(テーブル定義のSQL変換、文書作成、テストデータ作成など)
Ruby1.8 3 6 C Ruby1.8/Rails2.3時代に独自システム(中国語Eラーニング)開発で利用。約2万行
PHP5 1 4 C ECパッケージのカスタマイズで利用した程度。
ActionScript3 4 5 C 2008~2012年にかけてリッチクライアント開発(BIや中国語Eラーニング)で利用
C# 4.25 0 B 2000年代前半に様々な業務システムで利用。2019年会議調整アプリケーションで利用(ASP.NET MVC5)
C/C++ 3 15 C キャリアの最初に組み込み系システム開発時に利用。ブランクが長い。
SQL 16 0 B+ 大半の業務で利用
HTML5 8 0 B+ 様々なシステムで頻繁に利用している
CSS3 8 0 B+ 様々なシステムで頻繁に利用している

クラウド

名称 経験(年) ブランク(年) 自己評価 備考
AWS 8 0 A-C 様々なシステムで利用。Webアプリ系で使われるものは実務経験豊富。サーバレス系も複数プロジェクトで実務経験あり。IoT系は評価程度。その他、数が多いので使ったことがないものも。EC2, S3, Athena, RDS, CloudWatch, APIGateway, Lambda, Route53, SES, ECS, Batch, StepFunction, IAM, CLI, SDK
Azure 1 0 B VirtualMachine、Storage、SQLServer
GCP 0.2 0.2 B-C BigQuery、VirtualMachine、Storageなど。ETL開発で利用

フレームワーク(サーバサイド)

名称 経験(年) ブランク(年) 自己評価 備考
PlayFramework2(Java) 5 0 A RailsライクなJava用フレームワーク。最も得意とするシステム。10近くのプロジェクトで利用しており独自のライブラリ・スニペットなど資産も豊富。
Seasar2 3 5 C BIシステム開発時に利用。
Spring 1 5 C CRMシステム開発時に利用
ASP.NET / ASP.NET MVC 4 0 B 初期(.NET2005)の頃に集中的に利用。その後、簡易ツール的に2016年に利用。2019年 MVC5で実装
AWS-SDK 4 0 B+
GCP-SDK 0.2 0 B
Ruby On Rails 3 5 C Rails2.3 で1万行程度のシステムを単独で開発。ブランクが長く最新は把握していない。

ミドルウェア(サーバサイド)

名称 経験(年) ブランク(年) 自己評価 備考
Apache - 0 A- リバースプロキシや静的コンテンツキャッシュなどで利用。
Tomcat - 0 B- JavaServlet依存のWebアプリ実行で利用
Postfix - 5 C AWS-SESやSendGridを利用するので今後利用することはない
Dovcot - 5 C AWS-SESやGoogleAppsを利用するので今後利用することはない
cron - 0 A リブート時や定期処理で頻繁に利用
iptables - 0 C VPSで運用しているサーバのFirewallとして利用

フレームワーク(フロントエンド)

名称 経験(年) ブランク(年) 自己評価 備考
jquery 8 0 A- 様々なサイトで利用
angularJS 2 0 B 宿泊予約サイトの管理サイトで利用。最低限の機能しか利用していない。
BootStrap 3 0 B レスポンシブサイト、それなりのUIデザインを容易に実現できるJavascriptフレームワーク
React 0.1 1 D 技術調査時に利用した程度。不採用(AngularJS採用)だったため実務経験なし。
Node / npm 0.1 1 D 某プロジェクトの技術調査時に利用した程度
Android-SDK 0.2 0.5 C タッチ操作で利用できる在庫管理ユーティリティとして利用
JupyterNotebook 0.2 0.2 C ツアープランレコメンドシステムのPoCで利用
.NET(WindowsApp) 6 2 A- 倉庫管理システムや各種業務システムで利用
Flex(Flash) 4 5 C BIシステム、中国語Eラーニングシステムで利用。

データベース

名称 経験(年) ブランク(年) 自己評価 備考
MySQL 10 0 A-
Oracle 4 1 B
SQL Server 5 0.5 B 2010年頃までは詳しかったが最新の細部は把握できていない。
PostgreSQL - - D
H2 2 5 C Java用の軽量データベース。BIツールのメタデータ格納域として利用
DynamoDB 0.1 1 C IoTプロジェクトのPoCで利用
memcached 3 0 C 中国語Eラーニングでキャッシュとして利用
Redis - - D 個人で試用した程度
Amazon Redshift 0.1 5 C BIシステムの分析高速化で利用した程度。カラム指向であるなど基本となる考え方は把握している。
SAS 3 5 C BIシステムで利用。当時は統計にうとくカスタマイズ中心だったので精通しているわけではない。

Web API

  • WebPay
  • Pay.jp
  • Google Maps API
  • EWS Managed API
  • 独自

ORM

名称 経験(年) ブランク(年) 自己評価 備考
ActiveRecord 3 5 C Rails2.3時代に利用
Ebean3 5 0 A- Playframeworkで実装したWebアプリのすべてで利用
MyBatis 1 6 C CRMシステム開発時に利用

IDE

名称 経験(年) ブランク(年) 自己評価 備考
Eclipse 10 0 A
FlexBuilder 5 5 C
VisualStudio 8 1 B
NetBeans 3 5 C
VSCode 1 0 B- PythonスクリプトやReactアプリ、HTMLコーディングなどで利用

Dev/Ops、CD/CI

名称 経験(年) ブランク(年) 自己評価 備考
Redmine 10 0 A 自身に決定感がある時は採用。BitBucketと連携
Jenkins 3 0 C Gitリポジトリへのコミットをトリガとした自動ビルド・テスト・エラー通知に利用
Github - - C ライブラリなどを利用する時に利用。自身のコードはBitBucketで管理
BitBucket(Git) 3 0 B 大半のプロジェクトのコードベース。GUIクライアントにはWindowsの場合はSourceTree、Linuxの場合はGitEye
Backlog 1 0 B

VCS、バージョン管理

名称 経験(年) ブランク(年) 自己評価 備考
Git 5 0 B ブランチモデルはGithubフロー的簡易なもののみ
Subversion 5 3 B Git移行前に利用。現在でも一部あり。
VSS 5 10 B 2000年前半に利用。Microsoft社製品で利用
CVS 3 15 C 2000年前半に利用。組み込みシステム開発時に利用

ユーティリティ

名称 経験(年) ブランク(年) 自己評価 備考
Slack 0.5 0 C 各種通知で利用
Gyazo 3 0 A スクリーンショット取得・共有ユーティリティ。効率良いやりとりに欠かせないツール
Line Notify 0.5 0 C 各種通知で利用

OS

名称 経験(年) ブランク(年) 自己評価 備考
Windows 19 0 A
Ubuntu 2 0 A
CentOS 10 0 A サーバOSとしてバージョン5時代から利用。現在も複数台運用している。
μItron 3 15 C
Android 0.1 0.5 C 宿泊施設の部屋在庫管理ユーティリティアプリで利用。スマホ・タブレットはAndroid派

その他

名称 経験(年) ブランク(年) 自己評価 備考
ドキュメンテーション 15 0 A 簡潔な文、大から小、見出しや段落・箇条書き、禁止ワード、例示・図示など「正確かつ効率的」に伝わる書き方に習熟。Wordの便利機能(スタイル、見出し・目次自動生成、セクションなど)をフル利用
Markdown記法 2 0 B 手順書・設定書・課題管理などのドキュメンテーションで利用。自前のTipsやスニペットはATOMにMarkdownで記録。
コミュニケーション 10 0 A 様々な知識・スキル・ツールを総動員して正確かつ効率的なコミュンケーションが可能・コーチングスキル(傾聴やIメッセージ)・適切な媒体の選択(メール、チャット、電話、口頭)・ツールの利用(SKYPE、Slack,スクリーンショット取得など)・ドキュメンテーションスキル
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment