[イベント「Inside 転職ドラフト#1」を開催します!3月6日(火)](https://livesense.connpass.com/event/78194/)

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も導入し、わかりやすい連携の仕組みを作成しました。 # 長くなりましたが、上記の通り、属人化を避けモジュール化・平準化された開発を行うことへの熱意は誰にも負けません。

このプロジェクトは公開されていません

このプロジェクトは公開されていません

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です

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

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

エンジニアとして影響を受けた本を教えてください

# Webを支える技術 * この本を読み、自分の力となったのはHTTPプロトコルへの理解です。それまで、なんとなく理解していたWebページへのアクセス・サーバからのレスポンスの処理が、HTTPプロトコル上でのGET, POSTなどが組み合わされてブラウザからのリクエストが処理され、レスポンスが行われていたことを深く理解でき感銘を受けました。現在のWebアプリケーション開発のベースとなっている知識を身につけられて本当に良かったです。 # Rubyによるクローラー開発技法 * Rubyに初めて触れることになった本です。事前コンパイル型ではないプログラミング言語に触れたことがなかった当時の私は、スクレイピングに興味を持っていました。そこで、この本を手にとってみましたが、それまでRubyを触ったことがなかったため、本の内容を理解するには難しく、本を理解するためにRubyを覚えながらスクレイピングを覚えてみました。 * そのおかげで、Rubyのオブジェクト指向言語としての扱いやすさ、柔軟さを理解することはもちろん出来ましたし、OSSで作成されたgemの有り難さも実感することができました。 # 実践 Selenium WebDriver * この本を読んだ当時は、自動テストに興味があった時期です。コードからのブラウザの操作の方法があることを知ることができ、全自動システムテストへの期待を持つことができましたが、同時にその全自動システムテストの難しさ(事前データの登録など)についても考えさせてくれた大切な一冊です。

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

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

キャラクター

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

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

基本プロフィール

誕生年
1990年
好きな Text Editor
Visual Studio Code
希望勤務地
埼玉県 / 千葉県 / 東京都 / 神奈川県 / 愛知県 / 京都府 / 大阪府 / 兵庫県 / その他地域 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
580万円
ただいまの期間
ドラフト参加受付中

  • この期間に審査合格した方は次回ドラフト参加になります
  • ドラフト初参加以外の方は次回のドラフト参加 / 不参加を選択してください
  • レジュメは更新できます
  • 審査は随時行っています
ID:15515さん
今年で20代後半
Visual Studio Code
参加ステータス
不参加
転職意欲
参加回数
1回
累計平均提示年収
472 万円
SIGN UP
SIGN IN


このサービスを友人に薦めたいですか?