はじめに
皆さんはじめまして!フリーランスエンジニアの毛利です。
今年は、フリーランスの業務アプリケーションエンジニアからデータエンジニアへキャリアチェンジした転機となる1年でした。
それ以外にも、
- 地方にいながら首都圏案件へ参画
- 単価アップ、増益増収達成
- 育休1ヶ月取得
このあたりが、個人的な成果と考えています。
本記事では、キャリアチェンジした際の課題感や実践したことなどをまとめました。
- エンジニアとしてのキャリアに悩んでいる
- データエンジニアとしての仕事内容に興味を持っている
こうした方にとって、少しでも参考になりますと幸いです。
データエンジニアとは?
平たく言いますと、主に企業がビジネスで利用するためのデータを整理し、利活用できる状態となるようデータ分析基盤を構築、運用する業務を担当するエンジニアです。
実務内容は?
ETLの構築が、主な業務内容となります。
ETLの詳しい説明は本題からずれるため、割愛しますが、ここでは、データ分析するためのDWHへ格納するために、未整備のデータを加工、変換し、DWHへ取り込む処理やそのツールを指します。
データを利活用できる状態にすることが、データエンジニアの主な業務となるのですが、「データを加工して終わり」というケースは稀で、ユーザにご利用いただける状態にするまでの付随業務が発生します。
例えば、
- クラウドインフラの設計/構築
- BIツールの設計/実装
などが挙げられます。企業によっては、データエンジニアの業務としている場合もあります。
このあたりは、会社組織によって異なる印象です。
実例
私の場合、業務委託でいくつかの案件に参画し、その案件によって担当業務が異なりました。
例えば、A案件では、ETLの設計、実装、数値検証がメインとなれば、B案件ではBI実装がメイン、というイメージです。
案件によって担当業務が様々な仕事だと感じました。
利用した技術要素
私がこれまで担当した主な技術スタックは、以下のとおりです。
- 言語
- Python、PHP(Laravel)、SQL
- クラウドインフラ
- AWS(S3/Glue/Athena/DynamoDB/Redshift(Spectrum))
- GoogleCloud(GCS/GCE/BigQuery)
- ワークフローエンジン
- Airflow、Digdag
言語的には、Pythonがメインですが、業務的に重たい部分としては、データの抽出、加工部分が大半を占めているため、SQLの比重は比較的大きくなってきます。
参画前の課題感と対応したこと
こうした業務をすべて最初から完璧にこなせることはなく、手探りで進めていきました。
当時不安だったことを思い返すと、このあたりに課題感を持っていました。
課題:新しい環境への適合 → 対策:空気感を言語化し質問する
課題
- 新しい現場に参画すると、コミュニケーション方法やプロジェクトの進め方などは案件によって様々です。
- また、開発プロセスが言語化しきっているケースは珍しいですし。
- スケジュール感なども違うので、スピード感を把握しておかないとリリースタイミングに影響が出てきます。
対策
- まず、商談時点で気になる点を確認しました。
- ただし、商談でわかるのは一部だけなので、参画後に「こんな感じの進め方で問題ないか?」とPMと認識合わせました。(スケジュール感やプロセスなど)
- 一番気をつけた点としては、「え?やってくれてないの?」と言われないよう丁寧に対応を進めました。
- チームに貢献できると思ったことは、最初は優先度を確認しつつ進めることで、徐々に温度感などを把握するよう心掛けました。
課題:技術的なキャッチアップ → 対策:テストモジュールを作成し、プロジェクト依存の部分を把握する
課題
- 「新しいワークフローエンジンを理解するまでに時間がかかりそう」という不安は初期の頃ほど強く感じました。
対策
- まず、構成図をメモ書きでスケッチし、アーキテクトの理解に努めました。
- その上で、コードを書き、サンプルワークフローを実行しました。
- あとは、権限周りなどプロジェクト特有のエラーが出た際に、メンバへ確認する。
- この流れを取ることで、自分が理解できている部分や把握漏れがある部分が明確になるので、比較的キャッチアップする際には使っています。
これまでの経歴が活かせた点
-
ETL実装を検証する際、様々な視点でデータの整合性見る必要があります。このあたりは、SIerで試験項目作成やテスト実施した経験が活かせました。
-
これまでの業務の中で、SQLをゴリゴリ書いた経験が、かなり重宝しました。裏を返すとSQL経験がないと、未経験から案件参画までの道は険しいようにも思えました。正社員としてデータエンジニアへ転職を目指すようでしたら、このあたりはしっかりポートフォリオ等で証明できる必要がありそうな感覚です。
今後の予定
今後、エンジニアとしてのスキルを伸ばす上で、このあたりも学習+実務経験を積む予定です。
勉強会の参加/主催
今後は学習内容や業務での気付きを勉強会などオフラインの場でも発信していく予定です。というのも、発信することで経験も整理されますし、これまでの自分のようなSE経験が長い人に、少しでも興味を持っていただき、人生が好転するようなちょっとしたキッカケにつながると嬉しいからです。
Tableau構築
ETLだけでなく、データアナリストとの連携ができるためにもBIツールの経験を積みたいとも考えています。これまでGoogleDataPortalによるダッシュボード構築は経験済みですが、BIツールの肌感市場シェアの8割はTableauなので、しっかりと経験を積んでおきたい、、そんな思いで、予定に入れています。
クラウドインフラ構築
ETLでは、パフォーマンスが重視されるケースも多く、アーキテクト設計まで出来ることで、提供価値が高まる傾向があるかと考えています。優先度はそこまで高くはありませんが、随時学習を進めていきます。
まとめ
SEからデータエンジニアという仕事にキャリアチェンジすることは、業務経歴と相性がよく、大きく業界を変えることにつながり、結果的にモダンな現場に参画できれば、地方にいながらフルリモートも可能です。
とはいえ、まだまだデータエンジニアとして習得すべき技術課題が残っているため、今後ともしっかり学習しつつ実務へ転用していきます。
さいごに
最後までお読み頂きありがとうございました!
感想や気になる点、深堀りしたい点など、お気軽にTwttierにてDMいただければ回答いたします。
それ以外にも、昨年のアドベントカレンダーでも、データエンジニアへキャリアチェンジするまでに実践したことなどをまとめています。