Top

Careers

基本情報

|項目|内容| |:--|:--| |ハンドルネーム|Cma| |生年月日|1995.03.11| |E-mail||

アカウント情報

各種スキル

プログラミング言語

|言語名|経験年数|フレームワークなど| |:--|:--|:--| |PHP|業務2年, 個人開発2年|Laravel| |Node.js|個人開発5年|NodeCG| |TypeScript|個人開発3年|Vue.js, React| |Java|在学中3年, 業務2年|Swing, Spring| |Python3|在学中1年, 個人開発1年|Flask, django|

データベース

|名称|経験年数| |:--|:--| |MySQL|業務2年, 個人開発2年| |PostgreSQL|個人開発1年未満| |Redis|業務2年|

クラウド

|名称|経験など| |:--|:--| |AWS|コンソール上で EC2 や RDS, ElastiCache を作成し, VPC を構成してアプリケーションをホストできる程度.| |Azure|DevOps Pipeline を利用して, App Service への自動デプロイを構築できる程度.| |GCP|GAE 上に PHP アプリケーションをデプロイした経験がある程度.|

開発ツール

  • VSCode
  • Docker
  • Git
  • Draw.io

保有資格

|取得年月|資格名| |:--|:--| |2018.06|応用情報技術者試験| |2017.05|基本情報技術者試験| |2017.03|中学校教諭一種免許状(数学)| |2017.03|高等学校教諭一種免許状(数学)|

強み・得意なこと

業務要件や採用技術のキャッチアップが早い

現職では進行中のプロジェクトにジョインする機会が多かったですが, テストコードの実装・リファクタリングなどを通してキャッチアップしていました.

PHP や Laravel についても現職からの学習でしたが, 現在は Laravel アプリケーションのアーキテクチャ設計を担当し, 他メンバーからのヘルプにも対応するような貢献をしています.

趣味の活動でもソフトウェアを活用しており, 業務外でも日常的にコードを書いています. 技術理解や学習のために業務で採用している技術を個人開発でも活用し, 個人開発での経験が業務につながることも多いです.

開発パフォーマンスが安定している

型定義の活用とテスト駆動開発の実践によって, 安定した生産性で開発ができます. 特にテスト駆動開発については自動テストの文化がない環境でも自発的に実践し, テストコードで仕様の抜けを早期に検出するなどの活用をしていました.

サーバーサイドとフロントエンド両方の言語経験があるので, サーバーサイドからフロントエンドまで一貫して担当することができます.

プロジェクト管理も担当した案件では CI / CD の整備に取り組み, 開発の環境改善に貢献することで, チームとしてのパフォーマンス向上に努めました.

問題解決を重視した設計ができる

仕様を理解するにあたっては, 「そもそも何を実現したいのか」を重視します.

ソフトウェアをあくまで問題解決の手段と捉え, タスクの完了だけを目標とせず, 根本的な問題を慎重に検討し, コードがドメインを表現する設計を意識しています.

弱み・苦手なこと

ドキュメント化の習慣

業務において, ライブラリや共通部品の実装についてドキュメントの不足が課題になることが多いです.

ドキュメントを書くこと自体に苦手意識はないのですが, 必要な場面で自主的にドキュメント化をすることが苦手だと感じているので, 意識してドキュメントを作成する機会を作っています. 今後はある程度ドキュメント化の文化が根付いている環境で, 適切なドキュメント化を学びたいと考えています.

各種ミドルウェアへの理解

RDB においては, エンジンの特徴を十分に理解できていません. 例えば, MySQL ではこの設計でよいが, PostgreSQL では問題がある, などの判断がすぐにはできません. 今後学習したい分野ではありますが, この分野の知識を即時的に求められることは難しいと思います.

Apache, nginx などの Web サーバミドルウェアについても, EC2 上で Web アプリケーションにリクエストを送る程度の簡単なセットアップ経験しかなく, 適切な使い分けや細かい設定ができる程の理解はまだありません.

その他の特徴

Qiita や Zenn, 技術ブログ等の記事は参考にはしますが, 公式ドキュメントの一次情報を以って信頼性を確かめます. 翻訳が外部サイトにより提供されている場合は, できるだけ原文を読むようにしています.

スケジュール等を理由に, 技術的負債や仕様の不備を許容することは避けたいです. 一時的に技術的負債を許容する場合でも, その解消にコストを払うことができれば良いと考えているので, 技術的負債の解消が明確なタスクとして許容できる環境を望みます.

朝に弱いので, フレックスタイム制の方が高いパフォーマンスを発揮できます.

企業に望むこと

成長できる環境

エンジニアの教育に注力している環境で成長を続けながら, 会社には技術力を以って貢献して常に最前線で活躍し続けていきたいと考えています.

個人の勉学・研修費負担などだけでなく, 組織として技術力を高める意識・カルチャーがあることを希望します.

ワークライフバランス

ワークライフバランスに配慮した環境で, 業務外の活動にも妥協することなく取り組みたいと考えております.

後述するゲームコミュニティでの活動では, 平日昼間や深夜帯の活動が必要になるケースがあります. それぞれの活動に影響を与えないよう, フレックスタイムや柔軟な休暇制度があることを希望します.

趣味について

趣味で を行っており, プレイヤーとしても活動しているほか, RTA イベントの運営も務めています.

業務で RTA に関わることをしたいわけではありません. ゲームコミュニティに関わるソフトウェア開発の場面で, 知見を活かせる場面もあると考えています.

お盆と年末に大きなイベントがあるため, その時期には連休をいただくことになります. 週末にイベントを開催することもあるので, 休暇については比較的自由に取得できる環境が望ましいです. 平日昼や深夜に活動することもあり, 有給休暇制度やフレックスタイム制が充実していることを希望しています.

経歴

現職 2019.05 ~

主要言語・技術

  • PHP(7系, 8系)
    • Laravel 6 - 8
    • Slim 3
  • JavaScript
  • Vue.js

経験したこと・学んだこと

現職入社後から PHP を学習し始め, 2年ほど PHP を使用しています.

Laravel を中心に PHP に触れる中でソフトウェア設計について興味を持ち, ドメイン駆動設計・Clean Architecture について学びました. 業務では, Clean Architecture を参考に, レイヤー間の依存を考慮したソフトウェア設計を提案・実践しています.

業務コーディングにおいてテスト駆動開発を実践し, 社内のテストの導入を促進しています. テストなしで実装されていた コントローラが肥大化していた Laravel のアプリケーションを, テストを活用してリファクタリングした経験があります.

都内SES 2017.04 ~ 2019.03

  • 大学卒業後, 正社員として新卒入社
  • 客先業務中心の官公庁向けオープン系システムの構築

主要言語・技術

  • Java (8-11)
    • JavaEE ベースの独自フレームワーク
    • Applet (swing)
  • JavaScript
    • jQuery

業務内容

2カ月の外部研修の後にプロジェクトに参画しました. 文系出身の社員が多い環境の中で学生時代からの経験があったため, 即戦力としてコーディング・単体テストを担当しました. 約2年間で3プロジェクトを経験し, 基本設計~単体テストを中心に担当しました.

スクラム開発を実験的に採用したプロジェクトにも参画した経験があります. そのためスクラム開発の手法にも理解がありますが, 比較的早い段階で該当プロジェクトから離脱したため実践経験は少ないです.

既存のシステムではレガシーなコードが多く, モダンな環境での開発にチャレンジしたいモチベーションから, 2019年3月に退社しました.

経験したこと・学んだこと

提供された既存のフレームワークに則った手続き的プログラミングの設計・コーディングを経験しました. 主に Java を用いた基本的なプログラミング業務を学びました.

レガシーシステムの刷新プロジェクトでは要件定義工程の期間も長かったため, 現行コード(C++)の分析や Excel・PowerPoint を主としたドキュメント作成なども行いました.

~ 2017.03

  • 大学にて情報通信工学を専攻

  • プログラミング未経験で入学, 在学中にプログラミングを学ぶ

    • プログラミング基礎(C言語)
    • オブジェクト指向・データ構造及びアルゴリズム(Java)
    • Webアプリケーション(Java・Python・SQL)
  • 卒研ではニューラルネットワークを用いた文字認識を Chainer にて実装

  • 教職課程を履修, 数学の教員免許を取得

    • 中学校教諭一種免許状(数学)
    • 高等学校教諭一種免許状(数学)