インタビュー

2022年7月13日

【卒業生インタビュー】薬局勤務からエンジニアへ。抑えておくべきプログラミングスクールと現場の大きなギャップ。

DIVE INTO CODEの卒業生の中から、フリーランスとして活躍している卒業生さんをピックアップ!
毎月開催の受講生・卒業生のオンライン交流イベント「DIC Day」にてご登壇いただき、永田よりインタビューさせていただきました!

【松橋 龍也さん】
新卒から10年間薬剤師として薬局勤務。退職後プログラミング学習を開始。2020年1月期Webエンジニアコース・フルタイム生としてDIVE INTO CODEでプログラミングを学び、現在は、エンジニアとして転職決定しました。

未経験エンジニアに求められるもの

本日は、どうぞよろしくお願いします。

よろしくお願いします!
私は、未経験の状態からエンジニアを目指して転職をしました。
自分もDIC(DIVE INTO CODEの略)に通い、学習開始から就職までの体験をもとに、やっておけばよかったことをお伝えいたします。
少しでもみなさんの活動にお役に立てればいいなと思っています。

私は大学を卒業して、薬剤師として10年間薬局で勤務しました。

10年間、全くエンジニアや、プログラミング等とは関係ないところで働いてたのですが、エンジニアの働き方に憧れ、勉強を開始しました。

その後、前職を退職してすぐに、DICのフルタイムコースへ入校しました。
4か月の受講を終えて卒業して、その後薬局の業務を支えるサービスを開発しているスタートアップにITエンジニアとして転職しました。

プログラミングスクールと現場でのギャップ

Image from Gyazo

実務を開始して、スクールに通っていた際に学んでいたこととギャップが大きく3つ程ありました。
『チームで開発する』『自走力が求められる』『ドメイン知識が必要』です。

この3つのギャップを理解して、ギャップを埋める為に学習期間中から行動しておけば、面接でも良いアピールになると考えています。

また、実際に実務に入ってからもギャップに苦しめられずに業務にとりかかれるのかなと思います。

スクールと現場のギャップ①『チームで開発する』

ITエンジニアとして実務を開始した際に、まず最初に簡単なタスクが振られました。その時に、他の人が書いたコードを読んで理解するというところで結構つまずきました。

学習期間で作成するポートフォリオは、基本的には自分で書いたコードになると思いますが、他の人が書いたコードは、何がどこに書いてあるのか、どういった意図で書いたかが、なかなか掴みにくかったりします。

それを理解した上で修正や、機能追加をするのですが、その修正箇所や、追加する場所を特定するのにも結構苦労します。

大きなプロジェクトになってくると、前後の文脈を読み取る必要があり、そのプロジェクトに合ったコードの書き方をそろえてコードを書かなくてはいけません。

そのギャップを学習期間中にどうやって埋めるのかというのを考えました。
結論としては、仲間を見つけることが最良だ、という結論に至りました。

勉強会やもくもく会等は、積極的に参加した方が良いです。
DICにも、もくもく会が開催されていますので、積極的に参加してみて下さい。

参加することで、他の人のコードを直接コードが見れなくても、考え方や、どうやってそういったコードを書くに至ったかを話したり触れる機会ができます。
チャンスがあれば自分のコードを見てもらって、なぜこういった書き方をしたのかとかそういったことを説明できるようにできればいいなと思っています。

更に欲を言うと、チーム開発ができればベストなのですが、やはりタイミングや、環境にも依存しますので、まずはDICのもく会に参加してコミュニケーションを積極的に取ってください。

スクールと現場のギャップ②『自走力が求められる』

ここで自分が言う自走力というのは、人から手取り足取り指示されなくても自分で作業が進められることと定義しました。

実務に入ると、多かれ少なかれ自分の知らない技術を使って自走を進めなければいけない時が必ずあります。
特に、未経験から1社目の転職だと、知らない技術が多くあるので、自分の知らない技術で開発するというのは多くあります。

先輩に聞きたい。でもどうしても忙しそうで聞けなかったり、聞きにくい雰囲気だったりとか、チーム内でも知見のある人がいないという場合もありました。

そういった誰にも聞けない状況が結構ありました。自分でやるしかないのです。
自分で調べて試行錯誤して完成まで持っていくっていうのが自走力だと思います。

プログラミングスクールでの学習期間中にはどういうアプローチをしていけばいいのか?

ポートフォリオを作るときにやりがちなのが、自分が今持ってる知識や技術で作ってしまうことです。

それはそれで基礎ができているという証明になるので良いと思うのですが、更に上を目指すには、一つでもいいのでプログラミングスクールのテキストにはない技術を一個取り入れるといいかなと思います。

ポートフォリオのテーマが決まってる場合は良いと思うのですが、例えば生活の中や、今まで仕事してきた中で解決したい課題というのを設定して、それをポートフォリオに取り入れるというのが良いかなと思います。

その課題を解決する為にはどういう実装が必要なのか考える。
その実装の為にはどういう技術が必要なのかというのを調べて、スクールのテキストには入ってないが、自分で調べて実装しました。といったアピールが面接でできると、とても良いと思います。

スクールと現場のギャップ③『ドメイン知識が必要』

ドメイン知識とは、業務知識のことです。

業務としてエンジニアとして働いた場合、自分の知らない業務の知識が求められる場合がとても多いです。

例えば薬局のサービスを作るのに薬局の業務に精通してるエンジニアっていうのはまずほとんどいないはずです。

そういった時にエンジニアは自分で調べたり学習したりとか、あとプロダクトオーナー、クライアントに『こういったサービスを作りたい。』と発案してる人との会話の中で少しずつそういった知識を覚えていきます。

でも、どうしてもエンジニアとそのクライアントプロダクトオーナーとの間に認識のギャップが生まれてしまいます。
その状態で機能を作ったとしてもどうしても手戻りが発生してしまう可能性があります。

なのでせっかく作ったのに思っていたのと違って作り直しみたいなことになってしまいます。学習にも当然コストがかかりますし時間も労力を費やさないといけないです。

なので、就職活動に限って言うと逆に今まで働いてた業界の業務知識を使って就職活動すると良いのかなと思います。

同じ知識だったり課題感を働いている時に得たとしてそれを面接の時に話せると好印象ですし、実際に働き始めてからも会話がスムーズだったりとか提案がしやすかったりとかそういったことがあります。

どうしても未経験で入ると技術面でマイナスで、最初のうちは迷惑をかけながら覚えていくっていう気持ちになってしまいがちです。

ですが、自分の専門を、自分でいうと薬局業務の知識から提案することがありまして、それがそういった面で貢献できているなっていう気持ちでだいぶ楽になりました。

以上3つのギャップについて話させていただきました。

スクールで学習中に押さえておくこと

Image from Gyazo
まとめるとまず仲間を作って積極的にコミュニケーションを取ること。
他の人のコードとか考え方に触れる機会をどんどん増やしていって下さい。

その上で、自走力はポートフォリオで証明して下さい。

先に課題を設定して課題解決に必要なので必要に迫られて技術を取り入れたというような話ができるといいのかなと思います。

そしてドメイン知識や、業務知識を活かした業界での転職です。
面接の時に話がスムーズだったり、実際に働き出してからもスムーズに業務が進められるかなと思います。

以上自分の経験から未経験エンジニアに求められるものというようなテーマで自分なりの見解をお伝えしましたので、皆様の活動に少しでもお役に立てればと思います。

以上です。ご清聴ありがとうございました。

松橋さんのTwitter:https://twitter.com/_maa0917

DIVE INTO CODEのことをもっと知ってみませんか?