はじめまして、レバウェル開発部の田上です。
営業職から社内エンジニアへ未経験枠として異動し、早くも1年が経ちました。
この1年間、挑戦の連続であり、葛藤や発見が詰まった日々でした。本記事では、未経験としてエンジニアに舵をきったこの1年間の間に感じたことを徒然なるままに書いていこうと思います。
エンジニアへの転向を考えている方や、未経験で一歩踏み出すのをためらっている方に、私自身の経験が少しでも役立てれば幸いです。
目次
- 自己紹介
- エンジニア転向のきっかけ
- 未経験からのスタートライン
- 壁にぶつかった日々
- 未経験者が注意すべきポイント
- エンジニアを目指す方へのメッセージ
自己紹介
改めまして、田上と申します。
自分は現在、レバウェル開発部内で主にPHPを使用したバックエンド開発を担当しております。
私の簡単な経歴としては下記の通りです。
- 金融業界に営業職として入社
- Leveragesに営業職として転職
a.レバウェル介護転職サービスのキャリアエージェントとして、神奈川、さいたま、広島地域の転職支援に従事 - Leveragesの開発部へ異動
a. レバウェル介護転職サービスのバックエンド開発に従事
そうです。
レバウェル介護の営業職として勤務し、その後レバウェル介護の開発職として今は勤務しています。つまり、営業時代に使っていたサービスに対して、次はエンジニア目線で日々向き合っているわけですね。
Leveragesではオールインハウスを謳っており、事業部の垣根を超えて自分のやりたいことにチャレンジできる環境が整っています。私は社内移動制度を利用し、今から約1年前にエンジニアとしてのキャリアに舵をきりました。
エンジニア転向のきっかけ
なんでエンジニアになったの?
よく聞かれる質問ではありますが、異動後程なくして、社内の人事からも背景のヒアリングをするためのミーティングをセッティングされました。
その時は、
「こんなサービスあったらいいなをカタチにできる人材になりたい!」
と答えたのを覚えています。
今思えばいかにも面接の時のために用意した言葉だなと思いますが、これは今でも自分の目標として根底にあります。
ここでいうサービスは、保険を売るでも、仕事を紹介するでも、コーヒーを売るでもなんでもいいですが人に与えるもの全般ですね。
もともと趣味程度でpythonをさわっていたので、営業職時代にハローワークの求人票が欲しいと困っていた際に、ボタン1つでサイトから自動PDF化できたら便利じゃない?と思い立ち、ツールをつくってはチーム内で共有していました。
他にも友人がブログを始めた際に、instagramのAPIを利用した広告出稿のバックエンド開発をしてきましたが、その時、プログラミングって極めたらなんでも出来るようになるのでは?と思い立ちました。営業の経験と金融の知識、そして私は農学部出身ですが、そこにITを組み合わせることで何か面白いことが出来るのでは、と感じてエンジニアへの道を進むことを決心いたしました。
未経験からのスタートライン
前の話を見て、エンジニア未経験じゃないじゃん、という声が聞こえてきそうですが半分その通りで半分はその通りではないと思っています。
というのも、趣味程度で触っていたpythonの知識は業務レベルで見るとほとんど役に立ちませんでした。
エンジニアの方はわかるかと思いますが、当初はgithubの使い方もわからずコミットするにも先輩に何度も確認して震えながらコミットしたのを覚えています。
また、ディレクトリ構成は概念すらわからず1つのファイルに何千行という処理を書いていましたし、バージョン管理に至っては毎回コピーをして、hogehoge_ver87.pyのようにとんでもない量のバックアップファイルで管理していたほどです。(変数名もa=hogehogeとか普通にやってました....)
そういった意味では、エンジニアとしては未経験者であったと思います。
一方、半分経験者というのはとりあえず調べて手を動かしてきたという経験にほかなりません。知識ではなく、エンジニアってこういう仕事なんだなとイメージを持っていたということですね。
不明点があればネットでいくらでも解決できる時代ですから、やりたいと思ったことをネットや本を調べてカタチにするという作業自体は今の仕事でも十分に役立っているかと思います。
現在エンジニアに興味がある方は、一度自分で手を動かしてエンジニアを半分経験してみることをお勧めします。
壁にぶつかった日々
エンジニアになってからの当初は一面壁でした。
経験して1年経ってこの記事を書いている今もまさに、壁に直面しています。
覚えることがたくさんなのはもちろんですが、特に異職種へ転向して大きく2つのギャップがありました。
1つめは、精神論は通じないということです。
営業職の時は、ノルマの達成のためにやるか絶対やるか、と自分に一種の洗脳をかけるように言い聞かせて精神論で乗り切ってきました。
とにかく受注するためには、とにかく飛び込み営業の数を増やして質より量でなんとかすることが多かったので、こういう考え方が身にしみていたわけですね。
しかしエンジニアになってから、質を量でカバーするというような場面をあまり見たことがありません。
むしろ、いかに少ない時間で成果物を生み出だせるかというような、怠惰な考え方が評価されることが多々あります。
実際私の経験としては、クライアントからこれできる?と言われてもすぐに、「できます!(できるかわからないけど、まあ仕事量でカバーできるだろう)」と答えてしまうことであとあと何度も痛い目を見てきました。
すぐにGOサインを出すのではなく、求められている要件をいかに最短で過不足なく実現するかを擦り合わせしていく姿勢は、エンジニアになってから感じた1つめの大きなギャップです。
2つめは、要件通りのコードを書くだけではないということです。
趣味程度でコードを書いていた自分は、目的の処理が実行されるコードを書ければ問題ないだろうという考えでした。
自分だけが処理の流れを理解できればよかったわけで、当然数千行もあるコードの可読性は皆無です。
しかし、エンジニアのかくコードは会社の資産として捉えられます。
バトンのように先代がかいてきたコードを受け継ぎ、自分自身も将来のエンジニアにコードを繋いでいく必要があります。
そのために、誰が見てもわかりやすいコードにし、将来機能をアップデートする際に備えて柔軟に対応が出来るようなものにしておかなければなりません。
他にも拡張性、安全性、信頼性など考えることはたくさんあります。
そういった思想でコードを書くというのは、エンジニアになって2つめの大きなギャップだったといえます。
未経験者が注意すべきポイント
よくいわれていることですがあえてこの場でも伝えると、終わることのない自己学習が必要ということです。
もう少し具体的にいうと、必要なのは期待される処理が実行されるコードをかける力、いわゆる1つの言語を極めるだけではないということです。
エンジニアは言語だけではなく、ネットワークやAWSといったクラウドなど、幅広い知識が求められます。器用な人であれば会社で仕事しながら学習できる人もいるかもしれませんが、大抵は休日に勉強をするということになるかと思います。
イメージしていただきたいのが、例えばエンジニア同士のミーティングでわからない分野についての議論で意見を求められたり、マーケティング部との会義での要件すり合わせ時に出来る出来ないの判断を求められることが多々あります。
その時に、わかりません、と話についていけないとチーム全体が今どこを目指して走っているのかが分からず、自分だけが迷子になってしまいます。
なので、その分野について最低限知識をつけて仕事でも積極的にアウトプットをしていくことが重要です。
そういう意味では1つの分野を極めるだけではなく、放射線状にアンテナを常に張っていくことも同時に求められるのかな、と1年を経験した今では感じています。
繰り返しになりますが、日々の自己学習は避けて通れない道かと思います。終わることのない自己学習を楽しめる力を自分が持っているかどうかを、過去の経験から思い返してみるといいかもしれません。
エンジニアを目指す方へのメッセージ
どの職種でもそうですが、エンジニアにも向き不向きは当然あるかと思います。
しかし、営業職のように一度入職して経験してみないと適正が分からないといったことでもないと思います。
人と話すことが好きということと、人にモノを売ることは似て非なるものなので、入職してからギャップを感じる営業職の同期を何人か見てきました。
しかし、エンジニアは入職前に経験することができます。
まずは、自分があったら便利だなというモノをネットを参考に1からつくってみて、それが楽しいと思えたのであれば半分エンジニアを経験したも同然です。
もし楽しいと感じたのなら、きっとエンジニアも1つの選択肢になるのではないかと思います。
ぜひエンジニア転向を迷っている方はこれを試していただき、エンジニアの魅力に触れる機会のきっかけになれましたら幸いです。