見出し画像

未経験から自社開発ベンチャーに入って2ヶ月が経った


こんにちは。箱と申します。

タイトルの通り、今年の9月に未経験から渋谷の自社開発ベンチャーに転職しました。入社から約2ヶ月が経とうとしています。

私が就職する前、「本当にエンジニアとしてやっていけるのか」「未経験スタートで精神的に病んでしまわないか」みたいなことが結構不安でした。

就職した途端に駆け出しエンジニアがツイッターから消えてしまう現象は有名ですが、実務経験1年未満の人の体験談って本当に少ないですよね。

このnoteを書く理由は主に自分への備忘録としてがメインですが、現在エンジニアへの転職を目指している方の参考にもなればと思い、「入社して2ヶ月の今感じていること」を書いておこうと思います。

本当は3ヶ月くらいのタイミングで書きたかったのですが、やる気がある時に一気に書き上げて投稿までしておきたいので…中途半端な実務期間であることはご了承ください(笑)

経歴を簡単に

まず私の経歴を簡単にお話ししておくと、
文系大学を卒業後、銀行で一般職として4年間働いていました。
エンジニアを目指そうと思った経緯は今回割愛しますが、とりあえず退職してプログラミングスクールに通い始めました。
4月末に退職し9月には働いていたので、無職期間は4ヶ月ちょいです。

スクールでの勉強

スクールでは約3ヶ月間、ほぼ毎日のように朝11時〜21時くらいまで(と言っても、どうしても最後の方は皆サボり気味になるのだが)勉強していました。
私は意志が弱い人間なので、エンジニアになりたいと思った時に独学の選択肢はほぼ無かったです。

同期は20人以上いましたが、誰よりも勉強したと胸を張って言えるわけでも、技術的にものすごく自信があったわけでもありません。
私よりも勉強時間が長い人はいましたし、当然私より技術的に優れている人もいました。

就活について

会社選びでは特に「どんな人たちと働くか」を重視していました。

私の場合、未経験からの転職を成功に導く上で一番大事だと思ったのが、いかに精神を病まずに楽しくプログラミングを続けられるかということでした。

これまでの経験や自己分析で、自分の精神状態は人的環境に大きく左右されるということがある程度分かっていたので(というか、人間みんなそうなのか?)、技術的にしんどくても「この人についていきたい!」と思わせてくれるような先輩と働きたかったです。
というか、駆け出しの不安を煽ってくるような人や、できないことを遠回しに責めるような人がいない環境が良いな、と。

いくらプログラミングが楽しくても、いちいちマウントをとってくるような先輩と毎日仕事をするのは苦痛ですよね。

なので面接でより多くの現場社員と会えれば会えるほど、そしてフランクに話ができればできるほど、企業への志望度は高くなっていきました。

入社して思うこと

さて、ここからが本題です。笑
いくつか項目がありますので、順を追って書いていきます。

入社前と入社後のギャップについて

会社のことを知り尽くしたつもりで入社した私ですが、やっぱり入ってみると少なからずギャップはありました。

私が入社した企業は、できるだけたくさんの社員と会いたいという私の意向を聞いて、面接とは別に社員面談をセッティングしてくれたのですが。

その面談の場で、エンジニアチームのことやら仕事の進め方、開発のイメージに関しては深掘りできていたんですが、会社の規律や福利厚生など「エンジニアである前に社員として」気になる点はあまり聞けていなかったことに気がつきました。

通常より多めの時間をかけて会社を知っても、実際入ってみると「知らなかった!」ってことがこんなにたくさんあるんだから、たった2回そこらの面接で本当に自分に合うのかどうかを見極めるのって、考えてみると難しい話な気がします。

開発環境について

モダンな開発環境を望んではいたものの、未経験の分際であれやこれやと聞くのは失礼に当たるかなと思い、面接ではあまり直接お話を聞けておらず。
募集要項に書いてあるものから読み取る&話の雰囲気で掴む程度でした。

私の場合、たまたま自分が想像していたよりもはるかにモダンな環境が揃っていたのですが、未経験といえどもここに関してはきちんと確認しておくべきだな、と感じました。

実際の開発は、入社してすぐ環境構築をして、先輩が振ってくれた簡単なissueから取り掛かりました。最初はフロント周りが中心で、コミットもプルリクもバンバン初週からすることができました。

2ヶ月経った今、まだ自分で考えてイチからコードを生成する機会は少ないですが、細かいところを修正したり、他のところを真似して書いたり(コピペではなくきちんと理解はしている)しながら、新しい機能の実装も任せてもらえています。

開発で大変なこと

開発をしていて最も大変だなぁと思うのは、仕様の把握をすることと既存のコードを読み解くことです。

仕様に関しては、一企業のサービスともなるともちろん個人開発とはレベルが雲泥の差で、テーブルの数で言うと50以上。
これに関しては開発しながら徐々に把握していくしかないかなぁと思います。ちなみに今は、全てとは言わずとも知りたい部分をパッと参照できるようにはなりました。

コードを読むのも同様に、使用されているメソッドや関数は個人開発では知らなかったものばかりです。先輩に聞こうにも「全然読めないんでイチから説明してください」なんて言えるわけもなく、まず何がわからないのかを抽出するために結局は自分である程度読み解いていかなければいけません。
これに関しては、地道にデバッグしていくことで徐々に紐解いていきました。

開発以外で大変だったこと

入社して一週間くらい経った頃、突如「研修の一環で1ヶ月くらいCSも兼務しようか」みたいな話が持ち上がりました。
入社前は研修は無いと聞いていたので、これもベンチャーの意思決定の速さならではですね。笑

最初はもちろん、開発の時間が単純に減りますし、そんなの聞いてないよ…と思ってちょっと嫌な気持ちもありました。ただ逆に、エンジニアチーム以外の人にも自分の仕事ぶりを認めてもらえる良いきっかけになるかもしれない、とチャンスとして捉えました。

そんなこんなで、午前中はCS(カスタマーサポート)で午後は開発という形が1か月くらい続きました。
結構頭の切り替えが大変で、午後に開発に入る頃にはコードに触れるのが久しぶりになってしまうので、「昨日どこまで理解できたっけな〜」と感覚を取り戻すために時間もかかり、進捗もなかなか進まないのでモチベーションを保つのは大変でした。

ですが結果的に、兼務して良かったです。
最初に考えたとおり、一生懸命やることでエンジニアチーム以外の人にも自分の仕事ぶりを認めてもらえたと思います。こういうのって経営層にも伝わるし、エンジニアチームにも伝わるものです。

日々自社サービスをユーザー側の視点から触っていたこともあり、仕様の把握にもかなり役立ちました。

人的環境について

一言で言うと、最高です。笑

今は少しメンバーが増えましたが、私が入社した時は同世代の先輩が二人(片方がマネージャー)だったので、私を含む3人で開発を行っていました。
二人ともすごく温厚な方で、話しかけると嫌な顔一つせず答えてくれますし、そんな二人に挟まれているのが幸せでたまりません。笑

何よりも心強いのは、私と同じようにプログラミングスクールに通い、半年前に未経験から入社した先輩がいることです。(社員面談の相手はこの方だった)

未経験スタートの先輩がいるということは、
その先輩自身が、おそらく今の私のレベル感や心情に共感してくれるというのはもちろん良いことですが、会社が「チームとして未経験に教えるノウハウを既に持っている」ということです。
せっかくなら、育て方を知らない親よりも、知っている親から効率的に吸収したいですよね。

また、同じような未経験スタートの人材として先輩と比べてもらう良いチャンスにもなると思います。

開発スピードに関して

自社開発なので、納期がありません。
だからと言って楽なわけではないですが、納期に間に合わなくて精神的に追い詰められるとか、炎上するみたいなことは無さそうです。

毎週のミーティングで今週やったことと次週やること(githubにあがっているissueから各自選択)を報告するので、「いつまでにこれをやらなければいけない」というよりかは、優先順位の高いものを自分で選んで実装していくような形です。
サービスを触っていてバグを見つけたりすると、自分でissue出しをすることもあります。

これに関しても、未経験を育てた経験があるチームなので、ある程度理解して伸び伸びやらせて頂けているような気がします。

いつまでもちんたらやってられないのは百も承知ですが、「なんかよくわかんないけど動いたから良いや」とか「急がなきゃいけないから先輩に聞こ」ではなく、自分でできる限り調べて色々試してみて、それでもダメなら先輩に頼るというスタイルをストレスなく保てるのは、駆け出しとしてはかなり有り難いです。

やっぱりコミュ力は大切

先ほど「自分の技術力に自信があるわけじゃない」と書きましたが、それで十分通用しているわけではなく、私は他のところで補っている気がしていて、それが俗に言うコミュニケーション能力というやつだと思います。

コミュ力というのは何も、おしゃべりが上手で聞き上手であれば成り立つわけではないと思っています。
未経験エンジニアで言うと、質問したい時に自分の状況を端的に伝えられ、何が分からずどうしたいのかをうまく言えることは確かに大事ですが、それと同じくらい大切なことが他にもあります。

それは「この会社ではこういう立ち振る舞いが求められるんだな」とか「この人は今話しかけちゃいけないな、こういう接し方は嫌がられるんだな」みたいなのを感じ取って実行できる、すなわち空気を読んだ行動ができるかどうかがコミュ力の真髄な気がします。

「エンジニアにもコミュ力は必要」みたいな意見、よく目にしますよね。
私の場合、こういったコミュ力がプラス要素になって採用してもらえた部分は大きいと思います。

こういうのが不得意な方は、その分技術力での勝負が必要になってくるかと思います。

結論、ついていけてるのか

ここまで書いて、兼務期間があったので実際開発に割いている時間は1ヶ月くらいかなぁと気が付きましたが笑、なんとかやっていけています。
ただこれは、学習期間と同じ言語を使用していることや、開発の時間をたっぷり割けることが大きいかなと思います。

RailsをやってたけどPHPやJavaで採用された人が私の周りにも結構いますが、
いくら同じプログラミング言語とはいえ、業務レベルともなると難易度も上がるので、それプラス違う言語で仕事をしていくというのはかなりストレスになるはずです。
更に納期があったり、先輩が忙しそうで全然聞けないみたいな環境であれば、相当キツいんじゃないかなぁと思います。

あとスクールでチーム開発を経験できたのは大きかったです。gitを複数人である程度使い慣れていたというのは、業務に入る上でとてもスムーズでした。

入社して思うことをまとめると

ものすごく良い環境で働かせてもらっていて、この会社に入ってよかったと心から思います。
私を選んでくれた会社に感謝ですし、きちんと見定めてこの会社を最終的に選んだ自分自身にも「よくやった!」と言いたいところです。

反対に言うと、自分は恵まれすぎているようにも思います。もっと厳しい環境でしごかれている人と比べると、もしかしたら自分の成長スピードは遅いかもしれません。

今の状況に満足せずに感度を高く持っておかないと…と言う危機感は常に付きまといますし、普段仕事や勉強が思うように進まないと、プレッシャーに感じることも多々あります。

最初に掲げた、いかに精神を病まずに楽しくプログラミングを続けられるかに関しては順調です。
毎日の開発は学びの連続ですし、それでお給料を頂けているのが申し訳ないくらいです。

最後に

「入社して2ヶ月の今思うこと」を書こうと思ったのですが、何やら色々と書きまくってしまいました。笑
初めての投稿で拙い文章だったかとは思いますが、最後までお読み頂きありがとうございました。
どなたかの参考になれば、もしくは話のネタになれば嬉しく思います。

今後も色んな記事を読みたい!!と思ってくださったら、ぜひサポートしていただけると嬉しいです♪今後記事を書くモチベーションになります^^