はじめに
どーも!
KIT Developer Advent Calendarに参加させていただきます!
実際エンジニアってどんな働き方するの?って思ってる学生も多いと勝手に思い、
僕が経験したWeb改修を主にエンジニアとしての企画開発でのあれこれを話します。
ある程度まとめましたが、文章量多くなるかもしれないので
気になった点などを掻い摘んで読みましょう!(推奨)
現在進行形で運営されている大規模(?)サービスの開発にあたってどのような考えで何をやっていたかも参考になれば幸いです!
ただ、残念ながら僕の判断だけでは実際に開発したソースコードやデザイン改良部分は今回お見せできません...
もう企業のものだからね、仕方ない。
なのでCoffeeScriptに関してはおまけ程度で話そうかなと。
CoffeeScriptとは
今回の経験した内容で使用した言語の一つです。
僕自身、これを深く学ぶのは初めてでした。
この言語仕様の全てを話すと長々しくなるし、他の記事もたくさんあるので自分が注目した部分を話す感じにします。
詳しく知りたいって方は公式サイトで。
ものすごく簡単に言うと、JavaScriptを簡潔かつ安全に書けるように意識されたものです。
どんな開発したの?
改修と言う名の通り、上司やデザイナーと企画しつつ、サービスの向上を目指しつつ開発していました!
まぁ実際行ったのはフロントエンドでの改修がほとんどですかね。なのでHTMLやCSSを書くことも多かった日々。
自分の技術欲求を満たしたい!って人からするとやりがいはあまり感じられない内容もあるとは思いますが、
個人的には今あるサービスをどんな工夫をすればよりよくなるかを考えていたので純粋に企画や開発が楽しかったですね。
順序としては
- サービスを利用し、気になる点を探す。
- 気になる点から改善案を幾つか企画して提案する。
- 企画した内容の開発
- 開発したもののテストを行い、本番環境へリリースする
- 1へ戻る。
といった感じです。
企業によってエンジニアがどこまでの裁量を持っているかは変わりますが、うちだと割と大きめな裁量だと思ってます。
サービスの企画から開発してそれを本番リリースするまでなかなかやらせてもらえないような。
個人的にはインターンだと開発からリリースまでだったり、企画から開発までできても本番リリースはあまりできてなかった感じはあります。
あと実はこれ、かなり簡潔にまとめてますが、実際はもっと多くの手順がありました。
幾つか焦点に当てて話しますね。
2.気になる点から改善案を幾つか企画して提案する。
単純に「これ気にくわねぇからこうしたいです。」と言った何の脈絡もない企画はNG。
どこがどういう理由で良くなくてこの改善案を出したのか、その改善案を出した理由はそもそも何か?とかも具体的に説明しないと説得力に欠けますし、何より改修前サービスを理解できていない証拠。
建設的に企画の提案をしなければ相手にとっても理解しにくいので結構時間をかけたポイントでした。
改善案を出した理由の例としては、
- 今現状でこの画面から次の画面までの遷移率が比較的少なかったため。
- ユーザがサイト内で最もクリックしたのが※※※だからこの表示を改修する。
わかりにくいかもしれませんが、このような提案をしてました。
数値とかで出てくるユーザ数を使うとより具体性を増すので意識するといいと思います。
4.開発したもののテストを行い、本番環境へリリースする
- テスト...開発したプログラムのバグ発見には必要な作業項目。
今まで業務系のインターンをあまりしてこなかったのもありますが、テストでの手順はかなり多く感じました。腑抜けた性格がよく分かる
純粋に企業としてサービスを運営するって大変なんだな、と体感できました。
まずチェック項目を事前に洗い出しましょう。
漏れなく重複もなくテスト項目を洗い出す、これ重要。
と言うのも意識して慣れておかないと大変と感じる人も多いのかもしれませんので、普段の開発で意識するといいと思います。
いうのは簡単ですが、実際漏れなくやるって意外と難しい。俺だけか??
その後はテスト環境で各ブラウザ、各端末(android,ios)ごと入念に確認作業します。
## 改修としてのまとめ
今回は何個か焦点に当てて話してみました。
コンセプトとしては開発するにあたって大事なのは根本的な企画内容とテスト。
どうせ開発するならいいもの作りたいし、変なバグ残したくないよね。
KITの方なら仲間内でやっている人も多いのですが、意識して本当に仲間が改修する意味など理解しているか聞いてもいいのでは?
書けてない内容もたくさんあるのでまた機会があればお話しします。
CoffeeScriptを使ってみて
- 簡潔に書けることが多いため、総合的な記述量が減った。
と言うか、これに尽きる。
RailsがデフォルトでサポートしているだけあってRubyっぽく簡潔に書ける部分があったのが最初の印象。
Python直伝インデントによるブロックもかなり読みやすくまとまるのも好印象。
JSよりも構成がシンプルになってるので読み易くて記述量が減ったというのがまとめです。
他の点は正直良いとは言えたものではないかな、と。
単純にJSとCoffeeScript双方を理解していないといけない、当たり前のことですが。
最初は別にCoffeeScriptじゃなくてもいいんじゃね?ということも思ったり思わなかったり。
学習コストがネックな部分な気がします。読みやすくなるし、書きやすくもなるのですが、果たしてそれに見合った恩恵があるのか、個人的には微妙なライン。
今後CoffeeScriptを学ぶのなら他言語にない、革新的に読みやすくなる機能とかが増えない限り学習するのに推奨しにくい、というのが総合的な評価です。
まとめ
ということで今回はWeb改修(企画部分、テスト部分)を少し話してCoffeeScriptの評価をした記事でした。
この記事で少しでもWebサービスの改修をするというエンジニアの一つの仕事に対して理解ができたらなぁと思ってます。
そして今日はクリスマス・イヴです。KITの皆さんなら予定の1つや2つはありますよね!?
それでは楽しいクリスマスを〜