突然だけれど、君は以下のようなことに当てはまるだろうか?
・プログラミングやモノづくりが楽しくて、夢中になって取り組んでしまう
・自分の人生、せっかくなら普通のエンジニアじゃなくて、「一流」と言われるようなエンジニアになりたい
・世の中を驚かせるような魅力的なプロダクトを作りたい
・平凡な毎日ではなく、刺激的で充実した人生を送りたい
もしこれらに当てはまらないなら、、、悪いことは言わない。今すぐこのページを閉じて別の会社を探したほうがいい...。
まだ読んでくれているかな?
いいね!素晴らしい!
そんな君には、ぜひこの記事を読み続けてもらいたい。
正直なところ、世の中の大半の人は、「なんとなくプログラミングが両白そうだから」とか、「エンジニアのスキルがあれば将来困らなさそうだから」といった漠然とした理由でエンジニアを目指している。もっとはっきり言えば、「市場価値が高そうだから」という理由 ”だけ” でエンジニアを目指していたりする。
そういう人たちであれば、「さすがに 1 年以上テスターを続けるのはちょっとマズい」とか「エンジニアとして就職したのに、エクセルの計算とか単純作業ばかりやらされる会社はすぐに辞めたほうがいい」とか、そういうアドバイスをするんだけれど...。
君なら多分そんな失敗はしないし、もっと高いレベルの話をしようと出う。
実は、「一流」といわれるエンジニアにはある共通点があるのを知っているだろうか。
地頭の良さ?
マネジメント能力?
リーダーシップ?
もちろん、これらの能力とか資質が影響するのには変わりないが、それよりも大事なのは、
「仕事に夢中になれること」
俺がこれまでの人生で出会ってきた「すごい」と思える人たちは、みんな仕事に夢中になっているという共通点がある。社内で特に著しい活躍をしているエンジニア、シリコンバレーの上場企業でテックリードをやっている知人...さらに言えば、エンジニアに限らず「一流」の経営者・研究者・プロフェッショナルたちはみんなこの共通点を持っている。
それもそのはず...。「努力は夢中に勝てない」からだ。
例えば、なにか技術の資格を取ろうとしている人がいたとしよう。おそらく、ほとんどの人は「転職するときに有利になるから」とか「給料が上がるから」みたいな目的で資格を取ろうとしているんじゃないだろうか?
別に、それが悪いと言っているわけじゃない...。
ただ、こういう人たちは「努力して」知識を身につける。一方、プログラミングが好きで好きでたまらない人はどうだろうか。
きっと、本人には「努力している」みたいな感覚は全くなくて、趣味のように楽しんで勉強しているはずだ。とれだけ効率が悪かったとしても、「努力して勉強している人」を上回る量の知識を吸収するようになる。結果、夢中になれる人の方がより速いスピードで成長していく。
なので、もし君がどこにでもいる普通のエンジニアではなく、「一流」を目指しているのであれば、、
・プログラミングやエンジニアとしての仕事に夢中になること
・夢中になって仕事したり、勉強したりできる「環境」に身を置くこと
この 2 つを特に重視してほしいと思っている。(そして、続きを読んでいく中でウチが君にとってピッタリの環境だと思ってもらえたら嬉しい。)
ただ、まだ社会に出たことがないから、自分が仕事に夢中になれるかどうかわからない...という不安もあるかもしれない。
でも、もし君が「20代で大きなプロジェクトを任せてもらいたいか?」と聞かれてワクワクするタイプなんだったら、きっとウチでやってもらう仕事も夢中になれると思う。
ウチは、自分たちで使う多くのシステムを自社で開発している。この一番のメリットは、「こういうものを作りたい!」という理想を実現していくのにほとんど何も制約がないことだ。
(余談だが、受託開発なんかではどうしてもクライアントの要望があるから、思い通りにならないことも多い。サイアクの場合「このプロダクト絶対必要ないだろ」と思っていても契約だから作らないといけないなんてことも起きたりする....。)
そんなわけで、まだ AWSがそこまで浸透していなくて、物理サーバーを会社に置くのが当たり前だった当時に「時代はクラウドだ!」とAWSを導入したり(もちろん慎重に議論はした笑)、、、
顧客が購入したコンテンツを視聴するアプリケーションを、Vue.js という新しいフレームワークを導入して大幅にアップデートしたり、、、
社内システムをどんどん使いやすくして他事業の社員から「めっちゃ使いやすくなってる!ありがとう!」と言ってもらえたり、、、
モノづくりの楽しさ、やりがいを存分に味わうことができるし、新しい技術にチャレンジしていけるのが自社開発の良さだと思う。
また、ウチでは 5 , 6 人の少人数でチームを組む「スクラム開発」という手法を取っている。このチームは、リーダーは居ても、役割分担は存在しないチームになっている。
・要件定義
・UI 設計
・システム設計
・開発テスト
・運用
これらの上流から下流まで、それぞれのチームが独立して行う。チームメンバーには、開発はもちろん、「やりたい!」と手を挙げれば要件定義のためのヒアリングから UI 設計、システム設計まですべての工程を任せている。インフラ構築なんかもやりたいと言ってくれれば任せる。
年齢や社歴は全く関係ない(ほんとに)。主体性と実力があれば、配属 1 年目でもすべての工程を担当することができるし、実際そういうメンバーもいる。20 代でチームリーダーを務めるエンジニアもいる。
つまり、メンバーひとりひとりが大きな裁量を持っていて、その分実力主義だし責任は重たいけれど、フルスタックエンジニアとして活躍・成長していけるのがウチの特徴だ。
さっきもちょっと書いたけれど、ウチでは 6 人以下のスクラムチームでほぼすべての意思決定をしている。
「そもそもなぜこのプロダクト / 機能が必要なのか」
「どういう UI ならわかりやすく、使いやすいのか」
「プログラムをどう設計するか」
「どう実装するか」
「どうテストするか」
こんなふうに、自分がやる仕事の全体像を見ることができるし、プロダクト・マネージャーとしての能力を一人ひとりが磨いていく。会社の小さな部品、歯車として部分的な仕事をするのではなく、小さなチームの一員として自分が全体を俯瞰して、自分が全体をコントロールする...。その方が圧倒的に成長スピードは速いし、何より自分がデザインし、自分が直接生み出したモノがリリースされるのは、かなり大きな達成感につながるだろう。
「自立している」というのは、人生において自分がやりたい仕事を自分で選べるようになるための必須の条件だ。逆に、「会社に依存している」という状況は、自分に選択権がないことを意味する。
ちょっと想像してみてほしい。毎日毎日、自分が心の底からやりたくないこと、意味を感じないことに 8 時間も時間を奪われる将来...。仕事を変えようにも能力がなくて雇ってもらえず、お金のために仕方なく働き続ける人生...。
こんな最悪の事態を避けるためには、自分の専門技術を(若いうちから)磨き続けるしかない。
じゃあなぜウチで自立できる技術・知識が身につくのかというと、さっきも少し書いた通り、ウチのスクラム開発では「(細かい)役割分担が存在しない」からだ。
上流・下流といった開発工程の分担はないし、「フロントエンドだけ」「バックエンドだけ」「デザインだけ」「インフラだけ」みたいな分業もない。一人ひとりがすべての工程に関わることができる。
働き始めたその瞬間から、「フルスタックエンジニア」としてのキャリアがスタートするわけだ。なので、君に成長欲と主体性さえあれば、アプリケーションの開発に関わるすべての技術を「経験」し、技術を高めていくことができる。
結果的に、ウチの主力メンバーは、会社を辞めてフリーランスのエンジニアとして独立できるレベルにある。イチから要件を組み立て、インフラを構楽し、プログラムを設計し、実装からリリースまでを「一人で」完遂する能力を持っている。
それでも彼らがウチで仕事を続けているのは、ウチの仕事が楽しく、まだまだ成長できて、やりがいを感じているからだ。つまり、彼らは「人生において自分がやりたい仕事を自分で選べる」ようになっている。
アジャイル開発は、海外ですでに 86% 以上の会社が導入しているメジャーな明発手法だ。しかし、ガートナージャパンの調査によれば、日本では 2021 年時点でまだ 40% 程度しか導入されていないという...。
つまり、日本の会社の半分以上がまだ昔ながらの開発手法を取り続けているということになる。もちろん、メリット・デメリットはあるから一概に悪いというわけではないが、今後の潮流としてほほ間違いなく日本でもアジャイルやスクラムがメインストリームになってくるはずだ。
ウチでは、数年前からこの開発体制を取り入れている。プロのコーチと契約して教えてもらいながら、おかげさまで「モチベーションチームアワード 2021」を受賞することができた。
これは大企業も選出されるような賞で、生産性や組織力が高まったウチのアジャイル・スクラム開発の体制が「一流」だと認めてもらえた証でもある。
部活やサークルをやっていた人なら、「同じチーム・組織にやる気がない人ばかり」な環境がいかに辛いことかすぐに想像できると思う。
逆に、メンバー全員が高いモチベーションを持って活動に力を入れていれば、自分もそれと同じくらい頑張ろうと自然に思える。
ウチの場合、かなりの仕事好きや ”技術オタク” ばかりが集まっている。(むしろ、そうじゃない人とは一緒に仕事をしたくない....。君もそうだと思う。)
よくある話、会社に入るまではモチベーションが高くても、長時間労働で疲れ果ててしまったり、頑張っても評価されなかったり、年功序列が強くて報酬もポジションも全然上がらなかったり...いろんな理由で腐ってしまうことがある。
仕事にやる気がない、勉強する気力もない...そんな人生は誰だって送りたくないはずだ。
ダイレクト出版では、(エンジニアに限らず)「成長するのが当たり前」と社員全員が思っている。なのでみんな、仕事から帰ったら自分でプログラムを書いていたり、本を読んで勉強したり、Qiitaというエンジニアのコミュニティサイトで記事を投稿したり...
日々インプットとアウトプットをしている。
勉強が嫌いな人にとっては地獄のような職場だけれど(笑)、成長意欲・知的好奇心が旺盛な人にとっては一緒に働く仲間と切磋琢磨できる環境だと自信を持って言える。
これも聞き飽きているかもしれないけれど、ウチに年功序列という概念は存在しない。これはつまり、君の能力が高くなればなるほど相応の報酬を渡すし、より大きな仕事を君の好きなやり方でやってもらうということ。同じ年齢でも、生活水準が違うレベルで給料の差が出たり、任される仕事の大きさも全然違うということがあり得る。
それは裏を返せば、どれだけ社歴が長くても技術や成果がなければ評価はされないという厳しい世界でもある。
ただ、一般的な大企業だと自分がどれほど頑張っても年に 5000 円とか1 万円くらいしか同期と給料は変わらないことを考えれば、自分がやればやるほど給料として反映されるのは、「もっと頑張ろう!」というモチベーションになるんじゃないだろうか。
仕事...と言いながら、最初の1ヶ月は研修をやってもらう。ただ、座学を黙々とやってもらうわけじゃない。君には、1ヶ月という期間で「社内のちょっとした課題を解決するアプリケーション」を作ってもらう。
ウチでは、「仮想プロジェクト」と呼んでいる。
アプリを同期のメンバーと一緒にゼロから開発することで、「実際に動くプログラムを書く」という経験を積んでもらうわけだ。
出来が良ければ君が作ったアプリを社内で実際に使ってもらう。ちょっとワクワクしないだろうか?
この「仮想プロジェクト」はインプットとアウトプットを同時にすごい速さでやっていく必要があるので結構大変だが、その分実力はつけられるはずだ。
その後は、開発チームに join して、早々に先輩エンジニアと同じ開発に取り組んでもらう。最初は先輩エンジニアがサポートしたり、一緒にプログラムを書くことで徐々になれてもらうが、早い人なら 2ヶ月もすれば一緒のプログラムを書けるようになっている頃だ。
そして、この数ヶ月の間に、Ruby、Rails、javascript、SQL. Git、コマンドラインなどの様々な言語やフレームワーク、ツールの使い方を学んでもらうことになる。セールス、マーケティングなどの業務知識も同時に学んでもらう...。
正直、先輩社員と同じようなスピードで成長したいなら、結構ハードだ。ただ、君がこの数ヶ月で作った「仕事の基準」は何物にも代えがたい財産になる。
自分で高い仕事の基準を設定できるようになれば、どんな会社でもどんな職業であっても活躍できる。
逆に、ここで手を抜くような甘い仕事の基準を持ってしまうと、それを今後 30 代、40 代で覆すのは非常に難しい。
これまで採用面接も含めていろんな人と会ってきたけれど、20 代で手を抜いてたなっていう人はすぐにわかるし、ほとんどの場合「使えない人材」のまま歳を重ねていくしかない...。
ちょっとビビらせてしまうようなことを書いてしまったけれど、ブラック企業よろしく毎日深夜まで残業…みたいなことは絶対ないので、そこは安心してほしい。むしろ、ウチは「きちんと休む」ということも、高い生産性を持続させるプロフェッショナルとして当然のことだと思っている。
エンジニアの具体的な仕事内容の前に、ここでちょっとダイレクト出版とはそもそもどんなことをやっている会社なのかを伝えておこう。というのも、ウチがやっているビジネスやそれをやる想いに共感してもらえるかどうかが、君の仕事のやりがいに大きく関わってくると思うからだ。
以下は、セールス・マーケティングの採用ページでも書かれてある、代表 小川の言葉。
From ダイレクト出版代表取締役 小川忠洋
具体的にどんな事業をしてるか?って話だけど、ウチの仕事は「知識」を商品化して売ることだ。たとえば、書店で売ってる「本」であったり、オンライン講座、セミナーなど、そういった商品をインターネットを使って広告をして販売する、というのが簡単な事業の全容だ。
インターネットを使ったマーケティングがウチの強みであるので、基本的にはどんな商品を扱っても売る事ができる。化粧品だろうが、健康食品だろうが、家電製品だろうが...
でもなんで、ぼくらがこの商品を好き好んで売ってるか?というと、それは「知識」こそがぼくらの人生に最もインパクトが強いと信じているからだ。知識を伝える、と言う事は、つまるところ、教育ビジネス。そして教育こそは、1人の人生を左右する最も大きな力になるとじている
どれだけ大きなテレビを手に入れても、最新のスマホを手に入れても、かっこいい車を手に入れても、その瞬間は満足するかもしれない。しかし、知識ほど大きな違いをもたらすものはない。
たとえば、現代のほとんどの人は「専門知識」を使って仕事をしている。デザイナーならデザインの専門知識、プログラマーならプログラミングの専門知識、マーケティングならマーケティングの専門知識、それだけじゃない。医者、弁護士、会計士、などなど、世の中にある大半の仕事は「専門知識」がないとできない仕事ばかりだ。そして、専門知識が深くなればなるほど、その仕事の収入は上がる傾向にある。
もちろん、仕事面だけではない。
たとえば、心理学の知識があれば、より幸福に、豊かに生活できるだろう。英語の知識があれば世界が広がるだろうし、政治経済の知識があれば世の中が見えるようになる。きみの「考え」は、今まできみが読んできた本や、学んできた事、尊敬する人や、先生や親から教わってきた事、、、つまりきみが今まで吸収してきた「知識」から出来ていると言っても過言ではない。それくらい「知識」というものは人の一生に大きな影響を与えるものだと思っている。
しかしどれだけ優れた「知識」であってもそれが適切に、マーケティングされなければ多くの人に知れ渡ることはない。たとえば、とても良い本なのに全然売れない本がたくさんあるように
そこにぼくらの存在意義がある。
優れた知識を見つけ、それをマーケティングすれば、たくさんの人に届けることができる。多くの人が、より良い知識を身につけることができれば、社会にもとても大きな良い影響を与えることができると、ぼくらはそう信じている。それがぼくらの仕事なのだ。
というわけで、、、
我々エンジニアは顧客に「知識」を届けるためのプラットフォームを開発している。
・いかにユーザーが直感的操作で見たいコンテンツにたどり着けるか
・毎日訪れたくなる、勉強したくなるアプリケーションにするにはどうすればいいか
といったようなことを、ユーザー目線、マーケティング目線、エンジニア目線で考えながら機能のアップデートを日々行っている。さらに、今はiOS、Android、TV 用のアプリなど、様々なプラットフォームへの展開を企画している最中だ。
他には、ウチの強みであるインターネットのマーケティングを行うための大規模な社内システム「Central」の開発も行っている。
顧客リストの作成やメールの送信、商品購入のための決済ページの設定など、日々のマーケティング業務に必要な機能が「Central」に集約されている。
こちらは開発にあたってエンジニアの知識だけでなく、セールス・マーケティング、会計・法律なんかの知識も求められる分、要件定義などの上流工程を理解するのは難しい。
しかし、社内の人間が使うシステムだからフィードバックが速いし、ビジネスの全体像がわかるようになればかなり面白い開発になる。
他にも、決済システムや社内評価システムなんかもあって、自社で様々なプロダクトを開発・運用している。
つまり、、、
・ウチの強みであるセールス・マーケティングをもっともっと成長させていく手段を提供すること
・IT 技術によって、社員全員がより高いパフォーマンスを出せるように手助けすること
そして、
・よりわかりやすく、使いやすいプラットフォームで願客に「知識」を提供すること
これが、我々ダイレクト出版のエンジニアの仕事だ。
君がウチでどんなことをしていくのか、イメージがついただろうか?