エンジニア10年目を終えようとしている自分が色々振り返ってみた

以前 Twitter でこんなことをつぶやきました。

どういう感じで書こうかと悩んでたんですが、簡単に質疑応答形式で振り返ってみます。
エンジニアに限らず…な質問も入っています。

まずは簡単に自己紹介

  • フリーランスのエンジニアです
  • エンジニアになってもうすぐ丸10年が経ちます
  • 新卒で独立系SIerに就職→事業会社の開発部門に転職→2017年にフリーランスとして独立しました
  • Web開発メインでしたがバッチ作成とかインフラ構築とかCIとか関連業務は割と何でも(ほぼ個人的な興味で)やってきました

本編

就職前

  • 高卒でもエンジニアになれますか
    • (少なくとも日本国内においては)なれます
  • 文系大学卒でもエンジニアになれますか
    • (少なくとも日本国内においては)なれます
      • 私も大学では心理学をやっており、就職活動を始めるまで業界のことはよくわかってませんでした
  • 就職前に学んでおいたほうが良いことはありますか
    • どういう形態で働きたいのかは抑えておくべきです
      • 自社開発、SIer(メーカー系、ユーザー系、独立系)とか
      • 就業形態も準委任・業務委託などがある
    • 言語の勉強もしたほうが良いがそれは最悪入社後でもなんとかなります
  • どういう人がエンジニアに向いていますか
    • これは正直色々ありますが、個人的には「色々なことに興味が持てる人」だと思っています
      • IT業界は驚くほど進化のスピードが速く、(極論ですが)今日学んだことが明日には陳腐化している可能性も十分にあるので
      • また、ITは事業運営の手段であり、事業に関する知識など「IT以外の知識」も必要になることが多いです

就職後

  • まずは入社した会社で3年働くべきでしょうか
    • そうは思いません
      • 入社してみたら待遇がひどかったなんて結構よくある話ですし、例えばそれで精神を病んでは元も子もありません
      • 今は転職エージェントとかもありますし、色々なところから情報を得て自分で判断してください
      • ただ、転職時の面談などで「前職で何を学んだか」とかは必ず聞かれるので、経歴についてはしっかり説明できる必要があります
  • 休日も勉強したほうが良いですか
    • 必須ではありませんし、原則強制されるものではありません
      • とはいえ仕事だけだと得られる知識は偏りがちになるので、エンジニアとして成長するためには少なからず必要です
  • 転職時の流れを教えてください
    • きっかけ
      • 会社の体質とか上司とか色々不満があったこと
      • 自分が目指したい(アーキテクト的な)キャリアパスが無かったこと
    • 在職中に内定まで持っていきました
      • 具体的には、(CodeIQやpaizaのような)コードを提出してそれを見た企業からスカウトがくるようなサイトを使っていました
      • 前職の定時後に面談へ行っていました
    • (やりたいことがあった場合は別として)なるべく職歴に空白を作らないようにしたほうが良いかなと思います

スキル関連

  • これは必要という知識・技術はありますか
    • (自分もまだまだですが)文章力です
      • 昨今リモートワークが増えてきたこともあり、チャットやメールなど文章でコミュニケーションをとる機会も増えてきたのでより重要になっていると感じています
    • 興味を持ったことは積極的に学び、身につけようとする姿勢です
      • (仕事に限らずですが)成長するために一番大切なことだと思っています
    • 自分がこれまで得た知識・技術をいかに応用できるかという力は必要です
      • ある言語(A)の知識があったとして、新しい言語(B)を学ぶ場合でも応用力をつけておけば「Aでいう○○のことか」と理解しやすくなります
      • 特定の言語やツールについては書籍やインターネット上からいくらでも情報が得られますし、こういった情報は陳腐化するのも早いです
  • あって良かったという知識・経験はありますか
    • Web サイトをつくって運営した経験です
      • Web 開発に限った話にはなりますが、構築~運用の一切をやるとこれだけでかなりスキルアップにつながると思っています
      • 中学時代から趣味でサイト運営をしており、気になったことはここで試せたというのも大きかったです
    • トラブルシューティング経験です
      • 「状況を整理する力がつく」「コスパよく解決する方法を考えられる」「自分の負荷を認識できる」「イレギュラーも多いので自分のスキルにつながりやすい」などが根拠です
    • 自分が主戦場でない分野の知識もあると良いです
      • 私の場合 Web 開発(サイト上で動作するコードを書く)がメインなので、インフラ構築とかの知識があるとそれだけで割とありがたがられました
  • どこから情報を得ていますか
    • IT関連のニュースサイトや SNS がメインです
    • 前者は企業レベル、後者は個人レベルで色々な情報を得ることができます
    • あとは本を読んだり自分でコードを書いてみたりしています
  • おすすめの書籍はありますか

その他

  • 1日仕事に割く作業時間はどの程度ですか
    • 6~10時間ぐらいです
      • 先に述べた自分の Web サイト運営や営業・経理に関する作業時間は含めていません
  • 働く上で注意していることはありますか
    • 基本的に数時間作業したら休憩を入れるようにしています
      • 伸びをする・簡単なストレッチをする・散歩するなど、なるべく椅子から離れるようにしています
    • 仕事を忘れる時間を必ず入れるようにしています
      • 私は日単位の休みをあまり取らないので時間にしています
      • 友人と話す・酒を飲む・碁を打つ・麻雀するなど
  • フリーランスという働き方を人におすすめしますか
    • 基本的におすすめしません
      • 会社員には分業という素晴らしい仕組みがあり、適材適所で高いパフォーマンスが出せます
      • 私にはたまたま合っていただけ(営業も経理も楽しいですし、まわりに同じ立場の方も多かったので)
  • どういう人がフリーランスに向いていると思いますか
    • 極論ですが「なんでも自分でやりたい人」かなと思います(稼働時間とか単価調整とか税金とか)
      • 当然ですが原則自己責任なのでこれが辛い人は難しいと思います

シンプルに書くつもりが結構長くなってしまいました。
この記事が少しでもお役に立つと嬉しいです。