私は30そこそこのしがない管理職でして、コードは最近書かない元プログラマーなんですが、管理職というものになって苦労することも沢山あるのですが、その中で最近一番苦労させられてるのが、一部のスマホアプリのエンジニア。
一般化するのもあまり好きじゃないのですが、偶然なのか、似た状況が立て続けに続いたので、傾向として捉えると共感してもらえる人も中にはいるのではないかと思ったり。
前置きが長くなりましたが、iPhoneやAndroidのアプリを作るエンジニアに最近多いなと感じるのが、ライブラリや他人のソースコードを組み合わせるだけの人。どうして動いてるのかも理解できず、ドキュメント読みながら実装したら動いて、それで満足してる人。
そのやり方で締切までに仕上げてくるなら問題はないんですが、仕上げてこない。いや、正確には、期日までには提出してくるがバグだらけ、といった表現が正しい。作った本人も、自分のソースコードを理解してないんだから、この辺り怪しいから重点的に動かしてみるか、といった危機感知も弱い。で、開発メンバーで動かす時にバグが大量に出て、みんなでバグ潰し。メンバーの時間がデバッグに費やされ、毎回、その人がいるプロジェクトは夜遅くまで開発することになる。
どこぞのベンチャー企業でバリバリコード書いてました!と言うもんだから任せてはみたものの、よくこれでコード書かせてもらえてたな、と思うぐらいの酷いコード。ベンチャーなのでスピード命なのでしょうが、どれだけ早く作っても、デバッグで時間が取られるようではダメ。クラス設計の知識はほぼゼロ。見よう見まねでコードを書いているだけなのでしょう。それはそれでいいことだとも思いますが、理解がついてきていない様子。
本人が勉強を怠けてるというのもあると思いますが、最近気付いたところとして、巷に溢れているスマホアプリの作り方を解説している本。私はあれが悪さをしているのではないかと思っています。さすがに年取ってるだけで管理職するのも辛いので、スマホアプリを趣味の範囲で作ってみたりしているわけですが、スマホアプリ関係の本は、だいたいが、そのOSの持っている機能の解説に寄っている。そして、そこに書かれていることを複写すればだいたい動く。OSの持ってる機能や、誰かが作ったライブラリをどのようにクラスに落とし込むか。そういったことを全く意識せずに実装に進むと、メモリは大量に食うわ、似たコードがいくつもあるわで、バグの温床としては最高ですね。
自分でいうのもあれですが、私のように、ある程度の現場で開発をしてきた人間であれば問題ないですが、初心者がいきなり、このような本を読み始めるのはよろしくない。ろくに勉強もせずスマホアプリの開発に入ると、結果として、既に存在するものを組み合わせるだけのスキルしか身に付かない。それでもだいたい動いてしまうし、ハイレベルなもの (OSやライブラリがすごいのであって本人はすごくない) ができてしまい、彼はすごい人だ、といった誤認が生まれてしまう。大きい会社とかであれば、ペアプロや長時間のコードレビューがあったりするので、変に知識が偏ってる人はそこで再教育されるのでしょうが、ベンチャーにいってしまうと、そういったチャンスもなく、気付けば中堅レベルの年齢になりつつも、残念なコードしか書けない人になるのでしょう。
iPhoneアプリで学ぶクラス設計、なんて本があってもいいのではないかと思う今日この頃。OSの機能を知る前に学ぶべき、とても大事なものだと私は思います。後、そういう人達をなんとかするのが、私の仕事の1つなのかなとも思います。
という、無能な管理職のぼやき(部下にはあいつ何もわかってないのに、と思われがちな典型)
増田も大して深い理解を持っているわけでもなさそうだ。 この増田みたいに、それほど大したことないのに自信満々に他人を批判できる人というのがどうしても理解できない。 その、俺...
違うよ。あんたのレベルが低いから同じレベルの人間とかしか仕事する機会が無いだけのことだよ。 周回遅れの「日本語の本」で勉強するという前提なのが終わってるなあ。自分の会社...
Fラン大学の講師が「最近の学生はレベルが低くて・・・」と言ったら 「いや、お前の大学のレベルが低くて誰も受験しないだけだから」って突っ込みが入ると思う。 講師の側もそんな...