スキルの棚卸 2020

現状確認と今後何していくのかと言う指標のひとつとして。

アクティブなスキル

ウェブ開発

ウェブサイトやウェブアプリケーションの要件定義から設計、サイトマップや画面遷移図など開発保守に必要なドキュメンテーション、ワイヤフレーム作成、インフラ選定と構築、サーバーサイド開発、フロントエンド開発、最低限のSEOなどを赤魔導士のごときジェネラリストとしてこなすことが可能。

ソロですべてを担当することもできるし、チームメンバーとして一部を担当することもできる。

ビジュアルデザインや分析系のタスクはやや苦手。

最近伸びているのはドキュメンテーションやデザイン面。

WordPress

CMSが必要なウェブサイトを作るとなるとだいたいWordPressでいいじゃんとなり、だいぶ長い間使っている。
当初は関数名の一貫性のなさに胃が痛くなったりしたがだいぶ耐性はついた。

サイトの規模と用途に応じたインフラの選定、オリジナルテーマやプラグインの作成、プラグイン選定、CDNを利用したパフォーマンス改善など、構築から運用に至るまでだいたいできるかんじ。

テーマ作成は既存テーマの子テーマを作成する形で行った方がいいのだろうかと模索中。

AWS

最近はウェブサイト構築にAWSを利用することが増えている。
EC2やRDS、ELB等を用いた一般的なアプリケーションの開発、API Gateway+Lambda+DynamoDBによるサーバーレスアプリケーションの作成、S3+CloudFrontによる静的サイトのホスティングなど。

AWSは便利なツールボックスといった印象。
公式ドキュメントしっかり読む派。

最近は監視やコスト最適化に関して意識を向けつつある。
クラウド破産を回避するAWS実践ガイドすごく良い。

Docker

開発環境の構築にはかなり前から使っているが本番で運用したことがない。

Dockerコンテナでの本番運用は今年の目標の一つ。

テスト自動化

TDDそれなりに経験あり。必要そうなところだけ手厚く書いて、カバレッジにはこだわらない派。
ただ最近はそんなに大きな規模のものを作らないこともあり、E2EテストでSeleniumを使って済ませることが多くなっている。

CI/CD

主にCircleCIを使っている。自動テストと組み合わせたCIの安心感。
保守を自分が担当しない場合で引継ぎが難しそうなときは使わないor引き渡し時に破棄してしまうこともある。

ほかGitHub Actionsも実験レベルでは使ったことあり。

Infrastructure as Code

最近はAnsibleやTerraformを使っている。

ただ小規模のサイトを作ることが多く、継続的に利用するにはメンテコストの方が大きくなってしまうため、もっぱら初期構築にのみ使用。

決済系API

StripeやPAY.JPなどを利用して決済機能のついたウェブサイトを作ることができる。ものを売れると色々とできることが増えていいかんじ。
販売データの持ち方などは少しノウハウが必要だが、APIの利用自体はすごく簡単なのでおすすめ。

GMOPGなどレガシーで難解なものも一応利用可。積極的に使いたくはないが、銀行決済とかコンビニ決済とか多彩な決済手段に対応できるという利点はある。

Rails

アクティブといいつつRails4系で知識が止まっている状態。2019年に6系のキャッチアップをしようと本を買ってみたりしたものの見事積読状態に。
とは言え中規模以上の開発であれば今でもRailsは強力な候補かなと。

Ruby

なんだかんだ最も手になじんでいるのはRubyとなっている。

ちょっとしたスクリプトなどはRubyで書くことが多い。

その他実用レベルのプログラミング言語

PHP、Python、JavaScriptなど。

PHPはほぼWordPressのコードしか書いていないけど。

UnityでC#も割と普通に書ける。

強化中のスキル

UIデザイン

デザインの中でもUIデザインはロジックが分かればなんとかなるなと言うことで。
より使いやすいサイトやアプリを提供するために。

Refactoring UIはいいぞ。

CSS

CSS設計を勉強して自分で一からきれいな構造のコードが書けるように。CSS設計タノシイ

CSSフレームワークは細かいカスタマイズまでしようとするとけっこう学習コストが高いので利用しないようにしているが、案件で指定があれば使うのはやぶさかではない。

React

小規模なサーバーレスアプリケーション構築にReactを利用したことはあるものの、習熟しているとは言えないのでもっと経験を積みたいかんじ。

TypeScriptとの相性がよかったので以前はReactを採用したが、Vueでもいいのかな?くらいの忠誠度。

仕舞ってしまったスキル

iOS/Android開発

Objective-CやTitanium Mobileの時代で止まっている。
機会があればまたやりたい気持ちはある。

趣味でたまにUnityをいじったりしているが仕事でつかえるレベルには程遠い。