どうも、こんこんです(^^)/
完全独学でWeb系エンジニアに転職することができました。
実務経験を得ながら今思う、未経験の時にもっとやっておけばよかったこと。
使用する言語の「言語化」について話していこうと思います。
プログラムの言語化とは?
エンジニア未経験の方は「言語の言語化ってなんのこっちゃねん(´・ω・`)」という顔をされたと思います。
わかります、というかエンジニア未経験のときの自分もこんな話されたら同じ顔になります。
オリジナルのポートフォリオ(成果物)を作っている方々は大丈夫ですが自分みたいに本読みながらでしか製作したことがないという「エンジニア未経験者はこの状況に陥りやすい」のかなと思ったので話していきます。
プログラムの言語化とは造語になるのかもしれませんが、ものすごく簡単に言うと「なぜ、その処理を使ったのか?なぜ、そこでその処理を挟んだのか??」ということを理論を組み立てて説明する練習です。
プログラムの言語化がなぜ必要になるのか

自分ひとりでプログラミングをして成果物を制作していると、その処理内容に突っ込んでくる人がいなくて好きな処理をかけたり思った通りのコードを書いてエラー直して苦労して動いて満足、満足(*’ω’*)
というのが「当たり前になってしまっている」んですよね。
ですが、仕事としてエンジニア未経験がこのまま仕事をすると、ここで苦労する可能性があります。
絶賛自分が苦労しています(*_*;ハハ
そう、実務では自分が作ったプログラムに始めて待ったをかけるありがたい人物が登場するんですよ。
どうして、エンジニア未経験者も言語化の練習をしたほうがいいのか
他のエンジニアの環境はわかりませんので自分の環境でのお話になりますが、作業を終えて報告したときにコード内容をチェックされるのですが、例えば「なぜ、この部分の処理をこれにしたの?〇〇っていう処理もあるよね」という質問があり、それを説明する作業があります。
必要であるならば「〇〇の処理より自分のほうがいい」ということを理論立てして論破みたいなことをしなければならない時もでてきます。
ここで理論立てして言語化できていなければ、つまり「処理内容や実際の動きがわかっていない」という風に判断できるということなんですね。
これは後々、エラー等になった場合になぜこうなるのかを思考するために必要になるので自分みたいなエンジニアになりたては鍛えなければならないスキルになります。
特に長いコードを読んだことがないエンジニア未経験者は1つの処理の内容を言語化することができなければ長いコードなんて読めるはずもないので練習しておいたほうがいいです。
1人でしか作っていないと忘れてしまいがちなのがチームで作業することになるということを忘れてしまっていて、何かあったときに「説明できないと実際に処理の内容を理解していない」という結論になるということなんです。
まとめ
エンジニアはチームで作業するので自分の担当した処理内容を理論立てして説明できないと何かエラーなどが起こったときに理解していないと判断される場合があるので自分の処理は言語化できるようになろうということですね(´・ω・`)ウン
自分も実務で頑張っていますのでエンジニア未経験で目指している、そこのあなた(´・ω・`)
一緒に頑張りましょう(^^)/