最近ある会社で他業種(今回は機械系)エンジニアをソフトウェア・エンジニアに転向させるための教育を行いました。Ruby on Railsの徹底入門コースをベースに非エンジニア向け教育の初心者向けの内容を加えたものです。
じつはEY-Officeでは過去にも転向教育を行った事があります。
過去にEY-Officeで行った転向教育
ある広告系ネットベンチャー企業で営業部門等の方をソフトウェア開発者に転向する教育を行いまいました。一般的にいって営業部門等の方を開発者にするのは難しいことですが、この会社は優秀な人しか採用しない会社なので上手く行きました。学習能力が高く、意識が高い人は何を学んでもそれなりのレベルになるという当たり前の事が証明されました。
以前書いたキャリアチェンジ研修の重要性はSIerで働いてたソフトウェア・エンジニアの方をスタートアップ企業向きのソフトウェア・エンジニアに転向する教育を行いました。同じソフトウェア開発業界でもSIerとスタートアップ企業では仕事の仕方や文化に違いがあります。
また、非エンジニア向けの Ruby 研修を行いましたは転向を目指してはいないのですが、結果として受講者の方がソフトウェア・エンジニアに転向した方も誕生しました。
他業種(今回は機械系)エンジニア
さて今回の受講者は、具体的には書けませんが広い意味で機械系のエンジニアの方です。中には設計等でプログラミングをされていた方もいますが、ほとんどの方が大学の事業でCやJavaを習ったけど、仕事ではプログラミングの触れる事はなく大学でならった内容は忘れたそうです。😅
今回の教育で感じたエンジニアの方は、いわゆる理系的な思考ができています。
- 数学や物理などの原理の上に自分たちが扱っている技術が積み上がっている事を実感している
- 基本的には論理で成り立っているが、蓄積されたノウハウも重要だと知っている
- 慎重に良く考えてから行動する
工学部出身の私としては、安心して教えられる人たちです。ただし、プログラミングの特殊さは設計・製造のすべてを基本的には1人で行う事かもしれません。コーディングのちょっとした間違いが解決できず、指導の結果で前回同様のミスと気付く絶望感を経験して頂きました。
今回のEY-Officeの教育
今回の教育では以下の点に注力しました
- プログラミングとは何なのか
- プログラミング言語を学ぶ(Ruby)
- 良いコードの書き方
- デバッグ方法
- オブジェクト指向の考え方
- 現在のWebアプリケーションに必要な基本技術を知る
- HTML(CSS)の基本
- RDBの基本
- HTTPプロトコル
- Gitの簡単な操作
- Webフレームワークの理解(Ruby on Rails)
- テスト駆動開発の基本
- Webアプリの脆弱性を知る
Webアプリの脆弱性以外は講義だけではなく、実習を何度も繰り返しながら理解を深めてもらいます。
まとめ
今回、強く感じた事はソフトウェア以外のエンジニアは慎重に良く考えてから行動する方が多かった事です。ソフトウェアは間違ってもPCが壊れたりしませんが、他のエンジニアリングの世界では失敗すると壊れたり、爆発したりするからことがあるからです。
誰もが考えてばかりいるので、ソフトウェアは間違っても壊れたりしないので、考えたら手を動かして試すことを進言しました。
現在のソフトウェアはOS、プログラミング言語、ミドルウエア、フレームワークなど多数の要素の上になりたっています。基本原理の上に技術を少しずつ積み上げて行くのには長い学習時間が必要です。おおむね数年かかると思います、この積み上げを深入りせず、しかし理解できるように教える必要があると感じました。😔