前提

弊社はよくインターン生を受け入れる。
基本、営業や事務など非エンジニアがほとんどだ。そのため業務の中での関わりといえば、システムやPCについての質問程度だが、時折いっしょにランチに行ったりもする。

その際よく聞かれる質問。
「自分ってエンジニアになれると思いますか?」

なかなかに難しい質問である。普段仕事以外ではパソコンに触れることもない(あって授業のためのOfficeソフト程度)子がエンジニアに向いているかは一瞬で見抜ける筈もない。

しかしじゃあ本腰入れて質問しようとすると、すごく難しそうな顔をされる。おそらく自分が想像した以上の質問をされるからだ(私が小難しく質問をしているだけなのかもしれないが)
理論立てて説明をされること自体苦手な子もいる(その説明の仕方に難しさを感じるらしい)

まあそんな中でもしっかり聞いてくれる子もいるので、自分の中でもひとまず、どういった能力が必要になってくるかを整理してみることにした。

想定するエンジニア像

  • web系
  • 個人ではなく組織として開発する

※あくまで個人的な見解で、適正というほど厳格に定めたものではない。
※私は普段自社開発でSESの働き方は友人から聞く程度

エンジニアに必要だと考えられる要素

  1. パソコンに長時間向かってても平気
  2. 細かいデータ管理ができるor苦ではない
  3. try&errorが苦ではない
  4. 繰り返す作業が嫌い(重複したコードが嫌い)
  5. データを整理整頓しようと思う意識がある
  6. 新しいこと(特に技術系)に対し好奇心旺盛
  7. 学ぶことに貪欲

イメージとしては

  • 1〜3は組織に属するプログラマーに必要最低限の能力
  • 4・5はプログラマーとして更に成長していく(良いコードを書く)のに必要な傾向
  • 6・7がインターン生たちが想像する「今時のエンジニア」に必要な傾向

だと自分で解釈している。

勿論業務をしていく中で養われていく部分もある。
たとえば私は細かいデータを扱うことは苦手だったが、コードを書きシステムを運用していく上で再三気を付けるようにした結果神経質な面が出るようになった。
技術に対しての興味・好奇心も、使えるフレームワークが増えたり書ける言語が増えたりすれば自然と育っていくかもしれない。

すべてがすべて必須だとは思わないけれど、最低限複数人で運営していくなら備わっていて欲しい能力ではある。(特に5番目まで)
4,5番に関してはリーダブルコードの内容にも重なってくるとは思うけれど。
しかし入った会社、配属される場所によっても携わる分野が変わってくるから別に必須でもない気がする。

楽観的でもなく悲観的でもない事実のみをうまく伝えようとするのはすごく難しい。これからも伝え方は努力していきたい。

関連記事

この記事へのコメント

まだコメントはありません
+1
198
@tanakashiの技術ブログ
このエントリーをはてなブックマークに追加