今よりもっとワクワクしていること
WEB制作においてある程度頼られる立場になったことでプレッシャーや責任を感じることが多くなってきました。それは仕方ないと思いつつも、IT技術大好き人間としては色々な技術を使って仕事でももっとワクワクしていたいと思っています。
未経験の技術を使うことや、新しい領域にチャレンジすることが楽しいと感じるので、ぜひ仕事でもやっていきたいです。
最近だとプライベートでAlexaスキル・LINE BOT、GoでWEBサイトを作る触るをしていたり、勉強という意味では機械学習・データ分析を中心に製作をしつつ学んで楽しんでいますが、圧倒的に仕事をしている時間が長いので、希望が叶う環境があればと思っています。
配送ロボットで荷受け、運搬、荷渡しを行えるように技術検証する
エレベーターを呼ぶ、ライン通知をするなどRESTでAPIを呼び出すことや、WEB画面(Angular)から用意したAPIを呼び出したりと、小さい規模ではありながらも様々な技術をもちいてロボットを動くように設計、実装、テストを行ないました。
APIはpythonのDjangoフレームワーク、MQTT部分はpythonのライブラリを使用しています。
WEB、DB、API、MQTTのすべてに関わり、プロジェクトが滞りなく進むよう全体を見ていました。
RPAで使用するシナリオの管理WEBシステム
参画当初はバックエンドエンジニアとして参画したが、二次開発からは技術担当のリーダーとして技術的な領域すべてを担当しました。
バックエンドはSpring boot、フロントエンドはAngular、デスクトップはC#.NETを用いて複数言語と開発環境で実装していました。
基本設計から~テストまで一括で行い、時には顧客と直接会い要件をまとめることもありました。
経験の浅いメンバーも多いため技術的サポートをしつつ、上長への報告時の橋渡しなどプロジェクトが円滑にすすむためのフォローも行いました。
エンドユーザ―が使いやすく、管理者にも使いやすく、発注者が本当に実現したいことを
どうすれば低コスト・短期間で行えるかを考え、学びました。
これらを実現するには要望をこうすれば実現できるという引き出しがなければなりません。
そのために特に大事なことはDB・インフラ・APIはベストプラクティスを知ること、画面はユーザービリティを意識することだと感じました。
良い形を知っていれば変則的な要求も少し崩すことで対応できますし、なぜこう設計したかの説明材料にもなるのでクライアントの方も納得して頂きながら進められたかと思います。
実装で意識していたことは保守性であり、拡張性が高い設計、ソースコードを実装・提案していました.。
基本的ですが大事なことはコーディングルールに順守することで可読性があがるため、絶対守るようにしています。
それ以外では今後増えると予想される値は増えても定数クラスに追加するだけでいいように実装したり、経験が浅い人が多かったため冗長になっても分かりやすい書き方を選択したりと、環境に合わせたコーディングをしていました。
また開発チーム全体が円滑に効率よく進めるよう工夫していました。
例えばエンジニア間でのコミュニケーションは積極的に行い、聞きやすい環境を作っていました。
そして新規参画者のためにナレッジを残したり、ER図やSwaggerなどのツールを提案して、プロジェクトの内容を素早くキャッチアップできるようにしていました。
知らないことを調査し、提案する力がついたと思います。
要望の中には知らないこと・技術が出てくることが多く、そのつど調査~検証をしてきました。
例えばAngularやC#.netの実装方法、DHCPサーバーとDNSサーバーの仕組み、複数DBの連携方法、ブラウザの作成、JWTでのログインの仕組み、デスクトップアプリの作り方、AWSでのインフラ構築など多岐にわたり経験させて頂き、自信になりました。
※複数プロジェクトを兼任し、最も関わりが強かったプロジェクトを記載しています。
某テーマパークのアプリ(IOS/android)のバックエンドを担当。某テーマパークの予約WEBサイトの追加開発・保守・運用を担当しました。
フロントエンドとバックエンドを担当し、チームのマネジャーから落ちてきた要望を修正していました。
また季節毎に行われるイベントのランディングページや新規機能の開発を担当。
WEBサイトとアプリをOAuthを使用してログインする機能(アプリでログインするとWEBサイトでもログインした扱いにする機能)も実装しています。
またWEBサイトの予約機能をそのまま使用するため、アプリで使用する用に実装を行いました。
英語