ID:15515さん

3年後の目標や野望


複数のWebサービス・製品を成長させ、利益の源泉を拡大させるだけの力を身に着けたい

1. 利益の源泉を拡大させるには、継続的成長を行う製品・サービスを生み出していく必要があると思っています。 1. その継続的な成長を行う製品・サービスの裏には、携わる全ての社員が受動的ではなく能動的に・前向きに技術力向上を行っている必要があると思っています。 1. したがって、まず自分が複数の思想による開発手法を身に着け、開発コスト・メンテンスコストとランニングコストを俯瞰して最適な技術を選定できるようになることで、周りへの意識付けと、メンバーのモチベーションアップに寄与できるようになりたいです。 1. 今現在は、ASP.NET WebFormsをメインとすれば0からWebアプリケーションを構築するだけの力を持っているので、次にRuby on RailsやReact.jsやAngularなどを利用したWebアプリケーション開発を行いたいです。

年収評価シート

2016年/2年以内

自治体業務向けWebアプリケーション開発

# 2018年1月現在、ASP.NETをメインとした自社パッケージWebアプリケーションの開発業務に従事しています。 * このプロジェクトは、自治体向けオンプレミス環境を対象とした自社パッケージWebアプリケーションをASP.NET(WebForms)+ SQL Serverでフルスククラッチで開発するプロジェクトです。 * 元々、クライアント/サーバー型のVB6アプリケーションとして自社パッケージで持っていたものを、Webアプリケーションとして刷新するプロジェクトで、技術リーダーとして主導しました。 * Webアプリケーションを生み出すにあたって、ASP.NET WebForms + VB.NETで開発することが社内方針と決まっていて、また、自治体向けWebアプリケーションによくあるInternet Explorer限定ではなくGoogle ChromeやFireFoxでも動かすことができることも求められていました。 ## 以下の考えの下、プロジェクトを進行しました。 ### 開発の手間を可能な限り省ける環境にし、プロジェクトに初めて参画した人でもコードの水準が同程度になるようにしたい * データベース設計書と、プログラム内部で使用する定数値や各種IDを管理する簡易データベースの二つを入力ファイルとする、ソースコード自動生成ツールをゼロから作成しました。 * その自動生成ツールでは、O/Rマッパー(Dapper)で使用するエンティティファイルや、テーブル定義の各種Create文、及び各定数やIDをまとめた定数ファイル等を自動生成するようにしました。 * このツールのおかげで、変数で比較する値を定数ファイルに持つことができ、可読性が高く変更追従性に強いソースを誰でも作成できるようになりました。 * また、社内で誰もCIに興味がない中、Jenkinsを使用し、MsTest+ReportGenerator+OpenCoverと組み合わせることによって単体テストの自動化・テスト駆動開発の導入も行って、カバレッジの可視化も行い、各々にコードの質を意識させるようにしました。 ### WebFormsでもリッチなUIを提供したい * サーバーサイドで生成されるHTMLをIE8以降のブラウザで互換性を持たせつつ動作させるために、jQuery1.12.4を選択しました。 * クライアントサイドJavaScriptについては、下につくメンバーが殆ど何も触らなくて良いように、全て自分でゼロから用意しました。正規表現で入力バリデーションを行いBootstrap3に沿ったツールチップを出すような作りにしたり、JavaScriptに疎いメンバーだけになることが予見されていたのでサーバーサイドでBootstrap3のダイアログの操作結果をAjax経由でハンドリングするような仕組みにしたり、日付系入力コントロールに入力された様々な形式の日付(2017/12/24,H291224,429.12.24, etc)をシステムで統一された形式(H29/12/24)に自動変換するような関数群を用意することで、新規参画メンバーのスキルが低くても良いようになりました。 * CSSについては、各々のメンバーが勝手に作ると煩雑で分かりにくいCSSファイルができることが予測されたので、開発部署で初めてとなるSass(SCSS形式)でベースを作成しました。CSSをわかりやすく構造化できたので、素早く効率的にUI変更に追従できるようになりました。 ### 客先への導入で、カスタマイズを可能な限り0にしてコストを下げたい * Webアプリケーションに関しては、ページ内のグリッドの表示列の順番を可変にするような仕組みを整えたり、ダイアログに表示するメッセージを可変表示できるようにしたり、ページ内のラベルの表示文字をデータベースの設定を変更するだけで可変にできるようにしたり、パラメータの追加があってもUIから設定変更可能な仕組みを整えたりしました。 * 帳票も出力するシステムのため、帳票出力のフレームワークも自分でゼロから作成しました。CoReportsという帳票作成支援ツールを使用したのですが、従来のクライアント・サーバーシステムでは決められた文字しか出せなかったのを、帳票定義体上のオブジェクトのIDの命名規約によって動的に出力内容を編集できるような仕組みを整えました。また、外字も使用するため、外字の埋め込みができるように、動的にサーバー上のMicrosoft Print To PDF, XPS Document Writer仮想プリンタを制御して、外字を埋め込んだPDF/XPSファイルを生み出す仕組みにもしました。 ### バッチアプリケーションとの連携をスムーズに行いたい * 大量の帳票を出力するため、サーバーサイドにバッチ実行環境もゼロから作成しました。Webアプリから登録されたジョブを制御・実行するためのWindowsサービスも作成し、Windowsサービスとバッチ(コンソールアプリケーション)との連携には部署初のPowerShellも導入し、わかりやすい連携の仕組みを作成しました。 # 長くなりましたが、上記の通り、属人化を避けモジュール化・平準化された開発を行うことへの熱意は誰にも負けません。

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

マネージメント能力

全社のプロジェクトのタスク管理を統括するRedmineの導入を、社で中心となって行いました。
以下についてそれぞれ明確化することで、全社の設計・開発メンバーのタスク実行をスムーズできるようにすることが求められていました。 1. 作らなければいけないプログラムの期間・予定工数の明確化と、スケジュール遅延の把握 1. 作成途中で発生したバグなどの障害の管理方法の策定 1. プロジェクト全体に影響するような課題の管理方法の策定
* Redmineによるタスク管理のマネージメントを開始するにあたって、以下の通り時系列順に遂行し、全社でのRedmineによるタスク管理・障害/課題管理を開始することができました。 # Redmineによるタスク管理開始前 * 多くのプロジェクトで、今後作らなければいけないプログラムの一覧と、それらの画面設計書がExcelファイルでまとめられているという状況でした。更に、作らなければいけないプログラムの一覧が記載されているExcelファイルを流用し、製造予定期間や予定工数の把握、製造担当者の割り振り、障害・課題管理まで全てExcel上で行おうとするプロジェクトばかりでした。 # Redmineによるタスク管理を会社に初めて導入 1. その頃、社内の多くのプロジェクトは、前述のようなExcelを使ったプロジェクト管理であったり、Ms-Projectを使ったプロジェクト管理であったりと、様々なプロジェクト管理手法がとられていましたが、どれもが単一ファイルを直接編集するというものばかりで、不便を実感していました。 1. 当時参画していた他のパッケージ開発・修正プロジェクトで、お客様からの問い合わせのサポート管理を簡単に行いたいとの要望が他のプロジェクトメンバーから上がってきたため、耳にしたことがあったRedmineによるQA・サポート管理システムを社内のWindowsServer上に初めて構築してみました。構築にあたっては、Railsとして初めて携わったのがRedmineであったため、Rubyのバージョン選定やWebサーバー(thin)の導入、DBとしてSQL Serverの連携のそれぞれを手探りで進め、Bitnamiを使用しないピュアなRedmineを構築することができました。(Bitnamiを利用しなかったのは、障害発生時に問題の切り分けを自分でできるようにするためでした) 1. Redmineに対して、C#/VB.NETからプログラムを介して自動でチケットを登録したいという要望もあったため、RedmineのAPIをコールするマネージドDLLの作成も行い、チケット登録の迅速化も行うことができました。以下が当時作成したAPIです。https://github.com/shoutatani/RedmineREST 1. Redmineのチケットを用いた管理が思いの外便利だと実感していたところ、当時の上司に社長以下多くの役職付きの社員が出席する会議でRedmineについて発表してみないか、とのお誘いを受けました。そこで、全社に向けてRedmineによる情報管理の容易さを伝えたところ、品質管理担当部署から、是非とも全社で本来のタスク管理の方式としてRedmineを利用したいとの提案を受けました。 1. 全社でタスク管理を開始するにあたって、以前から不便に思い、使い勝手が悪かったExcelでの各種管理を排除したかったため、タスク管理のみならず、障害・課題管理も同時にできるように以下の三点を提案し、了承を得ることができました。 ・プログラムの作成・修正などのWBSタスクを管理できるようにすること ・プログラムのバグを障害として管理できるようにすること ・プロジェクトで意思決定を行わなければいけない課題を管理できるようにすること 1. その後、Redmineの全社での上記三点の管理方法の標準化を私の他数人で行い、社内全プロジェクトでRedmineを利用できる下地作りを行いました。ある部署では必要/不必要とするフィールドがあったりしたので、どんな入力項目が最低限必要なのかを吟味することが大変でしたが、標準化を無事終え、全社で利用できる準備を行うことができました。 # 実際のプロジェクトでのRedmineによるタスク管理の開始 * 全社でRedmineを使用する準備が整い、Redmineでタスク管理を行う最初のプロジェクトとして、私が現在参画している自治体向けパッケージソフトウェア開発プロジェクトが選ばれました。 * そこで、同じプロジェクトに参画している先輩にまずRedmineのメリット(WBSタスクの管理や課題の管理について)を説明することで、Excelへの追加から、Redmineへのチケット追加にすぐ切り替えるように誘導することができました。 * 私の下に他の設計者及び開発者が就いたら、主にWBSタスクの管理・バグの管理について説明することで、プログラムの作成時・バグの発生時にまずRedmineに登録するような意識付けを行うことができました。 # Redmineでのタスク管理の今後の目標について 1. 全社でのタスク管理・障害管理・課題管理をRedmineに集約化することができ、データのマネージメントを行うことができましたが、チケットからバグの分析を行い、プロジェクトがどのような成熟度にあるのかを判断するような仕組みを整えていけるようにする必要性を感じたので、自身の今後の目標として、成熟度を自動で判別できるような仕組みを今後携わるプロジェクトでは整えていきたいです。

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

# Rails, ASP.NET MVC Coreなどのサーバーサイドフレームワーク * ASP.NET WebFormsの習得で、サーバーサイドで動的ページ生成の手法は習得できました。今後はREST APIを提供するサーバーサイドロジックを自分のモノにし、後述のJavaScriptフレームワークと合わせてフレキシブルな技術選定ができるようになりたいです。 # Angular, ReactなどのクライアントサイドJavaScriptフレームワーク * jQueryによるページの修飾を行ってきて、複雑なページになればなるほどメンテナンスコストが高くなっていくのを感じています。クライアントサイドのプログラムについても明瞭で変えやすいプログラムを作るために、異なる思想のAngularやReactを用いたプロジェクトに参画して、メンテナンスコストが低いページの開発手法を習得したいと考えています。 # システムテスト自動化手法 * 単体テストレベルのテスト自動化については、各種テスティングフレームワークの利用で容易に達成することが出来ましたが、複数のシナリオを持つ高度な自動システムテストの技術を獲得することで、一定の品質を持つシステムテストを継続的に実行できるようなシステムを作り上げたいです。

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

# 技術の習得・研鑽に前向きになっているチームメンバーが多くいる環境 * "3年後の目標や野望"にも書きましたが、利益の源泉を拡大させるには、継続的成長を行う製品・サービスを生み出していく必要があり、継続的な成長を行う製品・サービスの裏には、携わる全ての社員が受動的ではなく能動的に・前向きに技術力向上を行っている必要があると思っています。 * そのような能動的に技術力向上を目指しているメンバーが周りにいれば、私が行おうとしていることへの指摘・改善点ももらうことが出来ますし、同時に私ならではの視点でも指摘できる点が見えてくると思います。 そのような、全てのメンバーのモチベーションを交互に上げられ、改善点を常に製品に反映させられるような環境が好きです。 # 継続的インテグレーション(CI)を是とする環境 * 現在の会社ではシステムインテグレーター的考えの下、CIへの理解がほとんどなく、修正したら再び全て人力でテストすれば良いと思うような人で溢れています。 * 私としては、コードのカバレッジ状況を視覚化し、コードの単体テストを行う程度のCIを行う環境下で初めて開発者は将来に向けての快適な開発ができると思っています。

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
問題解決力 / 巻き込み力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
未入力です
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる / 新しい技術はとりあえず試す / 趣味は仕事
その他のやりたいこと・やりたくないこと

* 自社サービス開発を行いたいです。現在は自社パッケージを提供している企業に努めていますが、使用されている技術に興味を持とうとしない人ばかりなので、製品のバックグラウンドの技術を意識したメンバーとサービス開発・提供をすることにより一層の興味があります。

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代中盤
好きな Text Editor
Visual Studio Code
希望勤務地
埼玉県 / 千葉県 / 東京都 / 神奈川県 / 愛知県 / 京都府 / 大阪府 / 兵庫県 / その他地域 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
580万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?