Skip to content

Latest commit

 

History

History
479 lines (344 loc) · 19.1 KB

README.md

File metadata and controls

479 lines (344 loc) · 19.1 KB

職務経歴書

基本情報

key value
Name aiya000(あいや)
GitHub aiya000
Qiita aiya000
Blog galaxy-sixth-sensey
Twitter @public_ai000ya
Booth galaxy-sixth-sensey
技術書典 galaxy-sixth-sensey

課外活動

イベント名 参加枠 発表資料
VimConf 2019 運営, LT Time script - Strong Static Typing with Vim script -
VimConf 2017 懇談会LT Either Monad in Vim script
VimConf 2016 発表 僕の友達を紹介するよ - 僕の開発用プラグイン達
.vimconf.swp.2018 発表 僕の推しVimプラグインを見て!
Haskell Day 2019 運営, 発表 「しんさんきぼう」GHCのderivingテクノロジー
Haskell Day 2018 運営, 発表 Semigroupとは? Monoid? 環?
ML Day#2 LT枠 Haskellで依存型とコンパイル時インラインLisp
Haskell入門ハンズオン! メンター枠

その他

スキル

プログラミング言語(非チューリング完全含む)

  • Haskell, Scala, Kotlin, Elm, Idris1
  • TypeScript, Java, C++ (11, 14, 17), C#, C
  • Python3 (mypy), Clojure, bash, zsh, Vim script
  • HTML, CSS, Sass, Markdown (CommonMark, GitHub Flavor Markdown, Qiita Markdown), Re:VIEW
  • json, json5, yaml, GraphQL

フレームワーク

  • Haskell

  • TypeScript

    • Vue3 (Vue.js)
      • Nuxt3 (Nuxt.js)
    • Vue2 (Vue.js)
      • Nuxt2 (Nuxt.js)
        • typed-vuex
        • nuxt-property-decorator
      • vuex
      • vue-router
      • vue-property-decorator
      • vue-test-utils
      • BootstrapVue
      • NativeScript-Vue
    • React.js
      • Next.js
      • Gatsby.js
    • node.js
    • probot
    • Express.js
    • eslint
    • prettier
  • CSS

    • Tailwind
    • vanilla-extract
    • Bootstrap (version4, 5)
  • Google Cloud Platform

    • App Engine
    • Compute Engine
    • Cloud Storage
    • Cloud Functions
    • Dialogflow
    • Firebase
      • Firestore
      • Functions
      • Authentication
      • Storage
      • Hosting
      • それぞれのrules
    • 少しいじった程度
      • Vision AI
      • Translation
      • Text-to-speech
      • Cloud Domains
  • Kotlin

    • AndroidSDK
  • Java

    • AndroidSDK
  • C#

    • WPF
    • Windows Forms
    • Unity

強み・技能(特定のフレームワークによらない)

  • フロントエンド(2018より)

  • フルスタック(2014より)

  • アジャイル・スクラム開発(2020より)

  • 常に最新の技術・トレンドを追っている

    • TechFeed, Qiita, Zenn, Reddit, Google Discover, Twitterなどによる
  • Test Driven Development (TDD)

    • Property Based Testing
    • doctest
  • (純)関数型プログラミング - (Pure) Functional Programming

    • Haskell, Idris1, Scala, Elm, Clojure, TypeScript
  • 高いコード品質で開発を遂行できる

    • 強い静的型付けを駆使したプログラミング
    • 型安全性や仕様未定義などを外れうる言語でのunsafeの回避・既に埋め込まれたunsafeの対処(修正)
    • 漸進的型付け
    • 最適な関数分割・命名
    • LSPや言語特有のコードフォーマッターを使用
    • 定理証明プログラミング
    • その他、人間的な可読性の担保
  • GitHub

    • Issue駆動開発(※1)・gitフロー・GitHubフロー・混合フロー
    • GitHub Actions
    • GitHub Apps
    • GitHub Releases
  • CSS

    • レスポンシブデザイン
  • 数学

  • Twitterのフォロワーが1000人超えしているアカウントをいくつか持っているので、発信に慣れている

    • 3000人超え: @public_ai000ya
    • 2000人超え: 非公開(VRChat向けアカウント)
    • 超人的なプログラマーがTwitterのフォロワーに多くいるので、強く学べるネット環境にある
      • リアルの知人にも多くいるので、強く学べるリアル環境にもある
  • 文章作成

  • プログラミング言語開発

自然言語

  • 日本語

    • ネイティブ
  • 英語

    • ⭕ 書き・読み
    • ❌ 聞き・話し

やったことはないが興味があるもの

職務経歴

2018-04 ~ 現在 : E社

  • 職務
    • フロントエンド
    • バックエンド

以下、時系列順。

↑ older
↓ newer


某ぬいぐるみロボットの設定ソフトを開発

某ホテル会社の店舗に設置する「ぬいぐるみロボット」の挙動を、httpで通信するWindows向けデスクトップアプリを開発しました。

  • C#
  • WPF

本プロジェクトには途中参加しました。

WPFプロジェクトにも関わらずMVWでコーディングされていなかったため、まずはリファクタリングから担当を始めました。

  • MVW(MVVM)

音声加工技術の開発を支援

某大手企業の音声加工技術のバックエンド開発に携わりました。

そこでは主に不具合の調査・テストを担当しました。

  • C++11

不具合の調査では、プログラミング言語マニアとしての能力を用いて、コーダーが仕様を誤解している箇所を多く発見しました。

テストでは、既存のコードがDRY原則に則っていなかったので、templateや関数分割を用いてDRYの遵守に務めました。


ヘルスケア系iOSアプリの修正

短期間ではありますが、既存のヘルスケア系iOS・Androidアプリの修正を行いました。

  • Swift

    • Xcode
  • Java

    • AndroidSDK

某社の公式Webサイトをリニューアル

某社から「公式サイトを一新したい」との依頼を受け、受託しました。

ロジックが全くない、広報用途のサイトであったため、シンプルなCMSとしてJekyllを用いました。 CSSフレームワークにはBootstrapを用いました。

  • Jekyll
  • Bootstrap4

またモバイル端末とタブレット端末へのレスポンシブ対応を行いました。

  • レスポンシブデザイン

社内アプリ開発

Vue.jsの社内採用に先駆けて、Vue.jsの研究目的で、社内アプリ(TODOアプリ)を開発しました。

  • Vue.js (2)
  • BootstrapVue

こちらでもレスポンシブデザインでコーディングしました。


GitHub周辺開発環境の構築・開発

某大手企業の開発業務を支援するため、GitHub Actionsを使用した、CI環境の構築を行いました。

  • TypeScript

  • node.js

  • probot + octokit

  • GitHub

    • GitHub Actions
    • GitHub Apps
    • GitHub templates
    • etc

下記の機能を持っていました。

  • GitHub Appsを使用した、GitHub運用の部分的な自動化
      • Organization化の、リポジトリ作成権限を持つユーザーがリポジトリを作成した際、その直後にリポジトリ管理権限を停止する ※2
      • リポジトリ作成時の、GitHubテンプレートの自動展開 ※3

またgitに疎い作業者(管理者・プログラマー)のために、本環境のためのgit・GitHub運用マニュアルを作成しました。

  • 文章作成

Audio Weaver向けPython3ライブラリを開発

案件としては前述と同じ扱いですが、別のタスクなので分けて記述します。

Python3からAudio Weaver Serverにリクエストを投げ、レスポンスを得るための非公開ライブラリを作成しました。 使用した技術は以下です。

  • Python3.9
  • mypy, typing: 漸進的型付け
  • dataclass, ABC(抽象クラス)

2014-04 ~ 2016-10: A社

  • 職務: フルスタックエンジニア

以下、時系列順。

↑ older
↓ newer


社用メールサーバーの構築

記念すべき初めての業務として、なぜか社員が広く使うためのメールサーバーを、オンプレミスで構築することになりました。

  • Postfix
  • CentOS 6

中国から当SMTPサーバーがハックされ、トレンドマイクロにより当SMTPサーバーがブラックリスト入りをしました。 (後日、解除申請が受理されました。)

オンプレミスのリスクを深く認識する、貴重な機会になりました。


高校生の研修を引率し、Androidアプリを作成

新社会人の新社員として研修を受けるのではなく、なぜか高校生の研修をすることになりました。

研修としてAndroidアプリのチーム開発を発案し、実行しました。

  • Java 7
  • AndroidSDK

作成したものは日記アプリです。 下記の機能を有していました。

  • 日記本文の作成
  • 日記への画像挿入

防水工事現場のマネジメント用Windowsアプリ開発

工事会社からの受託契約で、ヒアリング・外部設計から内部設計・開発全てを担当しました。

  • C# (.NET)
  • Windows Forms
  • MySQL

以下の機能を有していました。

  • 情報管理

    • 自社社員情報
    • 工事案件の情報
    • 工事材料
    • 工事種(工事材料のグループ)
    • 顧客会社情報
  • 「入力・出力」機能

    • 状況 (赤字 or 黒字)の表示
    • 顧客会社への見積書の作成(指定された形式へのExcelへの出力)
    • 日報登録機能 (現場社員による日々のコストの入力)

現場作業員により、経費が入力されます。 その経費を工事現場ごとに集計します。

下記環境を使用しました。


A社設立記念5周年セレモニーで上映するエンディング映像を作成

映像を作成といっても動画制作をしたわけではなく、エンディング映像を表示するためのWebアプリを作成しました。

  • AngularJS 1
    • MVC
  • HTML
  • CSS

下記の機能を持っていました。

  • 表示したいテキスト(社員一覧やメッセージなど)を入力する
  • 表示したい画像ファイルを入力する
  • 上記2つの長さに合わせて、以下を調整し、映像を表示する
    • テキストのスクロールスピード
    • 画像のフェードアウト・表示・フェードインのスピード
    • それらが同時に終了するように、時間を調整する

派遣情報管理ソフト開発

下記技術での開発になります。

  • C# (.NET)
  • WPF

ただし短納期を要求されたため、WPFをMVVMではなくMVCで運用しました。

また顧客要望で「ExcelからMicrosoft SQL Server 2016のデータベースに変換する」という作業が求められたので、Rubyで実現しました。。

  • Ruby



footnote

※1: 1つのIssueに対してn(0 <= n)個のPRを作成・紐付けを行い、開発を継続していくスタイル。

※2: リポジトリ作成権限を持たせながら、リポジトリ管理権限は持たせたくないため。

※3: テンプレートリポジトリを使用することも考えられましたが、リポジトリ作成後はそれぞれのプロジェクトでカスタムしたいとのことでした。