未経験で入社して1年が経過したので、これまでを振り返ってみる
IT技術
はじめに
みなさんこんにちは。愛媛県でフロントエンドエンジニアしてます、ずおです。
私事ですが、ライトコードに未経験で入社して、ちょうど1年が経過したので、この1年間を振り返ってみて、感じたことなどを記事にしたいと思います。
今後、未経験から、エンジニアへキャリアチェンジしようと思っている方々などへの参考になれば幸いです。よろしくお願いいたします。
入社前の自分
ライトコードに入社するまでは、地方銀行に勤務しており、エンジニアとはほぼ無縁の生活を送っていました。
エンジニアに興味を持ってから、個人でSNSサービスやマッチングアプリ、CRMなどのWebアプリを開発をするようになり、本格的にエンジニアとしてキャリアを築いていくため、ライトコードに入社しました。
入社前の私は、一通り開発はできるものの、業務レベルで通用するスキルを持っていたかというと、そうではなかったと思います。
(現に面接時、代表の金城からの技術的な質問に、ほとんど答えることができませんでした笑)
自社開発
入社して約半年間は、ライトコードが運営している自社サービスの開発を担当しました。
このプロジェクトでは、フロントエンド・バックエンドの垣根をなくし、フルスタックに開発を行うという趣旨のもと、チーム全体で開発を行っていました。
使用した技術は下記です。とてもモダンな開発環境で開発でき、勉強になった期間でした。
・Next.js
・TypeScript
・Tailwind CSS
・Zod
・React-Hook-Form
・Jest
・GraphQL
・Prisma
・Google Cloud Platform (GCP)
・GitHub Actions
・Firebase Authentication
未経験エンジニアあるあるだと思いますが、
業務レベルでの開発をしていく中で、自分でも「何がわからないのかがわからない」状態になることが多々ありました。
その際に、代表の金城から
「まず、プログラムがどういう仕組みで動いているのかを理解しないといけない。例えば、リクエストを送った時に、サーバー側とどういうやり取りをして、どんな仕組みでレスポンスが返ってくるのかなど。エンジニアとして仕事をしていく中で、一番重要な基礎を理解しないまま、開発をしても良いエンジニアにはなれない」
と指摘を受けました。
とてもごもっともだなと思いました。確かに、「何となく書いたコードが動いてくれる。」それだけで個人開発では満足していたものが、エンジニアとして仕事をしていく上では、通用しないことを身をもって体感しました。
今考えると、ここが分岐点だったのかなと思います。
「基礎を理解する」ということに重点を置き、1から勉強をしなおしました。
今でも業務で役に立っている本は以下二つです。金城さんから言われたことも、今なら少しは理解できていると思っています。
プログラムはなぜ動くのか
Webを支える技術
一通り基礎的なことを理解した上で、本当に理解できているのかを確認する意味も込めて、基本情報技術者試験を受験し、合格しました。
基礎が理解できたことで、開発への理解も進み、
後半はメンバーの一員として役に立てたのかなと思っています。
今後は、上位資格にもチャレンジして、さらに理解を深めていきたいです。
受託開発
自社プロジェクトで約半年経験を積み、いざ受託開発へとステージを移しました。
アサインされたプロジェクトは、
RubyやJavaScript,jQueryで書かれた既存のソースコードをリプレイスするというものでした。
現在も、こちらのプロジェクトに携わらせていただいており、主にフロントエンドを担当しています。
フロント側で使用している技術は、下記です。
・Next.js
・TypeScript
・Tailwind CSS
・Yup
・React-Hook-Form
・Jest
・GraphQL
・GitHub Actions
このプロジェクトにアサインされるのが決まった時に、当時自社開発のPLをされていた大先輩エンジニアの方から、
「1からコードを書くのは超簡単だけど、動いているシステムをそのままの形で、リプレイスするのは本当に難しいよ」
と、半分脅され、半分励まされ、、、胃が痛くなったのは良い思い出です。
プロジェクトの規模感などもかなり大きく、本当にチームに貢献できるのかと不安になることも多かったです。
しかし、自社開発プロジェクトで使用していた技術と似た技術スタックであったことや、以前と比較して基礎への理解が進んでいたこともあり、
温かいメンバーに支えられ、プロジェクトにはすぐに馴染むことができました。
自社プロジェクトの時には経験できなかったことも、経験できています。
クライアントと直接やり取りを行い、最適化・新機能追加の提案を行うなど、
実際にユーザー目線で仕事をすることができ、とてもやりがいが大きいです。
その過程で、リリースまでに良い品質のサービスを提供するという責任感も生まれ、
エンジニアとしてとても充実した日々が送れています。
技術的な成長の道のりはまだ途中ですが、今後スキルを積み重ね、クライアントはもちろん、ライトコードにも大きく貢献できるエンジニアになることを目指します。
技術領域以外で学んだこと
この1年間で、自社開発、受託開発のいずれにも携わることができ、自分の中で、技術領域以外で学んだことが2つあります。
コミュニケーションの重要性
1つ目は、コミュニケーションの重要性です。
開発をしていく中で、チームがまとまらないと、そもそも開発がうまく進みません。
メンバー間で親密にコミュニケーションをとって、開発進めていくことは、この上なく大切なことだなと考えています。
開発に行き詰まった時や、自分では解決できない問題が発生した時など
近くに相談できる仲間がいることは、とても心強いですし、
そのような、すぐにコミュニケーションを図れる環境を作っていくことは、とても重要です。
現在は、リモートワークが主流なので、テキストベースのコミュニケーション能力も超重要です!
ただ、実際にオフラインで会話をしながら仕事をした方が、相手がどんなことを考えているのか見えやすいですし、理解も深まるなと、この1年を通して感じました。(実際に半年間、福岡オフィスに毎日通ったことで、人間関係を作ることができたし、色々なことを教えていただける環境で成長できました)
主体性・積極性
2つ目は、主体性・積極性です。
入社前私は、エンジニアという職業は、一人で黙々と作業する時間が多いイメージを持っていました。
しかし実際は、そうではありませんでした。
主体性に関しては、単なる指示待ち人間になるのではなく、能動的に問題を特定し、「これはこうした方がいい」、「こういうやり方もあるんじゃないか」などの解決策を提案することで、プロジェクトの進行を加速させ、チームの生産性を高めることにつながっていると認識しました。
うん、とても楽しいですね。
積極性に関しては、前述したコミュニケーションと被るところも多いのですが、何事もレスポンスを早めて対応したり、自分からタスクをとりに行ったりするだけで、
チーム全体の士気と協調性が高まりますし、仕事をするのが楽しくなることにもつながると思います。
結論、コミュニケーション(人と話すこと)はとても大事です。
終わりに
この1年間で様々なことを経験することができ、少しは成長できたなと実感しています。
もし、ライトコードに興味がある方は、一度お話だけでも聞いてみてください。
現在、愛媛県から勤務しているのは私だけなので、ぜひ、愛媛県からの参入もお待ちしております!!
とても良い会社です。この記事を読んでいただけたみなさんと一緒に働けることを楽しみにしています。
ライトコードの採用情報はこちら
2年目もできることやれることを増やして、全力で頑張ります!!
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
愛媛県の田舎町で生まれ育ちましたずおと申します。 趣味はサウナと居酒屋巡りです。 未経験で入社させていただいたので、いち早く戦力になれるように日々頑張ります! 座右の銘は「悩んでるひまに、一つでもやりなよ」 ドラえもんの名言です。よろしくお願いします。