新卒採用の説明会で、必ずと言っていいほど出る質問があります。
「私は文系なんですが、ついていけるでしょうか?」
実際のところ、私自身が文系なので、「何の問題もありません」と答えることが多いのです。
しかし、文系としてこの業界に入って、SEになり、悩むことが何もなかったわけではありません。
まず、自分自身の「論理的な思考」というところで、一番悩みました。
どうすれば、論理的な思考ができるのか?
一つには、自分が女性であるという、ジェンダーの悩みがありました。
何かを判断するときに必ず、「好き」「嫌い」といった感情が出てしまうのです。
それも「なんとなく」、つまり理由もなく、その日の、その瞬間の気分次第ということがあるのです。
そんな私でも、プログラミングやシステム設計を何十年も(!!)続けてくることができたのは、何故でしょうか。
採用説明会では、何度も話したのですが、紙に書くことから、プログラミングを始めたことが、論理思考を育むのに、大きかったと思うのです。
紙に書いて、何度でも読み直す。
これが、作ってしまったプログラムを、違う視点で見直す力を作ってくれました。
コンパイルするよりも、動かすよりも何よりも、ソースを読むことが生産力アップの最短距離であることを理解したのです。
そして、プログラミングで身に付いた知恵は、システム設計でも役に立てることができました。
システム設計を始めた頃は、プログラマとしての感性が勝ってしまい、細かなことばかりを気にしてしまって、全体を見通す力にどうしても欠けていました。
30本から40本くらいの小さなシステム構築だったので、なんとかやっていたのだと思うのですが、システムテストの最後の最後になって、重大なデータの抜けに気が付くこともありました。
そんなときに、他社のエンジニアが書いたプロセスフローに出会ったのです。
実際はなんと呼ぶのかはわかりませんが、私はプロセスフローとか、システムフロー図と呼んでいます。
一つ一つのプログラムを、別の紙に描き表すのではなく、1枚の紙に描くのです。
そこでは、各プログラムが作り出すデータ(実際にはテーブルとして描きます)と参照するデータを細かく描いていきます。
1枚と言っても、A3横の紙に書くと1枚に20本くらいの機能しか描き切れませんので、実際には何枚にも渡ってしまいます。
それでも、サブシステム単位に区切れば、1枚に描くことは可能です。
ポイントは、全てを描き切るということです。これに尽きます。
とにかくシステムの全部を考える。
若手エンジニアには、この作業を打ち合わせの途中から始めることをお勧めします。
大きな全体図を見て、その中の部分としての機能を考える。
この視点が、実は一番大事なことなのです。
細かな操作性、凝った造りに終始してしまい、大事なことが抜けてしまう若手を何人も見てきました。
全体を見る。
その為に、設計前に必ず、プロセスフロー図を完成させる。
文系の女性エンジニアでも、私が、システム設計をやってくることができたポイントは、これに尽きます。
全体の重みを知れば、お客様の細かな要望に対応すべきか、すべきでないかも判断できるはずです。
Vol.00141