見出し画像

未経験でエンジニアになってからの一年間、2019年を振り返る

エンジニアになった経緯はこの記事で書いたので省略します。
一年間の学びを振り返り、2020年さらに成長するための記録です。

※便宜上敬語は省きます。

2019年のGitHub Contributions

ほぼ社内のContributionなので、社外の活動も増やしたらいいかも。

画像1

2019年1月~3月

2019年1月1日にRELATIONS株式会社にエンジニアとして入社。
未経験だったので、エンジニアとして一人前になるために先ずはフロントエンドエンジニアとして働くことになった。

画像4

もちろん入社前にもある程度JavaScriptやReact、Firebaseなどの知識はつけたつもりだったけど、忘れた部分も多かったしとても実践で使えるレベルではなかった。

初めの三カ月はいわゆるオンボーディング期間で、序盤は(未経験ということもあって)チーム内で使ってる技術の勉強。中盤は社内の課題を解決するプロジェクトの開発。後半はWistantという自社サービス開発チームに正式にJOIN

序盤の勉強内容としては、JavaScript、React.js、Node.jsの復習的なものをやっていた。

チームでフロントエンドはReact.js、バックエンドはNode.jsを使っていたため、JavaScriptを集中して勉強できる環境があったのはありがたかった。

Node Schoolや先輩が準備してくれたワークサンプル。そしてReactで簡単なゲームを作るなどだった。

画像2

次に取り組んだのは、社内の「360度フィードバックシステムを改善する」というオンボーディング課題だった。社内で使ってる技術を使って実装しようと思っていたので、React、Redux、Storybook、Atomic Designなどの勉強も兼ねて楽しく実装していた。Firebase・Firestoreの勉強にもなったし、設計・デザインから実装まで一人ですべて完成した達成感があった。

画像3

その後、開発チームに参加することになり、初めてチーム開発を経験。Gitの使い方が慣れてなかったので、先輩たちに迷惑をかけた覚えがある。(Diffを80以上生成し、cherry-pickとかで対応してもらった。それでも40Diffぐらいあった。)

プライベートではUdemyやMediumを見ながら、プログラミングとフロントエンドの知識をキャッチアップしていた。(Async JS、React、Gatsby関連を履修していたが、履修が完了してないコースも結構多い)

画像9

Asynchronous JavaScript: async / awaitやPromise関係の理解が足りなかったので、勉強の必要性を感じた。
React: 自分の書き方が正しいのかの確認や、世の中のベストプラクティスを確認したくて、3~4コースぐらいは履修したと思う。
Gatsby: 単純に最終面接のときに扱ったことがあったので、フレームワークとして少し触れてみた。

2019年4月~6月

よりフロントエンドの業務をこなしていくようになった時期。Reduxへの理解がより進化し(selector、saga、normalizrなど)、SVG作成・GraphQLなどに入門した。その中でもFormikの勉強が一番大きかった学びではないかと思う。

画像5

もともとRedux-formを採用していたが、validationなどの都合でFormikに移行することを決定し、replaceする作業を行った。formを使用している場所が40近くあったので、すべてを確認しながらreplaceする作業は結構時間がかかった(ほぼ一人でやってたので実際8月~9月まで続いたと思う)。しかしその過程でformには大分自信がついた。

プライベートではconnpassを中心にエンジニアの勉強会などに参加したが、結局、勉強は独学が一番効率がいいことに気づいたので、3回ほど参加した後は参加しなくなった(LT大会などは良いと思う)。

Udemyも続けていて、Docker、Advanced JavaScript、Svelteなどを勉強していた。Svelteは海外のエンジニアたちが騒いでいるのをキャッチし、記事化した。

画像6

Docker: 開発環境で何となくコマンドは使っているが、概念が圧倒的に足りなかったので、基礎的な部分でも補完しようと思った。
Advanced JavaScript: JavaScriptという言語のより難しいコンセプト、特徴を理解するため。
Node.js: より基礎を固めたかった。
Svelte: 新しいフレームワークとして熱いテーマだったので触れてみた。

2019年7月~9月

社内ではそこまで新しい学びは多くなかったと思う。UI/UXに興味を持ち、Figmaなどを勉強してデザインを提案したりしていた。

画像7

プライベートではUdemyに加えて、別のサービスに登録した。Frontend Mastersというサービスで、プロの開発者たちがハンズオン形式で講義をしている姿を録画した感じだった。Udemyとは違ってサブスクリプションで様々なテーマの勉強ができるので、様々なインプットができた。

画像8

AWS Lambda: 引っ越したことをきっかけに、LINEでゴミ捨て日を通知してくれるBOTを作るためにQiitaで勉強。
AWS Amplify: FirebaseのAmazon版。社内でハンズオンをしたりした。
Figma: デザインに興味ができたので、社内で使ってるツールを勉強。
User Experience: 自社開発のプロダクトのUXをどう改善していくかを考えるため。
Gatsby: 自分のポートフォリオサイトを作りたかったので、リハビリとして勉強。サンプルは作ったけど、ポートフォリオサイトはまだ作ってない…
MERN Stack: MERNの復習も兼ね、GraphQLでのアプリ構築の知識をつけたかった。
TypeScript: 標準になりつつあるので、キャッチアップするため。
Next.js: 社内のエンジニアが技術共有会で紹介していたので、触ってみた。

2019年10月~12月

社内ではバックエンドの業務も少しできるようになったこと、よりGraphQLの理解が高まったことが主な学びの内容だった。あと、本格的にReact Hooksを使い始め、react-beautiful-dndreact-lottieなどのライブラリーに触れることができた。

また他のサービスであるLevel Up Tutorialsを利用してみた。Frontend Mastersもよかったけど、それより自分に合ってた。(今はどっちもサブスクリプションを解除してるけど、新コンテンツが継続的に追加されてた)

画像10

また、副業に挑戦。しかし、コーディングテストを受けた結果自分の実力不足を痛感できたのでアルゴリズムなどの勉強も始めた。

React Hooks: Hooksの登場でより便利な実装ができるようになってきたので、Hooksを使ったライブラリーを自作するなど。
React Spring: アニメーションライブラリー。
アルゴリズム・データ構造: Computer Scienceを専攻してた訳ではないので、より深い知識が必要だと思った。

今後学びたいこと・興味があること

画像11

Golang: 言語としてとても触ってみたい。エンジニアは一年一言語みたいな話もあるので、余裕があれば学びたい。

画像12

AWS Certifications: AWSの資格。DevOpsの仕事ができるようになったらとても価値があると思う。

画像13

Hyperledger Fabric: ブロックチェーンが次世代標準になる日もそう遠くはないと思ってる。

画像14

Flutter: React Nativeも良いけど、やるなら主流になっているFlutterを使ってみたい気持ち。

画像15

Prisma2: まだ安定してない(preview状態)が、production-readyになればとても便利そうなので、ぜひ使いたい。

令和元年を振り返って

未経験から始めて、様々な経験をさせてもらったって気持ちでした。いろいろと先輩たちには感謝してます。

2019年の最後ら辺は、仕事する時間が長くなったし、プライベートで勉強する時間は相対的に減っているという印象でした。よくないですね。

今後プライベートの勉強時間もまた増やしていきたいので、月に一個目標を立てる感じで実現したいと思ってます。

そう思ったきっかけがこの動画です。

30日は新しい習慣を作るのに十分な時間である

学びに限った話ではなく、ダイエット・筋トレ・趣味など色んな方向に自分を進化させていけたらと思いました。

ただの記録になりましたが、ここまで読んで下さりありがとうございました。2019年の最終日に振り返りができてよかったです。

良いお年を~

この記事が気に入ったらサポートをしてみませんか?