私が苦手なこと、できないことや知らない領域
このページは2018年の段階で私が知らないこと — Overreacted リスペクトの経験のある技術と対をなすページです
自分自身が何ができないのか・不得意なのかを改めて言語化してみたいと思い作成してます
更新性があるので内容には変動があります
以下内容は自身の特性であったり理解が乏しいといったことであり、それら自体に否定感情をもっている訳ではありません
業務全般にまつわる内容
急を求められる作業は緊張します
やらないといけないという焦りはよくない
業務にはスケジュールや納期というものが付きものではありますが、期待以上のスピードを求められるのが非常に苦手です
無意識的な期待をされることが苦手です
実績に応じた納得感であればそこは問題ないと思います
それを回避するために入念に話し合いをして、どの時点でどれくらいのクオリティになるかをすり合わせたいです
本番でバグを出した場合の差し戻し対応は異常に緊張します
手順を把握することで安心感が得られますがない場合は大変です
長文での議論が苦手です
「ものづくり」はそこまで好きではない傾向にあります
デザインにまつわること
ビジュアルデザイン領域
1から大きな絵を作ることはできません
紙のデザインもやったことがありましたが、はるか昔のことで当時の頃と同様にできません
代わりにコンポーネント指向設計やAtomic Designといったパーツ単位から1つの絵を生み出すことはできます
WebGLや<canvas>を用いたインタラクティブなWeb表現
flashでのWeb制作いうものは経験がありません
開発にまつわること
システム開発における基本的な流れ
新人研修やOJTなどを通じた経験がないため独学になっています
Node.jsではexpressを使ってサーバーを立ち上げる程度なら書けて、理解はあります
DBの操作・連携など深い理解がありません
SQLでクエリを書いた経験が少ないです
JavaScript, PHP, Ruby以外のプログラミング言語
単純に触ったことがない・実務での経験がないからというのもあります
大学の専攻や新卒研修を通してのプログラミングの基礎教育を受けたことはありません
独学や実務で理解を深めてきました
自分が理解を深める方法としては
その結果どういう動きになるのか
その出力でどういう結果になるのか
その技術でどういう課題解決につながるのか
という納得感を得ながらトライ・アンド・エラーを繰り返し行う形です
その為実務でのベストプラクティスというものはなかなか身につきづらいところはあります
人の書いたものを収集してそのパターンに合うのかを合致させたりします
ペアプログラミングなどを通じてその溝を埋めたりしています
コンピュータ・サイエンスといったものを学んでいないため、アプリケーションレイヤーの基本的な部分が分かっていません
アーキテクチャやアルゴリズムについても理解があるかというと怪しいです
AST
根本となる構造やコンパイラ・インタプリタについての知識は皆無です
コンテナ技術について
dockerやk8sをもってどういった課題を解決できるのかについてはあまり理解できていません
状態管理
実務経験はあり、基本原則(どういったデータの受け渡しになるか)などは分かっていますがベストプラクティスとなる書き方はわかりません
規模にもよりますが、真に必要がなければ使わなくてもいいと思っていたりします
逆に複雑にも成りえてしまうので
Vue.jsでのPiniaをどうにかして活用しなくてもよい方法はないかを考えます
テスト
ユニットテスト、e2eテストは他の方(QAエンジニアなど)が書いたものを動かせる程度です
テスト自体の重要性は理解していますが、どう書いたらいいかのスキルがないという認識です
テストケースを把握していきたい
品質担保したい箇所に集中的にテストコードを書くという気持ちもありますが、それよりは設計を大切にしたいと思っています。
テストコードをかかなくていいことではないです
AWS, GCP, Azure, Firebaseなどのインフラ構築
チュートリアルを通してなら構築できる程度です
ネイティブアプリ開発
SwiftやKotlinを使用しての開発など
React Nativeのようなツールを使いこなせる方が自分にとっては早いと思っています
もしくはPWAといったWeb技術で解消できる領域も1つの手段だと思っています
#profile