Skip to content

Instantly share code, notes, and snippets.

@Hare8563
Last active December 13, 2018 18:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hare8563/171ad7d325426b1f4349dad575f80e4b to your computer and use it in GitHub Desktop.
Save Hare8563/171ad7d325426b1f4349dad575f80e4b to your computer and use it in GitHub Desktop.
駆け出しエンジニアへの手引きポエム

この記事は、「駆け出しエンジニアのための Advent Calendar 2018」の為に書き下ろした、ポエムとなります

はじめに

3年ほどエンジニアとして仕事をしているhareです。 3年間ともなるといろいろなことに触れていく訳で、今まで業務で触ってきたものでも

  • Ruby
    • Sinatra
    • Rails
  • C++
  • PHP
  • AWS
  • Xamarin Forms
  • TypeScript
    • React
  • Vagrant/Docker
  • Unity

なんていろいろなものに触れてきた訳です。

そんな僕が、駆け出しのエンジニアに

こういうことを気をつけてほしい こういったモチベーションがあるといいよね!

みたいなものをポエムとして書きます!

何を勉強したらいいの?

さて、駆け出しのエンジニアの皆さん。 エンジニアっていっても何から手を付けていったらいいかわかんないですよね。

僕が思う限り、まずは

「自分が夢中になれるものを見つける」

これが一番いいんじゃないでしょうか

一口にエンジニアリングっていってもいろいろ分野がありまして

  1. プログラミング
  • サーバサイド (Web)
  • フロントエンド (Web)
  • アプリ (iOS・Android)
  • ゲーム (Unity, Unreal Engine, DirectXなど)
  • デスクトップ (WinForm, Cocoa, Qt, WPF)
  1. インフラ系統
  • クラウド (AWS・GCP)
  • 仮想技術 (Docker・Vagrant)
  1. ハードウェア・IoT
  • Rasbbery Pi
  1. テスト
  • Selenium、Appium
  1. 研究
  • 画像処理、音声処理
  • AI
  • XR (AR・VR)

みたいなようにエンジニアがやれることってのは多岐にわたります この中から自分が夢中になれるものをまずは見つけてみましょう

アウトプットを出そう

さて、だんだんと自分のやりたいことがはっきりしてくると、プログラムならその言語でできることや使い方、インフラとかなら自分の作りたいシステムの環境など といった具体的なものを作るやり方が見えてきます

すこしこなれてきたら具体的なアウトプットをどんどん作っていきましょう

作る過程をブログにまとめていったりするのもアリ、gitにコミットしていくのもアリです。 自分のやってきた過程を可視化できると、少しずつの進捗でもモチベーションの向上につながります

なにより、こういったアウトプットは転職をするときにアドバンテージになるので、そういった面でも役に立ちますよ!

チーム開発の観点から気をつけてもらいたいこと

自分で、エンジニアリングがある程度できるようになってくると、必然的にチーム開発が視野に入ってくる そうなると、自分一人で開発するのと違い、チーム全員で支障にならないように

  • いかによいコードをかけるか
  • 他人(これは未来の自分も含む)が理解しやすいか
  • 開発したものが運用しやすいか

といった点を意識していく必要がでてくる

そのために、前者ふたつは

  • リーダブルコードのような技術そのものを学ぶより、もっと上位のコンテキストを扱う書籍や、Qiitaの記事、ブログなどを読んでみる
  • 身近な有識者にコードレビューをしてもらい、自分のコードの悪いところを指摘し改める

運用をしやすくするには

  • コードを修正・改修に強い設計にして開発を進めていく
    • 例えば、自分が最近意識しているのは「オブジェクト指向におけるSOLIDの原則」
  • テストコードを書き、品質を常に保つ
  • gitのコミットをきれいに保つ
    • これもそこそこ重要で、エンバグしたときの原因特定や、Revertがやりやすくなるので、バグ発生時の切り戻しがしやすくなる

と言った観点をあらかじめ持って開発をしていくと、今後の作業がやりやすくなってきます

駆け出しだからこそ、こういったところを意識していく癖をつけていってほしいと思ってます

最後に

いろいろと、書き散らしましたが、駆け出しのエンジニアさんが、エンジニアとして折れないというのがやっぱり一番重要だとは思います 僕が、学生時代から8年くらいかな、エンジニアとして続けて行けている一番のモチベーションは、やっぱり「何かを生み出すのが楽しい」ってところにつきるのかと

ぜひ、今後エンジニアとして駆け出していく皆さんには、いつまでもこの思いを忘れないようにしてもらいたいです

今やっていることが、辛い、つまらない、となったとき、それはそのエンジニアリングが自分に合ってない、自分に利益がない(どんな知見も得ることができない)といったときなのではないでしょうか そんなときは、思い切って別のことをしましょう!

仕事だから変えられない、とかって思っている人もいるかと思いますが、自分の経験上案外仕事を変えることって簡単にできます!(ただし、ちゃんとした理由、責任感は持つこと)

変化を恐れないでほしいです!

以上、長々と読んでくださりありがとうございました

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment