![見出し画像](https://assets.st-note.com/production/uploads/images/90865859/rectangle_large_type_2_b5f142205db297879a43f23db8a53cf1.png?width=1200)
挑戦とチームプレーが好きな僕が、ベーシックを転職先として選んだ理由
はじめまして、冨田健治と申します。私は株式会社ベーシックにて、 ferret One というサービスの開発エンジニアとして従事しており、現在は主に Webフロントエンド領域 を担当しています。
ベーシックに入る前は、受託の Web制作会社 にて、 jamstack構成 で CMS構築 や Webアプリ を実装する Webフロントエンドエンジニア として、またフィリピンのオフショア開発会社で Webディレクター としても働いていたことがありました。
この note では、そんな私がベーシックに入社した経緯、そして入社してから感じたことをまとめています。特に、私と同じように SES 、受託開発会社で働いており、自社開発の会社への転職を検討してる方の参考になれば嬉しいです。
・ SES ・受託開発会社からの転職を考えている方
・自社開発会社で、設計から考えて開発・実装したいと思っている方
・個人ではなくチームで開発したいという思いが強い方
新たな挑戦とチームプレーが好き。だからこそ描いた2つの転職軸
まず最初に私の性格の部分についてお伝えすると、新しい技術やツールを学習したり、他のプログラミング言語を学んでみたり、ライブラリを実装したりすることにワクワクする人間です。
今まで挑戦したことがなかったことをやり遂げると、心地良い充足感や大きな自信を得られるので、それらを積極的に実行していくタイプだと思っています。(その都度とてつもない疲労を感じますが...笑)
また、個人プレーよりも、あくまでチームとしての共通ゴール(=理想的な品質に到達するためにどうすれば良いか)をチームメンバーと共に考え、より良いチームを作ることが好きです。
フィリピンでオフショア開発をしていた際は、5人程のメンバーのマネジメントをしていたのですが、入社時の職種に囚わることなく、本人の意向やスキルによって柔軟に業務を選択できるようにしていました。よりよいチームを作るにあたって、組織構造や作業手順に着目して注力する方法もあるかと思いますが、私の性格的に、各自が得意なことを十分に発揮出来る、強みに基づく配役や配慮を心掛けていました。
そんな私が転職しようと思った理由の一つに、①「設計から考えて実装していきたい」という想いがありました。一口に受託や SES と言っても会社によってさまざまな働き方があるとは思いますが、多くはあくまで上位者からタスクをもらってそれに従って作業し、そしてその性質上「いかに工数を削減して委託先が望む通りのものを正確に納品できるか」が重視される傾向にあります。
私の場合もまさに「言われた通りに作る」という側面が大きく、私が本来目指す、技術者として難易度の高い挑戦をし続けるということは起きにくい状況でした。
そのため、次第に「課題に対するアプローチ策について、設計段階から自分で考えて実装したい」「 Webフロントエンド領域 に限らず、 UI設計 やデザインを考慮して、バックエンドの実装も読みにいけるエンジニアでありたい」という想いが徐々に大きくなっていったのです。
また、それと同時に②「学習意欲のあるチームや組織で働きたい」と考えていました。これは多くの ITエンジニア が考えていることかと思いますが、実績のあるプログラマやエンジニアは、最新の言語・ライブラリやフレームワークを覚えることや、高速で実装することだけをやっているのではなく、常に”チームで最高のパフォーマンスを発揮することを考えて動いている”と思っています。
そのため、そのようなマインドを持っている人たちと一緒に働くことで、自分の視座を高め、より多くの人の役に立つものを作りたいという思いも強くなっていました。
業務・カルチャー・組織に惹かれてベーシックへ
そんな思いから転職活動を始めた訳ですが、私が最終的にベーシックに入社を決めた理由は、主に以下の3つとなります。
・事業や職種内容から、転職軸①②を満たしていた
・技術に意欲が高いメンバーが多くいた
・ビジネスと開発がお互いを尊重し合いながら働ける環境だった
事業や職種内容から、転職軸①②を満たしていた
まず、新しいことが好きという私の性格と、転職軸の①である「設計から考えて実装していきたい」という点から、幅広い分野に挑戦できるベーシックは魅力的に映りました。
個人的には、セマンティックなマークアップ、 宣言的UI でインタラクション、アクセシビリティの考慮やパフォーマンスと設計のトレードオフを意識しながら実装ができるということに特に惹かれました。
また、転職軸②の「学習意欲のあるチームや組織で働きたい」と思っている私にとって、ベーシックの開発部門が掲げているコア・コンピテンシーの1つである「常に学んで共有する」という考え方に強く共感できました。
![](https://assets.st-note.com/img/1667980102193-D6Q2oZnfXd.png?width=1200)
皆さんの中にも、各自が学んだことをチームに共有せずに作業を進めたことで、チームが間違った方向に進んでしまい、結果的に時間を無駄にしてしまったという経験をした方は多いのではないでしょうか。
常に学ぶ姿勢があること、そしてその学びや得られた成果を早い段階から共有することで、チームとしてのつまづきを回避したり、アイデアを検証できたりするのは、エンジニアとして嬉しいですし、開発をスムーズに進めやすいと考えています。
この開発文化がコア・コンピテンシーとして根付いていることを面接を通じて感じられたことで、実際の仕事の進めやすさに対するイメージも沸きました。
技術に意欲が高いメンバーが多くいた
面接では、現在私が所属している CMSグループ のマネージャーである高比良さんとお話ししたのですが、技術や設計の細かい点へのこだわりがあることがひしひしと伝わり、面接でありながら本当に楽しく話をすることができました。
例えば、私が「どのような実装を心掛けているか」という質問をした際にサイクロマティック複雑度に関しての話になったのですが、 if しか使わない独立性を意識したコードについてや、 switch で意図を伝えるコードを書く話をしていただき、技術や設計に関して意欲とレベルの高さを感じました。
(*サイクロマティック複雑度とは、 Thomas McCabe が開発したもので、プログラムの複雑度を測るのに使われており、メソッド単位で計測されている指標です。関数本体にネストされた条件分岐が多いと、テストケースが増え、保守し辛いコードになってしまいます。)
高比良さん以外の複数のエンジニアとも面談・面接を通じて話をしましたが、どのメンバーからも技術に対するこだわりや、そのレベルの高さを感じることができ、そのような人に囲まれている環境に身を置きたい、その中で切磋琢磨していきたいと強く感じました。
ビジネスと開発がお互いを尊重し合いながら働ける環境だった
開発部門の MAグループ にてマネージャーを務めるペッパーさんは、今年開催された『 Qiita Conference 2022 』への登壇実績があるメンバーです。入社前にこの発表を視聴する機会があったのですが、ペッパーさんがビジネスと開発者との橋渡し役として問題解決に取り組んでいる姿が印象的でした。(登壇資料はこちらをご覧ください)
そして、そのことを通じて、ベーシックではビジネスと開発のどちらかが強くてどちらかが言いなりになるという構造ではなく、お互いがお互いのことを理解し尊重しながら働くことができる環境であると感じました。
前職までの経験から、前述のようにただ「言われた通りに作る」ということが多かった私からすると、この共闘できる環境は、新鮮であり、ある意味憧れていたものでした。
「 Webマーケティング の大衆化」に向けて現在取り組んでいること
そのような理由でベーシックに入社した私ですが、冒頭で少し触れました通り、現在はオールインワン型 BtoB マーケティングツール 『 ferret One 』の開発を行っています。
ferret Oneのミッションである「 Webマーケティング の大衆化」の実現に向けて、ノーコードでパーツを追加・編集・削除できる「 CMS機能 」の拡充をメインに取り組んでいます。
また他にも、マーケティング活動を自動化・効率化し、見込み顧客を集める「 MA機能 」の開発にも同時に関わっています。
![](https://assets.st-note.com/img/1667980357148-KgNkbEdkKh.png?width=1200)
それぞれもう少し具体的に説明していきます。
CMS
成熟したコーディング規約の確立に取り組んでいます。 JavaScript 、 TypeScript標準 でのコーディングルールを設けて、それに沿った実装を行い、 TypeScript を生かした明示的な型をつけて、より厳密な型を目指しています。
同時に、ユーザの操作・体感に関わる部分を改善する施策として、パフォーマンス改善にも注力しています。 SEO や Lighthouse のスコア改善を実施しているのです。 Light house の警告を見逃さず、キャッシュ対応や JavaScript の非同期読み込みで対策していきます。
MA
ミッションである「 Webマーケティング の大衆化」、つまり、誰でも簡単に Webマーケティング ができる世の中を実現していくためには、ユーザにとって直感的で使いやすいプロダクトを開発しなければなりません。
そのために MAチーム では、「 MA機能 を拡充する開発」と「技術的な負債を返済する or できるだけ小さくする開発」の2軸に取り組んでます。
その中で私は主に後者を担当しており、Webデザイン の負債やフロントエンドに秩序をつくる「デザインシステムの構築」を行っています。デザインコンセプトから選定して、アクセシビリティを考慮した再利用しやすい UI実装 をするイメージです。
また、このような機能軸以外でも、エンジニア数の拡大に伴い、過去マネジメントしていた経験を活かしながら、情報整備やチーム体制の見直しも横串の活動として同時に進行しています。
入社から3ヶ月経ち、開発文化をどう感じているか
そんなこんなで入社して早くも3ヶ月が経ちました。「新しいことに挑戦したい」「設計から考えたい」「学習意欲のあるチームで働きたい」と思い転職をした私ですが、ベーシックで実際に働いてみて感じたことについてもお伝えできればと思っています。
質を常に意識して開発をしている
設計は当然として、コーディング規約に関しても細部までこだわる文化がベーシックにはあると感じています。数年後に別の開発エンジニアがコードを触ったとしても、彼らが開発や保守の面で困らないように、 Pull Request 、 commit log なども詳細に書いています。関数や変数の命名では伝わらない部分があれば、別途コメントを残すなどの意識が全体的に非常に高いです。
開発部門のコア・コンピテンシーには、先ほど共有した「常に学んで共有する」のほか、「質とスピードに妥協しない」というものがあるのですが、まさにこれらが徹底されている環境だと感じています。
チームが納得するまで話し合っている
他のメンバーとコミュニケーションを取る中で、思いもよらぬ考え方の相違が出てくることはあると思います。ベーシックではそのような時に、なぜ起きたのか、なぜそうなったのかを、個人の習慣やそう行動した背景まで深ぼった上で、今後はどうすべきかを都度しっかりと決める文化があると感じています。
具体例を上げると、私はこれまで小規模のプロダクトチームで開発や保守を行うことが多く、振られるタスクが割とざっくりしていることが多かったため、それをまずは自分自身でより小さい粒度のタスクへ分解して、1つの Issue に1つの PR を出す習慣がありました。
しかし ferret One では、PdM や開発マネージャーと一緒に考えて詳細な issue を作成する文化があります。そのため、入社直後は私の今までのやり方で他のメンバーを混乱させたり、実装の進め方に相違がでてしまうことが少なからずありました。
そこで、前職の開発文化や背景を改めて説明した上で、今後はどうやって開発フローを改善していくかを話し、双方が「よし、次からはそうしよう」とお互いが納得できるまで話し合いました。
これは、同じくコア・コンピテンシーである「他者の生産性に配慮する」が徹底されているということを体感した出来事でした。
ここまで既に何度か登場してきた、このようなベーシックの開発文化や、それを支えるコア・コンピテンシーについては、CTO の櫻庭が note でもまとめていますので、ぜひご覧いただけると嬉しいです。
ニーズに応え続けるために、全体を俯瞰し、自律的に動きたい
ベーシックが現在取り組んでいる BtoB取引市場 の大きさは約350兆円と、とても大きい市場であるにも関わらず、その中でデジタル変革に成功しているのはわずか1割程度と言われています。
その背景には、「マーケティングの知識がない」「簡単にマーケティングを行える環境がない」「そもそも人材がいない」などの課題を多くの企業が抱えていることにあります。
![](https://assets.st-note.com/img/1667980606624-4oF6GpGBOh.png?width=1200)
だからこそ、ferret One では、 Webマーケティング の知識がない人でも、簡単に Webマーケティング を行えるようなプロダクトを開発し、どんなユーザーでもマーケティングの成果を出せる世界の実現を目指しています。
そのためにも、私の所属する CMSチーム においては、「ferret Oneユーザーがいかに簡単に Webサイト を制作できるか」がとにかく肝となります。
チームや開発の俊敏性、課題への対応力、柔軟性を保ちながら、とにかくユーザのニーズに応え続けるために、常にチーム全体を俯瞰し、その時のチームにとってフィットした役割やタスクを自主的に思案し、自律的に動いていきたいと考えています。
そして、今後は単に技術者としてだけではなく、サービス提供者という括りでユーザーのニーズを満たすものは何かをより広く考え、私自身も上流の設計から携わることにどんどん挑戦していくことで、エンジニアとしてのレベルを向上させていきたいと考えています。
なにぶん自社開発している会社で働くことは初めてなので、失敗も多くしてしまうかもしれませんが、ベーシックの文化に倣い、繰り返し挑戦し学習し、その学びを周りにも共有しながら、より良いチームを作り上げていきたいと思います。
以上で私の入社エントリを締めさせていただきます。もしこの記事で少しでもベーシックに興味を持っていただけたら、ぜひとも採用サイトものぞいてみてください。
ここまでお読みいただきありがとうございました!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?