データ分析者の自分にも front end の作業に着手する切っ掛けが！

こちらは今年の [HowTelevision Advent Calendar](https://qiita.com/advent-calendar/2022/howtelevision) の7日目の記事と成ります。6日目の投稿は我が lead engineer の藤原さんの[かなり面白い形態の遠距離勤務のお話](https://qiita.com/ryo_fujiwara/items/8ee358bf156dff53dc69)です。
技術的知識の共有と言うよりは、個人的な業務体験を素朴に語って行きたいと思います！


# 背景

元々留学生として初めて来日した自分[^1]が大学時代の長い間、とある抽象的専門分野[^2]をいくつかの修士・博士課程を通して追求してから就職する時がいずれ自分にも訪れた。アルゴリズム・プログラミングの基礎知識とは高校時代から親しんでいた学歴で、選んだ職種はデータ分析にしました。HowTelevision との出会いが自分を訪れるまでの段階で、食事配達サービス中心の国際企業の BI (Business Intelligence) チームにおいてデータ分析の経験も積んで来ておりますが、そこの部分を省かせて頂きます。

今年の初夏に HowTelevision と出会って、そのデータ分析チームに加わる事と成りました。6月からの入社で、振り返って考えると当時から現時点まで数ヶ月しか経っていないけれども、狭義のデータ分析に限らず、色んな面白みのある様々な課題に着手する切っ掛けを与えて来ています。


# プログラミングの経験、ありますか？

私の場合はデータ分析者としての応募だったので、採用を決定する上ではプログラミングの専門知識の有無はもちろん必須条件ではありません。データ分析と言った職種に足を踏み入れるための準備段階で、二進木などの様な典型的データ型を扱うアルゴリズム理論の勉強（以下の画像がその当時からの思い出であり続ける、ラベル付き二進木における一つの興味深い定理の証明の下書き[^3]）：
![Binary tree theorem.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019300/b6b32d08-0353-a145-90ca-5d05fad99bc7.jpeg)
及び python による実装（データ分析者を目指していたので、専念する言語は当然 python に成った）：
![Reconstruct_BST.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019300/35b30f4d-1943-151a-9b9a-e2c8600f7f56.png)
を個人的学習の中でやった経験もありますが...

...だからと言って、front end の実践経験がある訳ではなかったのですね:relaxed:。


# Front end の初課題！

こんな私に、今年の8月のとある日に、業務上で対応して上げる事の時々ある編集部から**≪広告付き記事の（我が [gaishishukatu.com](https://gaishishukatsu.com/) への）投稿日付の変更をする必要が出て来ましたが、対応お願い出来ますでしょうか？≫**との依頼が届きます！

8月のそのとある日まで gaishishukatsu のサイトのコンテンツ管理にそれ程触れる機会も無く、上記の依頼内容を確認した最初の所は「これ、データベースに `UPDATE` 文を数箇所で掛ける事だけによって課題解決に成るのでしょう」と簡単そうに思っていたのですが、我がデータ分析チームの先導者により細かい案内をして頂くと、「データベースの更新の問題ではないのですね。**データベースにおける既存の情報をPHPコードが参照する様に、PHPコード自体を変更しなければ**ですよ！」との事を明確に伝えて頂きました。


「なるほど！」と心の中で状況を理解して、それまでの人生でPHPとの触れ合えいの度合いが「PHPと言う, websites を動かす言語が存在する」との程度だった私は「いよいよPHPと少しでも身近に成ろう！」と思いました！そうしますと、以下の様な：
![Screen Shot 2022-12-05 at 16.25.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3019300/d9eaa2f6-649c-b69d-6baa-d535d89cf2f7.png)
入門的資料を一まず見付けて、PHP syntax の基礎を身に付けるために勉強して置きました。その基礎の部分をとりあえず満足の行く位掴んでいたら、我が gaishishukatsu.com を実際に動かしている PHP コードを調査し始めたのです。すると、


# PHP は単独で機能する訳ではないのよ！

と言う事を分かって来ました。より具体的に言うとサイト運用の repository をじっくり見ると、その中に`.php` ファイルと共に syntax がほぼ PHP 系なのに不思議な拡張子の `.ctp` の付くファイルも共存している事を知った。CakePHP と言う、その当時の自分にとってまだ得体の知らぬ生き物、ね:eyes:...更に、「**Model-View-Control**」と言ったフォルダー構造にも気付いたのですが、それだけで課題だったその広告付き記事の表示日付を変えるのに変更すべきコード箇所をまだ特定出来なかったのですね...


...そこで我が engineering team の先導者の出番に成りまして、その方とのちょっとしたオンライン会議を開いたお陰で記事の表示日付関連のデータを制御しているコード箇所を直ぐ特定出来ました！

そこからは、記事の種類別にその表示日付を決定する、条件文を含めた関数を自分で設けて、error log を参考に何回かの試行錯誤を繰り返しながら要望通りの仕様のコードを完成させる事がやがて出来ました！


# 初 front end 課題無事完了！

仕事仲間の素早い対応と明確な説明のお陰で、PHP 関連の初課題を無事に遂行する事が出来ました！私の付け加えたコード変更が本番環境に反映されたのは、9月の初旬でした。それ以後、他にも front end 関連の課題に着手する切っ掛けがあり、プログラミング系の面白い体験を再びさせて頂きました！

振り返って思うと、データ分析領域外のこう言った front end 修正の課題は全て純粋に楽しくて、技術力の面で貴重な学習をする切っ掛けにも成ってくれたので、私の中でとても大切（そして建設的な）業務体験として刻まれています！

HowTelevision と面接をしていた頃から≪自分の気が向いている技術的領域に進んで行けます！その自由度はあります！≫との事を複数人の面接官の方には伝えて頂いていたのですが、その≪領域≫を実際に自由に冒険出来るとの体験も貴重ですし、そう言った機会を無理矢理にのではなく、自然な業務の自然な流れで従業員に与えてくれる HowTelevision も嬉しい程有難い環境だと思います！

#### なので、この様な環境の中で自分の技術力を研磨して行きたいと思うエンジニアの方を喜んで大歓迎しております！

下記採用ページよりご応募出来ます！
https://recruit.howtelevision.co.jp/



[^1]:以上の添付画像の中に散らばっている文書は私の母国語で書かれています。:pencil2:
[^2]:どんな専門分野かと言うと、手書きの添付画像から恐らく推測可能でしょう。:thinking:
[^3]:4行目に記載の写像 φ の終域に一つの誤記がある：直積の右因子における *n* の代わりに *n+1* とあるべきです。:bangbang: