Photoruction工事中!

Photoructionの開発ブログです!

PDFの生成ができるライブラリReportLabの使い方

はじめに

こんにちは、AIエンジニアの志賀です。

このたびはPDFの生成ができるライブラリReportLabの使い方についての技術ブログをご覧いただきありがとうございます。

PythonReportLabというライブラリを使用すると、プログラムからPDFドキュメントを生成できます。

この記事では、ReportLabの基本的な使い方を解説します。

ReportLabを使ってPDFを生成する

環境のセットアップ

まず、PythonReportLabをセットアップします。

Pythonをインストール済みであることを確認し、ReportLabを以下のコマンドでインストールします。

pip install reportlab

基本的なPDFの生成

基本的なPDFの生成は以下のステップで行います。

まず、Pythonスクリプトを作成し、必要なモジュールをインポートします。

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

# PDFドキュメントの生成
c = canvas.Canvas("basic_pdf.pdf", pagesize=letter)

テキストを追加するには、以下のように drawString メソッドを使用します。

c.drawString(100, 750, "ReportLab")

このコードは、座標 (100, 750) にテキストを追加します。

次に、新しいページを追加するには以下のコードを使用します。

c.showPage()

これにより、新しいページが生成されます。テキストの他にもさまざまな要素を追加できます。

フォントとスタイルの設定

フォントとスタイルを設定することで、テキストをカスタマイズできます。

フォントの設定は以下のように行います。

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib import fonts

c = canvas.Canvas("styled_pdf.pdf", pagesize=letter)
c.setFont("Helvetica-Bold", 12)
c.drawString(100, 750, "Customized Text")

このコードは "Helvetica-Bold" フォントを使用してテキストを表示します。

テーブルの作成

テーブルはデータを整然と表示するのに役立ちます。

以下はテーブルを作成する基本的なステップです。

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
from reportlab.lib import colors

doc = SimpleDocTemplate("table_pdf.pdf", pagesize=letter)
data = [["col1", "col2", "col3"],
        [1, 2, 3],
        [4, 5, 6]]

table = Table(data)
table.setStyle(TableStyle([('BACKGROUND', (0, 0), (-1, 0), colors.grey),
                           ('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
                           ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
                           ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
                           ('BOTTOMPADDING', (0, 0), (-1, 0), 12),
                           ('BACKGROUND', (0, 1), (-1, -1), colors.beige),
                           ('GRID', (0, 0), (-1, -1), 1, colors.black)]))

elements = [table]
doc.build(elements)

このコードは、データを含むテーブルを生成します。

図形の追加

ReportLabを使用して、PDFに図形を追加できます。

以下は簡単な例です。

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

c = canvas.Canvas("shapes_pdf.pdf", pagesize=letter)

# 線の描画
c.line(100, 100, 200, 200)

# 円の描画
c.circle(300, 150, 50)

# 四角形の描画
c.rect(400, 100, 100, 50)

c.save()

このコードは、線、円、四角形を描画し、PDFに保存します。

画像の挿入

画像の挿入も簡単です。

まず、PILライブラリを使用して画像を読み込みます。

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from reportlab.lib.utils import ImageReader
from PIL import Image

c = canvas.Canvas("image_pdf.pdf", pagesize=letter)

# 画像読み込み
image = Image.open("example.jpg")

# ReportLab ImageReaderに変換
image_reader = ImageReader(image)

# 画像を描画
c.drawImage(image_reader, 100, 100, width=200, height=150)

c.save()

このコードでは、"example.jpg" という画像をPDFに挿入しています。

PDFファイルの保存と出力

生成したPDFを保存するには、 save メソッドを使用します。

既にいくつかの例で使用していますが、以下に再掲します。

c.save()

終わりに

以上が、PDFの生成ができるライブラリReportLabの基本的な使い方の解説でした。

いかがでしたでしょうか。

是非、Python開発でReportLabを使って、PDFの作成をしてみてください。

株式会社フォトラクションでは一緒に働く仲間を募集しています

【tqdm】Pythonでコードの進捗を可視化!

こんにちは、エンジニアとして株式会社Photoructionでアルバイト中の伊藤純平です!

秋も深まり、「学びの秋」とも言われるこの時期は学びを深める絶好のチャンスかもしれません。今回は、Python開発で役立つプログレスバーのライブラリ、tqdmを詳しくご紹介します。

私のチームではPDFを扱うことが多く、PDFの分析や可視化などにおいて一つの処理が長くなってしまいます。コードがいつ実行し終わるのか、わからないと不安になりますよね。。。そんなときに便利なのがtqdmです。このライブラリを使えば、進捗を簡単に確認できます。

この記事では、tqdmの基本から便利な使い方までを解説します。機械学習や統計など一つの処理に時間がかかるコードが必要なプロジェクトに取り組んでいる方、またこれから取り組む方も、ぜひお読みください!

tqdmとは

概要

tqdmアラビア語で"進捗"を意味する"taqaddum"から来ています)は、Pythonで使える簡単で拡張性のあるプログレスバーのライブラリです。Pythonファイルだけでなく、Jupyter Notebookやgoogle colabでの利用も可能です。また、tqdm.autoというモジュールを使えば、実行環境に合わせて最適なプログレスバーが自動で選択されます。

下準備

はじめに、tqdmをインストールしておきます。以下のコマンドでtqdmをインストールできます。

pip install tqdm

基本的な使い方

基本的にはforループにtqdm関数を適用するだけで、プログレスバーが表示されます。

さらにtqdm.autoをインポートすると、コードが動作する環境に応じて適切なプログレスバーが自動で表示されるため、手動で環境を指定する必要がありません。

# tqdmライブラリをインポート
from tqdm.auto import tqdm
import time

# tqdm関数でプログレスバーを表示
for i in tqdm(range(100)):
        # この部分に実際の処理が入る
    time.sleep(0.1)

プログレスバー

このコードでは、0から99までのループを行い、各ステップで0.1秒待機します。この間、進捗バーが表示されます。進捗バーは以下のように読むことができます。

  • 72**%**: 現在の進捗をパーセンテージで表示します。
  • ██████████████: 完了した進捗を表すバーです。
  • 72/100: 処理が何回完了したかと、全体で何回の処理があるかを表示します。(画像では: 72回完了、全体は100 回)
  • 00:07<00:02: 経過時間と推定残り時間を表示します。(画像では: 経過7秒、残り**2**秒)
  • 9**.88s/it**: 1ループ処理にかかる平均時間を表示します。

様々な使い方

ネストされたループ

tqdmはネストされたループでも使えます。以下の例では、外側と内側の2つのループがあります。descオプションを使って、各プログレスバーに説明文('外側のループ''内側のループ')を追加しています。

# tqdmライブラリをインポート
from tqdm.auto import tqdm
import time

# descオプションで説明文を設定。
for i in tqdm(range(3), desc='外側のループ'):
    # descオプションで説明文を設定。
    for j in tqdm(range(3), desc=' 内側のループ', leave=False):
                # この部分に実際の処理が入る
        time.sleep(0.5)

コード内情報の表示

プログレスバーにはコード内の情報も表示できます。進捗情報だけでなく、現在の処理に関する追加の情報を表示するのに便利です。

# tqdmライブラリをインポート
from tqdm.auto import tqdm
import time

# postfixで初期の「現在の値」を0に設定
with tqdm(total=100, postfix={'現在の値': 0}) as pbar:
    for i in range(100):
                # この部分に実際の処理が入る
        time.sleep(0.1)
        # プログレスバーを1進める
        pbar.update(1)
        # プログレスバーの「現在の値」を更新
        pbar.set_postfix({'現在の値': i+1})

処理速度と残り時間

デフォルトで処理速度や推定残り時間も表示されます。これで処理がいつ頃終わるのかがわかりますね。

終わりに

tqdmは、コードに数行追加するだけでプログレスバーを表示することができ便利です。

バーのデザインやコード内の情報の可視化も**tqdm**のライブラリを用いることで実装できます。

是非Python機械学習などの時間がかかる処理が必要な際には、このtqdmライブラリも試してみてください!

株式会社フォトラクションでは一緒に働く仲間を募集しています

DroidKaigi2023にゴールドスポンサーとして参加しました。

Androidエンジニアの藤井(@kusakabe_dev)です。

9/14(木)-9/16(土)にベルサール渋谷ガーデンにて開催された DroidKaigi 2023 にオフラインで参加してきました。

今回は当社がブース出展を行うとのことで、出展スタッフ兼一般参加者という立ち回りでした。

出展スタッフとしてやったこと・感想

出展スタッフとしては2,3人体制で時折私がセッション聴きに抜けつつ、

ブースに来てくれた方々に当社が開発しているアプリについて説明をさせていただきました。

https://x.com/DroidKaigi/status/1702522134185300384?s=20

出展ブースの様子

感想としては、

  • 当社のことを知っているAndroidエンジニアは思ってた以上に少ない
  • アプリを見せる以外のコンテンツも用意しても良かったかもしれない
    • アンケート・くじ引き等
  • 配布したノベルティの感触は良かった
  • アプリの説明で割りと喉を酷使するので、飲み物・のど飴は持ち込んでおいたほうが無難
  • ブースエリアと隣接しているセッションスペースが有ったので、ある程度はブース対応しつつもセッションを垣間見ることは出来た

…と、いった感じです。

いくつか良かった点と改善したい点がありますが、来年も機会があれば改善できるところは改善できれば良いかなと思っています。

一般参加者としての感想

出展対応の関係上、参加者として聴講したセッションは正直限られてくるのですが、主にパフォーマンス改善に関わる内容や開発環境周りなど、すぐにでも取り入れられそうで且つ興味を持ったものを選択しました。

聴講したセッションは下記のとおりです。

各セッションに関する詳細な感想は割愛しますが、いくつかすぐにでも実業務で取り入れられそうなものもあり、見れなかったセッションも含めスライドを見返そうかと思っています。

また、DAY1のアフターパーティでも他社のAndroidエンジニアの方々や普段リモートでお世話になっている方と交流することが出来たのが楽しかったです。

最後に

DAY1,DAY2とブース出展スタッフとしての参加は今回が初でしたが、当社やプロダクトの認知度向上には一役買うことが出来たのかなと思います。

来年も機会があれば、当社の認知度向上に貢献しつつ、登壇内容も腰を据えて聴講できればと考えています。

余談

今回、DroidKaigiに参加するにあたって、カンファレンスアプリにも微力ながらContributさせていただきました。

今回は以下のPRを出していました。

https://github.com/DroidKaigi/conference-app-2023/pull/985

正直なところ、普段の業務ではJetpackComposeを本格的には導入できていないため、実装自体は苦戦しましたが、アプリ公開までにマージできてよかったです。

ただ、今年は実装にあまり時間が取れなかったので、もう少し貢献できていればというのが正直なところではあります。

株式会社フォトラクションでは一緒に働く仲間を募集しています

SNS運用チームのリーダーに抜擢⁉️

はじめまして、フォトラクションに4月から入社しましたトヨカズです!

入社してから早いもので、5ヶ月が経ちました(時の流れが早い…)。CREチームでのタスクにも慣れ、プロダクトへの理解も少しずつ深まってきているフェーズになります。※まだまだ、わかんない事の方が多いですが…

前回は、なぜフォトラクションを選んだのかというタイトルの元、僕がフォトラクションを選んだ理由についてつらつらと書きました!

今回はそんなひよっこエンジニアが、SNS運用チームのリーダーに任命されてから運用に至るまで、どんな経緯でそうなったのか、実際の活動についてのお話しをさせていただければと思います🫣

スタートアップのスピード感他部署との連携スタートアップならではの裁量権など弊社の内部的な話しが気になる方はぜひ見ていってください✨

そもそもなぜ、SNS運用をすることになった?


転職活動中から気になっていたことの一つが社外への情報発信の少なさです。転職活動を進める際、企業選びはマストのアクションですが、その時に重要になってくるのが、どんな企業であるかを知るということ。それは、単に資金調達をしているとか、会社の規模だけに限った話しではなく、内部で働いてる人がどんな人なのか社内の雰囲気など実際に働いている人/組織内部のことをイメージできるかは、入社後ギャップをなくすのに必要な情報であると思います。

前職のSES営業ではSNS運用をしていた経験もあったのでその経験を活かす事もできそうだなと考え、至る所で上記内容について色んな人にお伝えをしていました。そんな中で、偶然にも僕と同じような思いを抱いている人たちを見つけ、「Xやりましょっ!!!」とお誘いをしたら、とんとん拍子で話が進んでいったわけです。

社内稟議を上層部に提出し、承認を得るまでのプロセス、そこから発足に至るまでの早さはまさに最速挙動👏(さすが人事部の要、増田さんです!)

SNS運用チーム発足後、初めてのMTG


初めてのMTGでは、僕が前職でどんな風にSNSを活用していたか、これからどうやって社外に対して発信していくかなど短い時間の中で、必要なことを共有しました。その中で、増田さん・青出木さんの方から「リーダーやってみない?」一杯どう?的なノリで(こんなフランクな表現ではなかった笑)打診されたので、二つ返事ではいと答えたのが、PJリーダーの始まりです🕺

フォトラクションのSNS運用チームでの活動


SNS運用チームは、現在4人で活動中で、人事・営業・マーケ・エンジニアという各部署のメンバーから構成されています。マーケ所属の宗田さんが、前職でも顧客のSNS運用などをしていたこともあり、その知見を活かして毎月の目標値を設定してくれたり、Xの基本運用方法を共有してくれたり職務洗練を体現してる一人です。(ほんとうに感謝🙇‍♀️)

Xは始めたてのフェーズが一番伸びづらいので、他ユーザーにとって価値あるツイートをしないと中々フォローまで結びつきません。そんな中で、あーでもないこーでもないと入社間もない人間の意見も聞き入れてくれる環境には感謝しかありません。

話がそれましたが、何がお伝えしたいかというと、フォトラクションにはスタートアップならではの柔軟さスピード感今までのキャリアの知見を積極的に活かそうとしてくれる姿勢などいいとこが盛りだくさんです👏

こちらが実際のツイート↓↓↓

社内のことをツイートしたり...

転職活動について触れていたりもします。

まとめ


いかがだったでしょうか?

今回は、弊社のスピード感と柔軟性について触れながら、SNS運用チームが発足するまでを記事にしてみました! チームリーダーとして至らない点が多々ありますが、フォトラクションという会社を一人でも多くの人に知ってもらえるように引き続きチームのみんなと頑張っていこう思います💪

最後にXのアカウントについて気になるかたはこちらをチェック↓↓↓



株式会社フォトラクションでは一緒に働く仲間を募集しています

JPEG XL

SaaSチームのギヨームです。

今回はJPEG XLについての記事を書きました。

ぜひ拝見していってください。

JPEG XLとは何ですか?

その名前が示す通り、これは別の画像フォーマットです。

もちろん、画像のための多くのフォーマットがすでに存在しています。なぜ今、新しいものが必要なのでしょうか?

XKCD 927:新しいスタンダード

ITの世界は急速に進化する環境です。過去にうまくいったものは現代の要件に対応するのに十分にパフォーマンスがないことがあります。したがって、適応するために周期的にツールを変更することが必要です。

しかし、JPEG XLはどのような特徴を持っているのでしょうか?

まず、画像をエンコードおよびデコードする速度が、JPEGPNGJPEG 2000、WebPなどの先行ツールよりも大幅に高速です。これは非常に良いことです。また、並列処理に適しています。

次に、PNGと同様に、データが失われないロスレスエンコーダーについてです。写真とデジタルアートの両方に適しています。

さらに、圧縮率はPNGよりも大幅に優れており、WebPやAVIFなどの現代のフォーマットと同等の性能を発揮します(ただし、AVIFはロスフォーマットです)。

32ビットの真のカラーとアルファチャネルをサポートしているため、画像で透過性を使用できます。

低解像度の画像をユーザーに提示しながら、データ全体がまだダウンロード中である状態で、逐次的に画像を解読し表示するプログレッシブデコーディングは、ユーザーエクスペリエンスを著しく向上させる特長があります。これは、WebPやAVIFなどの現代の競合製品には備わっていない要素です。

さらに、既存のJPEGファイルから画質の損失なしで生成できます。

全体的に、JPEG XLはすべてのタスクにおいてかなり優れており、高品質画像に特に適しているため、主要な競合製品であるAVIFよりもわずかに優れています。

詳細については、以下のチャートを参照してください。

フォーマット機能マトリックス

なぜ今すぐ使用しないのですか?

このフォーマットはまだ新しく、その価値を評価するための完全なバトルテストが必要です。

最近まで、JPEG XL(またはJXL)サポートを有効にすることができましたが、ブラウザ設定で実験的にフラグをオンにする必要がありました(ChromeFirefoxベースのブラウザでは使用できましたが、Safariでは使用できませんでした)。

さらに、ブラウザで使用する場合は、ソースセットを持つpictureタグを使用する必要があり、すべてのブラウザでサポートされているにもかかわらず、まだあまり流行していません。

<picture>
  <source srcset="something.jxl" /> <!-- JXL -->
  <img src="something.jpg" /> <!-- JXL非対応の場合はこれにする -->
</picture>

サポートが広がると、これは変更される可能性がありますが、現在の時点では、採用と統合にいくつかの困難を引き起こしています。

しかし、Googleは残念ながら、コミュニティからの関心不足を理由に、2022年10月末までにJPEG XLのサポート実験をやめることに決めました。そして、このフォーマットは墓場に近づいていました。

JXLが放棄されているなら、気にする理由は何ですか?

最近、AppleSafari 17ベータ版のリリースノートで(密かに)発表しました。

具体的には、「JPEG XLのサポートを追加しました。 (100641584)」とあります。

AppleJPEG XLフォーマットを完全に受け入れ、Safariだけでなく、コンピューターやモバイルオペレーティングシステム、開発スタックにも取り入れる予定です。Googleは遅れているのを見られることを好まないため、Appleのような大手プレーヤーがこのフォーマットを採用する場合、手を打つ可能性が高いです。

要するに

私たちは、現代の世界で使用するためにほぼすべてのボックスをチェックするまともな画像フォーマットをついに手に入れる寸前にいます。ただし、現在のインターネットで使用されている主要なブラウザ(つまり、Chrome)でフォーマットのサポートを停止するGoogleのわがままでデジタル世界が左右されやすいです。(消費者の視点から言えば、競争は良いことです。)

幸いなことに、Appleはこの規格に救いの手を差し伸べ、現実化するチャンスを与えました。

簡単に言えば、損失なしで、高速、軽量、真の色、透過性、HDRプログレッシブデコーディングを持つ画像フォーマットになる可能性があります。

「壁のある庭」のAppleに、ユーザーにとって良いことをすることに感謝するとは思わなかったので、初めてのことでした。

株式会社フォトラクションでは一緒に働く仲間を募集しています

テクノロジーサービス部オフラインイベント!

こんにちは。テクノロジーサービス部Webエンジニアの下川原です。

今回は私が所属するテクノロジーサービス部で開催したオフラインイベントを紹介します!

普段はフルリモで顔を合わせて話す機会が中々ありませんが(香川からお越しくださった方もいたり)、この日は皆さん勢揃いした日でした!

「こんな事もする会社なんだな〜」と雰囲気だけでも知ってもらえると嬉しいです!


今回は新木場駅徒歩5分のとこにあるsoko station 146で開催しました!

普段はカフェも運営してるみたいなので、気になる方はこちらのURLをチェック!↓↓↓

https://www.sokostation146.com/

今回のテーマ

ワクワクするチームビルディング 〜相互理解を深め、関係性向上へ〜

CTO 中村から今回のイベント概要について説明をしています。

【今回のアジェンダはこちら】

  • ワークショップ1
    • フォトラクションを導入されたユーザーの声を聞こう
  • ワークショップ2
    • BPOビルサポ作業体験
  • ワークショップ3
    • VR チームビルディングアクティビティ

ワークショップ1

フォトラクションを導入されたユーザーの声を聞こう

7/7(金)にフォトラクション初となるユーザー向けイベント『Photoruction Meetup』を開催しました!

その中で、ユーザーがフォトラクションについて発表するセクションがあり、プロダクトを導入するに至った経緯や導入したことで全社的にどのくらいの業務効率化が図れたのかなど、ユーザーを深く知るためのワークショップでした!

私たち開発者は、1つの機能を作ることを目的にしがちですが

なぜこの機能が必要か?使用するユーザーは何を望んでいるのか?

これらを知る機会が少ないです。

私たちが開発したものが、ユーザーのどんなニーズに刺さって利用することに至ったか それを知ることで開発のモチベーションにも繋がりますし、よりユーザーに対して価値のあるプロダクトを提供していこうと思えるワークショップでした!

ワークショップ2

BPOビルサポ作業体験

配筋検査支援メニューについて知って触って理解しよう!

そもそもBPOとは…↓↓↓

https://www.photoruction.com/bpo

このワークショップでは、自社サービスへの理解を深めることを目的としたBPOビルサポ体験会が開催されました!

BPOビルサポ体験会の様子①

BPOビルサポ体験会の様子②

BPOビルサポ体験会の様子③

BPOサービスに触れる機会が少ないので、このようなイベントで体験ができるとプロダクトへの理解も深まり、モチベーションにも繋がりました!

ワークショップ3

VR チームビルディングアクティビティ

ワークショップ3では、VRを利用した謎解きゲームをチームでプレイしました!

※コンテンツ内容漏洩防止のため、一部モザイクをかけています。

協力:株式会社Teamie

VRを取り入れることでチームの結束を高め、密なコミュニケーションを増やすことで生産性向上することを目的としたサービスを提供してる企業様になります!

気になる方はチェック↓↓↓

https://www.teamie.co.jp/

株式会社Teamie代表の納土様

VRで探索を行う人 1人

重要資料から推理を行う人 複数人

役割を分担し、チームでコミュニケーションをとって事件解決を目指しました!

かなり熱中してる様子

CREチームの様子

事件解決後は、改善ポイントの反省会やチームメンバーがお互いに褒めたり

とても楽しいチームビルディングでした!

最後に

フォトラクションは建設の世界を限りなくスマートな世界にするため、開発者同士のチーム力を向上する取り組みを行っています!

興味がある方はぜひカジュアル面談いかがでしょうか!

気になる方はURLをチェック↓↓↓

株式会社フォトラクションでは一緒に働く仲間を募集しています

CREエンジニアとして3ヶ月経過時の所感

CREエンジニアのもう一人の豊田です。

フォトラクションで初めてCREという部署を経験し、3ヶ月経過時点での所感を綴ります。

以前、他メンバーもCREについての記事を書いてますので、こちらも参考にしてみてください。

kojichu.photoruction.com

CREチームとは?


CREとは、「Customer Reliability Engineering」の略称で、日本語にすると「顧客信頼性エンジニアリング」となります。 2016年に、Googleによって提唱された専門職です。

*引用

顧客信頼性の向上を目的とするエンジニアチームがCREチームとなります。

今回記事を書くにあたりCREを導入している企業を調べてみましたが、各企業によってCREの業務範囲は様々なようです。

フォトラクションのCREチーム


フォトラクションのCREチームでは

顧客からの信頼性を保つために、課題に対して技術的なアプローチで解決に導くチーム

visionとして掲げています。

チーム構成

現在は、WEBエンジニアが6名在籍

技術要件

フロントエンド、バックエンド、インフラ、データベースなど

実際にどんなことをしているのか

主にお客様の問合わせの一次調査を行っています。

まずは問合せ内容が不具合なのか、それとも仕様なのか、お客様の操作手順で間違っている部分がないかの確認をします。 その為にはCSのヒアリング内容を基に、再現確認やDB調査、ソースコードの確認を行います。 調査した結果、CRE側で修正が可能な不具合等はCREで修正しリリースを行います。

どうしてもわからないことは開発しているエンジニアに調査を依頼しますが、できるだけ開発側の調査負担を減らして開発に集中できる環境を作るのも私たちの目標でもありますし、わからないことがあるからお任せするという現状に悔しさと恥ずかしさがありますね。。。

CREチームの課題

CREチームは本来、開発チームよりもプロダクトのことを知っていなければいけないポジションであると私は考えています。 ですが、現在CREチームでは私を含め、入社3ヶ月以内がメンバーの半分を占めており、まだメンバー全員が誰よりもプロダクトのことを知っているという状況ではないのが現状です。

一朝一夕にプロダクトを理解できるものでもないので日々の積み重ねが大事だと私は思っています。

これからのCREチーム

これは私の願望でもありますが、CREチームが強くなっていくと良いと思っています。

プロダクトを良くしていく為にはCREは重要だと思っていますし、「CREやQAがいなかったら今のプロダクト成長はない」と断言していた企業もある程です。

その為には、我々の成長は必要不可欠ですしCREもどんどん前に出ていかないといけません。

まとめ


色々述べてきましたが、詰まるところ、顧客信頼性の向上がCREの勤めです。

相手が求めている答えを、簡潔に、丁寧に、スピーディーに回答し、顧客信頼ポイントを積み上げていく。

そして「photoructionがなくては困る」と言われるプロダクトをさらに作り上げ、建設の世界を限りなくスマートにしていきたいと思います。

株式会社フォトラクションでは一緒に働く仲間を募集しています