エンジニアになって1年がたったので、振り返り
はじめに
2021年の5月に未経験 & 正社員歴なし 28歳の状態からバックエンドエンジニアとなり、1年が経ちました。
この記事では現状、これまで感じてきたことや学んできたことを振り返る完全なポエムプログです。
定期的に振り返りつつ、これからの自分のキャリアを考える機会にもしていこうと思います。
あんまり「人に見せるブログ! ヤーーーー!」って感じで書いてないのはご了承くださいませ......。
ただ、「最近エンジニアとしてデビューした」や、「エンジニアを目指している」方にとって何かしらの参考になれば幸いです。
ちなみに、半年前の記事はQiitaにあげています
https://qiita.com/keitaUenishi/items/fe8dd958b13db09eb291
主に今やっていること
- C#、ASP.NET MVCでのWeb業務アプリケーション開発
- オウンドメディアの開発(React, TypeScript, Gatsby.js, Netlify)
- 自社教育コンテンツの作成
プロジェクト的には上からウェイトが重く、客先業務がメインです。オウンドメディア開発は優先度は高いものの、客先業務に合わせて進捗は調整されている感じです。
ちなみにこの客先業務は、1年前に未経験の状態からアサインされた業務システム開発のプロジェクトで、継続的に新機能追加の要望が来るため日々開発を行っています。
客先のプロジェクトとは言いつつ、完全に自社内 && 自社のPM && 自社のメンバーのみでやっているよくわからない状況(?)のプロジェクトで、そのおかげで自社の作業を掛け持って進めているみたいな状況です。
一年でどうなったか
客先プロジェクトの業務アプリケーション開発ではいわゆる「モダンフロントエンド」の技術はほぼ扱っておらず(ごく一部の機能だけReact化されている)、いわゆる「レガシー」で基本的にはjQueryでアレコレしています。C#でバックエンドを扱うことがほとんどですが、フロントからデータベースまでフルスタックに触らせてもらっている感じです。
最近は要望ベースから仕様を考えたり、設計をしたりなんかも少しずつやらせてもらえるようになりました。
個人的には技術力というよりも、要望からお客さんが「業務でどのように使いたいのか」という意図を考えたり、より良い仕様を提案してみたりという経験をさせてもらったのは大きかったなと思っています。業務知識、理解が進んだことでコーディング云々よりも、テストケースの作り方やデータの持ち方、パフォーマンスの観点などを考えられるようになってきたように感じています。
システムの規模自体はそれほど大きくない(らしい)ですが、度重なる仕様変更に伴ってカオスに乱舞していく実装や、とめどないjQueryの奔流、深淵まで続く分岐の嵐など、巷で聞く「これがエンジニアの現実さ...」みたいな経験、現実は少し理解できてきたかなと感じてます(まだまだ氷山の一角と思っていますが......)。
特に仕様変更。この半年くらいでも、実際にお客さんに見せて検証してもらったのに「まだそんな変更するんかーい!」ってのがいくつもありました。
技術的にはまだまだ「C#でなんでもゴリゴリ開発できるぜ!!」とは正直言えないものの、ライブラリ読んで「ここでこう使えるんじゃね?」とかはチョットワカル...的な。
基本的なMVCでの開発で、動くものは問題なくできる実感です。最近はクラス設計やデザインパターンなども勉強しているので、堅牢で変更に強いクラスをどうすれば作れるのか、などは日々考えています。
対照的に、自社の業務ではGatsby.js + Netlifyを使ってJamstackなブログサイトを構築しています。このブログもGatsby.jsで制作していて、業務でのキャッチアップ兼趣味みたいになっています。そのおかげで、いつのまにやら開発メンバーのひとりへ......。
Styled Componentを使用したCSSスタイリングなど、個人的に触っていて楽しいなーと思うことが結構多いです。現状、開発優先でコーディングのルールが曖昧なので、そこは今後意識していきたいところ......。
SEO関連の知識なども先輩エンジニアからがっつり教えてもらっていて、覚えること多いなーという日々です。
自社教育コンテンツの作成では、「オブジェクト指向」などをやりました。血反吐を吐いて消し炭となり死にました。(めっちゃ勉強にはなった)
働いてみての所感
人間関係のいい会社、という言葉が入社を決めたきっかけでしたが本当で、働きやすいです。
入社後、歴3〜4年の先輩が2.3名辞めていきオウフ......とはなりましたが、深い知識を持ったベテランエンジニアがチームにいたりして学びは日々あります。
ただちょっとマルチタスクになって学んでいる技術が散漫なのは悩みどころです。
自分は「〇〇エンジニアです!」と名乗る時になんて言ったらいいんだろう? とはなっています。この辺はやっぱり会社の規模的にもあるあるなのだろうか......。まずはなにか一点得意なものをとにかく作っていきたいなと感じています。
ひとつ言えるのは、1年経った今でもエンジニアという仕事が楽しいなと思えています。
いろーんなすごい人がいるので上を見たらキリがないですが、ある程度の適正はあるのかな? とは感じられました。もちろん、環境のおかげもあるとは思いますが。
何より嬉しかったのはチームのPMや社長直々に、「センスがある」「これまでの未経験で見たことない成長速度」と言ってもらえたのはモチベーションになりました。技術的にはぜーんぜんまだまだなので、2年目はガンガンアウトプットしながらエンジニアとしての基盤を固めていければなと。4月に社内勉強会も立ち上げたので、周りも巻き込みながらどんどん成長していきたいなと思います!
この一年で使ったものや、学んだもの
【実務】
使った技術
バックエンド
- C#
- ASP.NET MVC
フロントエンド
- JavaScript, TypeScript
- JQuery
- React
- Gatsby.js
- HTML
- CSS (Bootstrap, StyledComponent)
- GraphQL
データベース
- SQL
- OracleDB
業務
- 要件定義
- 詳細設計
- ドキュメント作成
- テストケース作成
- 教材作成
【個人のみ】
- Ruby
- Ruby on Rails
- Next.js
- Firebase
- Hasura
- Tailwind css
今後どうしていきたいか
今後半年の目標などなど......
得意と言える分野を作る
1年目は一応、いろんなものを触ってみて動かしてみたりしましたが、「使える」という意味では全くといっていいレベルと思ってます。
2年目は「自分が得意な領域」を確立して、これならある程度のことはできるという力をつけていきたいなと思います。
クソアプリいっぱい作る
これはもう完全に趣味です。
1年目、色々な技術を触ってみたりしながらクソなもの(コードとかもクs(ry )をちょくちょく作ってました。
しかし、クソなアプリをまあまあなクオリティで作れるようになりたい......。そのためにも前述した「自分が得意な領域」が大事だなぁと感じています。
あと、インフラ周りは全然触っていないので、個人で触るレベルでの知識はつけていきたいなと思っています。
基本的な能力づくり
前述した気がしますが、インプットばかりではなくモリモリとアウトプットして基本的な知識を固めていこうと思います。
会社のブログでもいくつか記事書いたりしているんですが、個人としても、もっと技術的な記事とか書いていきたい。時間をうまく使って書いていけるようにしていきます。
単純に文章を書くのは好きなので、お気楽な感じの文体で書いていけたらいいなぁ。
まとめ
エンジニアとしての1年、あっという間でした!
1年前の自分を考えると、当時想像していなかったくらいいろんなことが出来るようになったり、理解できたりしています。明確に前進していると感じられて嬉しいです。
エンジニアとして自分のアイデンティティを確立できるよう、2年目はさらに頑張っていこうと思います!