Engineer

【優秀】未経験者が知っておくべき、エンジニアとして求められるスキルとは【IT】

どうも、こんこんです(^^)

自分は現在完全独学でWeb系エンジニアに転職することができました。

優秀なエンジニアというのは全くの未知の領域の課題を出されたときに調べながら実装ができるエンジニアを優秀といいます。

既存の実装スキルの速度はもちろん必要になりますが、エンジニアとして優秀な人は自分の未知の領域だったとしても調べて仮実装をして実装スキルを身に着けられるエンジニアが優秀です。

エンジニアという仕事は既存知識じゃないことも必要になる

バイトをしたことがある人はわかると思いますが、無茶ぶりってありますよね。

エンジニアにも勿論あります。

例えばエンジニアにある無茶ぶりはやったことがないのに実装してほしいという内容です。

バイトでもありますよね、やったことがないのにこれやっておいてという内容とほぼ変わりません。

雇われる前は既存スキル、実際は未知の領域の実装スキル

面接時に聞かれるのは自分の既存で何ができるか、なにをやってきたのかなど過去やってきた経験やスキルを見られます。

ですが、エンジニアは実際に労働として働くと必要になるのは新しい技術やその人が今もっていないレベルの実装スキルを求められます。

優秀なエンジニアになるためには検索力が大切

エンジニアは常に新しい技術に対して貪欲になる必要があります。

一度仕事を覚えたらそれの繰り返しというのはありますがメインではありませんというか、繰り返しになる仕事をエンジニアとしやっているのであれば、成長はないので同業他社へ転職をしたほうがいいです。

それではエンジニアとしての旨味があまりないです。

未知の領域の知識を調べながら実装するのは気力と根気が必要になります。

調べながらソースコードを書いて動かしてみるなど結構、泥臭い作業をやることになります。

どのエンジニアも努力して実装している

努力という言葉が嫌いな人もいるのはわかっていますが、自分は1つの作品ができることは努力して実装し続けて出来ることだと思っていますので、努力だと思います。

今こそ優秀で、簡単そうに実装している上司、先輩などもわからないことは検索して実装してみてここまできたという、かなり泥臭い作業をして身に着けています。

逆に泥臭い作業を体験していない人は早々にエンジニア職から離脱している気がします。

優秀なエンジニアの下地にあるのは検索力

実際の業務で上司、先輩に自分がわからないことを聞きに行くとしましょう。

繰り返し作業のみの仕事なのであれば聞くと一発で答えが返ってきます。

しかし、エンジニアでは新しい技術も出るので上司、先輩もわからないことは少なからずあります。

ですが、上司、先輩は検索力が高いので検索して既存スキルの考えを組み合わせて答えを導き出します。

これができるのは高い実装スキルと的確なワードで検索できる検索力があるからなんです。

この下地がないのであれば恐らくですが、遅かれ早かれ離脱することになります。

未経験者が最初に理解するべきこと

実際に働くとなると応用力が必要になります。

そのための基礎はどのように身に着けるべきなのか?

簡単な掲示板を作れることを前提にして話していきます。

まずは自身の学んでいる言語の仕様の理解をするべきです。

複数の言語を織り交ぜて作られているのであればいくつか知っておくべきことがあります。

  1. 自分の仕様言語はその中で何番目に読み込まれるのか
  2. 自分で組んだプログラムの流れはどういう挙動で動いているのか
  3. 既存のコードを、もっとシンプルに短く簡潔に書けないのか

自分の経験では上記がエンジニアとしての下地で重要な部分だと思います。

作ってみて何となく動いたからオッケーだな!これは自分1人で作った場合でのみ許されることです。

共同作業で制作している限り説明責任が伴います。

最低でも上記3つができていないと自分の書いた部分の説明ができず、質問に対してなんとなくという風にしか答えられないでしょう。

まとめ

いかがでしたか?

自分もまだまだエンジニアとしてはスタートを始めたばかりで実装力に関しては、いつも頭を抱えて作業をしています。

エンジニアはカッコイイと思われていますが、かなり泥臭い作業を延々と繰り返しているんです(規格外エンジニアを除く)。

大変ではありますが、需要は伸び続けるので仕事に困ることはありません。

一緒に頑張っていきましょう。