駆け出しエンジニアとプロのエンジニアの違い
最近は、エンジニアになる人がホントに多いと思う。
会社にいると、毎週のように面接を受けにそうやって人が来る。
エンジニアがいない、足りない、という中いろいろなスキルの人がいて、「駆け出しエンジニア」みたいな人ももちろんいる。そんな人たちを横目に見ながらぼくは仕事してたりする。
ところで、そんな「駆け出しエンジニア」と「プロのエンジニア」の違いというのは何なんだろう?
駆け出しエンジニアってどんな人?
ぼくは一応、学生のときも含めたら、7~9年くらいやっていて、ほぼ毎日コードをみたり、インフラ触ってみたりしていて、どちらかといえば、「プロのエンジニア」と自負している前提で読み進めてほしいところ。よし、保険はかけた。
駆け出しエンジニア、とは言うけど、どんな人がそう言われるんだろう?
ぼくが思うのは、
- プログラミングそのもの(コードを書く)という行為が好き、楽しい
- スキル的にデプロイして運用というようなアウトプットまでのレベルには至ってない
- コードを理解していない(動いたからOKスタンス)
という人のことかな、って認識してる。
コード理解してないけど、動いたからOKスタンス、で仕事するのは、誰かにまたは、どこかにモノを納めるプロのエンジニアのやる仕事ではない、とぼくは信じてる。
もしこれをやってるとしたら、あまりに無責任なんじゃないかな。
クライアントにも自分にも。
ここでのポイント
→理解してないコードは書かない
じゃあ、プロのエンジニアってどんな人?
んじゃ、「プロのエンジニア」ってどんな人?ってな話なわけで。。。
### 一次情報を取りに行く
プロのエンジニアなら、まずは1次情報を取りに行くべき、とぼくは思ってる。
ま、これはどんなことにおいてもそうだと思うけど、エンジニアというプログラミング言語を道具にしてモノを作るぼくたちは、その道具がどんな風に使えるのか、ってのを知って使うべき。
だから、リファレンスとかコードとかちゃんと読む。
これを当たり前にやる。
あたったリファレンスやブログが「英語だから。。」とか言わないの。
英語で解決にたどり着くかもしれないから読むの。
「苦手だから」って言わないの。
そもそもプログラミングって英語じゃん。
きっと英語の情報の方が多いじゃん。
ならそれを見ない選択肢はないよね。それが仕事だよね。
んで、こういうのが面白いよね。少なくともぼくは。
### 些細なことに注意する
一つのメソッド名、変数名でも気にするの。registなんて言う変数も使わないの。tmpなんて変数名も乱用しないの。
プログラミングなんて実行するときは、同じバイナリコードになるから意味ないのに。
こんなことを言えるのは、もちろんぼくにもそんな時期があったからだ。
だからこそ、色々と勉強してきたし、これからもこういうことを続けるつもり。↓
フレームワークの「よしなにやってくれるメソッド」みたいなのにも、注意を向けるの。
例えば、Railsだったら、ActiveModelのソースコード追いたくなるのがプロだと思う。
こうやって、ライブラリやフレームワークは裏ではちゃんとやってる。
「なんかできた」で納得はしないの。したくないの。
そもそもフレームワークやライブラリってのは、
「難しいことを簡単にできるようにするためのもの」であって、
「難しいことを簡単にする」ものではないの。
「難しいこと」はちゃんと裏でやってんの。
こういうのを意識したり、知っていたりするのはエンジニアとして差が出てくるところ。
これを意識してるかどうか、がプロのエンジニアと、駆け出しのエンジニアの違いなんじゃないかな。
ここでのポイント
→一次情報を取るべし、些細なことに注意すべし。
自分で考える
どの職でもそうだと思うけど、その道のプロは一次情報を取りにいって、それを理論立てて考えて、実行する。
プロのエンジニアとして仕事をするなら、
リファレンスも読む。
ソースも読む。
そして、それを手を動かして確かめる。
Qiitaの記事信じて、コピペしただけで、「書ける」っていう人もいる。割といる。
「Qiitaにないから、できない」って人も、多いかもしれない(そんな人を見たことがある。)。
でもね、Qiitaって別に査閲が入ったりするわけじゃないから間違っていることだって当然あるし、wikipediaと同じだよね。
あ、もちろん、Qiitaは便利なサービスだし、ぼくもめっちゃ見るけど、使い方、リテラシーってあるよね、ってこと。
今はググってきたら正解なんて簡単に出てくるけど、それらはまだ断片的なものが多い。
それで解決することもあるかもしれない。
一方で、もちろんググっても解決しないこともたくさんある。
そんな中でも、最終的には自分の頭で考えて、取り組む。
当たり前を当たり前にやる、それがプロなんじゃないかな。
ここでのポイント
→自分の頭で理論立てて、手を動かして実証するのがプロのエンジニア。
この記事が気に入ったらサポートをしてみませんか?