こんにちは、すみです!
今回のテーマは、大手SIerによくあると言われるソフトウェアの外注丸投げの結果プログラミングができない人が育つ問題、これについて書きたいと思います。
ちなみに、SIerとはシステムインテグレーターのことで、システム開発にまつわる全ての業務を引き受ける企業のことです。
なぜこのようなテーマにしたか?ですが、私のおかれている環境が現在進行形で直面しているからです笑
なので、真剣に向き合い、これからの進め方をまとめておいた方が、何かの役に立つかと思い書くことにしました。
このブログの結論からいうと、これからの新入社員プログラミング実習の4カ月はある意味、メンター側および会社側の本気度で結果が決まると思うので「覚悟」を持って取り組む必要がある、ということです。
それでは、よろしくお願いします。
■新入社員プログラミング実習を企画、しかし…
先日ツイートさせていただきましたが、今年度の新入社員向けにプログラミング実習を企画しました。
企画内容を同僚に話したところ、「面白そう!」や「私もやりたい!」といったポジティブな声が多く反響がありました。ちなみに使う教材はこちら。
教育版レゴマインドストームEV3
https://education.lego.com/ja-jp/product/mindstorms-ev3
レゴのロボットを使った開発教材で、Java言語で開発します。(他にも対応している開発言語あり)
面白そうですよね^_^?
しかし、ポジティブな声を聞く反面、ネガティブな声も聞こえてきて、その代表的なものがこちら。
「でも、メンター側に教えられる人がいませんね…。」
え?
と思いませんでしたか?
しかし、これは残念ながら事実です。また、調べてみたところ、他の会社でも同じような悩みを抱えているところがあるようでした。
うちの会社では新入社員のプログラミング研修後に実務でプログラミングをやる機会がほとんどありません。あっても一部の人だけです。
じゃあ普段は何をやってるの?と言われたら、
- Outlookでお客様とのメール
- PowerPointやExcelなどで資料作り
- ソフトウェアを委託した会社との進捗会議に参加
主にそんな日々を過ごしています。皮肉を込めて「開発言語はExcelだ」と言われているブロガーもいました。
入社5年目まで社員を「若手」と定義するのであれば、その若手からよく聞く声は「プログラミング未経験で良し悪しの判断ができなくて悩んでいる。」という声をよく聞きます。
ソフトウェアの外注先への的確な指示や、出来上がったものが良いのか悪いのかがわからないのです。
この事態にはさすがに会社側も認識していまして、今年度から私が配属された部署でもその状況は顕著でした。
ちなみに、私たちは、なにもプログラマーになることを目指しているのではなく、目指すのは顧客と近いSIerとしての立ち位置になり、プログラミング基礎知識くらいは理解した上で外注への指示・指摘ができたり、出てきた見積もりの妥当性を判断できるようになる必要があると思っています。しかし、こういうのってプログラミングの経験無しでは対応が難しいですよね。
私はと言うと入社して7年くらいはプログラミングに携わってきましたが、ここ10年近くはコードを書いておらず危機的な状態であることはいうまでもありません。これでも経験があるだけましな方です。
こんな私ですが、今年度配属された部署では新規事業を開発するという役割がありますが、別の私の役割で、「ソフトウェアの丸投げ体質をなんとかする」ことです。(大変です汗)
こういう問題っウチの会社だけではないですよね。
では、こういう会社はどうすればよいか?
いろんな人のブログをみると結論は「プログラミングを学び直すにつきる」に集約されていました。
それだけでいいのかな?
■じゃあどうするか?
問題はわかった。じゃあどうするのか?ですが、私として以下のようなあるべき姿とそれに向けての行動計画で考えています。
SIerとしてのあるべき姿
・実現可否の見極め
顧客要望に対してできるか否かを判断できること。
・開発規模の見極め
外注から出た見積もりの妥当性を判断できること。
・品質の良し悪しの見極め
品質には、設計品質、製造品質、テスト品質の3つがあり、成果物を見て良し悪しを判断できること。
・問題発生時の対応方針の立案
問題が発生した場合に、外注への的確な解析指示と、検討して出てきた原因・対策に対しての見極め、再発防止策の立案、リリースまで日程計画を速やかに行い顧客へ報告できること。
私がこれからやるべき行動計画
①プログラミング復習
過去に経験があるので、一から10まで勉強し直す必要はなく、Javaの概要、開発環境構築、Java基礎文法を最近はYouTubeで無料で学べるので助かりました。あと、コーディング規約も見直しておいた方が良さそうです。
②簡単に動かしてみる
「わかる」と「できる」は違うとはよく言いますが、来週、かなり久しぶりにコード書いて動かしてみようと思います。
③ソフトウェア開発工程のポイントまとめと参考となる過去ドキュメントを整理する
新入社員にはプログラミングを通じてソフトウェア工程の上流から下流までの擬似体験を通じて基礎を学んでもらいたいので、各工程の目的とポイントを整理しておきます。また、仕様書やテスト項目も作ってもらい、バグが出たときに「仕様書が悪かった」とか振り返って学んでけらたらな、と思っています。そのために参考になりそうな過去のドキュメントを整理しておきます。
④寄り添いつつ指導する
あと、教えて、やらせてみる、フォローする、これらを彼らに寄り添いながら進めていければ。
さぁこれから4ヶ月でやりきる必要があります。
新入社員と私たちメンターの戦いが始まります!
つづく笑
では、また!
コメント