休日更新の備忘録

休日のみ更新予定の個人的備忘録置き場

【IT記事】エンジニアが知っておきたい知識【20190511_AnyPicks】

スポンサーリンク

【はじめに】

2019/5/11のAnyPicksに以下の記事がありました。

プログラマだったら当然知ってるよね?という知識一覧 | anoparaanopara.net

エンジニアは一生勉強ともいわれる業種であり、知っておきたい知識についてまとめられていたため掘り下げていきたいと思います。

【なぜ一生勉強??】

なぜエンジニアは一生勉強していかないといけないのでしょうか。
おそらく以下のような点があると考えています。

一生勉強の理由その① 技術の進歩が速い

IT業界(特にWEB系)は技術の進歩が速い業界です。
過去に一度勉強したとしても、その知識は5年後10年後には過去の遺物になっているかもしれません。
過去の勉強が無駄になるとは思いませんが、そこで勉強をストップしてしまうと過去の人間(最悪の場合は老害)などと言われてしまうかもしれません。
信頼されるエンジニアというのは、過去から現在までの技術を理解したうえで、クライアントにとって最適な方法を提案できる人だと思います。

一生勉強の理由その② 多種多様な業界がクライアントになる

SIerなどのクライアントは金融系や医療系など多種多様な業界がクライアントになります。
クライアントの業界(業務)知識や特性を把握していないと、クライアントの気持ちを理解してシステムを提供するのは不可能です。
様々な業界の知識や特性を理解するためにも勉強は欠かせないものです(クライアント業界の最新知識なども知っているとクライアントからの信用も得やすいかもしれませんね)。

【最初は何から勉強すればいいの??】

上で書いたように、技術の進歩が速く知識が過去も物になったり、多種多様な業界について勉強しなければいけなかったりと、何から勉強すればよいのかわからなくなりますよね。
そこで引用した記事の事項がいい例になると思います。
プログラマだったら当然知ってるよね?という知識一覧 | anopara

技術の進歩が速いのに固定的な知識でよいのか

引用した記事の内容はIPA情報処理推進機構)による試験の「基本情報技術者試験」や「応用情報技術者試験」に出題されるような項目が多いです。
これらの項目は性能が変わるものはあるものの、基礎となっている考え方はコンピュータ技術にとって普遍的なものです。
これらを理解することがエンジニアとしての第一歩になることもあると思います。
またプログラムを書く人だけでなく、レビューする人や保守する人たちもこれらを理解していないと、パフォーマンスが出ないことや急なトラブルが発生した場合の解決手段が見つかりにくくなってしまいます(過去に1時間以上かかっていた処理が計算量を考慮して見直したことで数分で終わるようになったこともあります・・・)。
過去から言われ続ける固定的な知識かもしれませんが、システムが動作するコンピュータの基礎となる部分のため、しっかり勉強しておきましょう。

【まとめ】

基本情報技術者試験応用情報技術者試験に合格しましょう!
とは言いませんが、システムが動作するコンピュータの基礎はしっかりと勉強しておきましょう。
プログラマの方はコーディングすることやとにかく意図した動作するものを作ることばかり考え、利用されていったときのパフォーマンスや保守性を考えない人も多くいます(過去の私がこれでした)。
クライアントが求めているのは、ただ処理をしてくれるシステムではなく、付加価値があるサービス(ヒューマンエラーが起きないことや余裕のできた工数で別のことをすること)だと思います。
引用した記事の項目や、クライアントの業界についてしっかり勉強し、クライアントが求めるサービスを提供できるエンジニアになりましょう。

P.S. そんな私も引用した記事の項目を実用できるレベルまでは全然理解できていません。私自身ももっと勉強していかなければ・・・。