こんばんは。10分で生産的なミーティングができるWebサービス「minmeeting」を開発している伊勢川です。
3月に突入し、もうすぐ新人エンジニアの皆さんも二年目の先輩エンジニアになることでしょう。そこで、余計なお世話ですが、二年目エンジニアが陥りがちな症状と予防法を何回かの連載で紹介しています。
近年、オープンソースのライブラリの充実っぷりは目覚ましく、何かやりたいことがある際はライブラリを組み合わせればかなりのことが実現できるようになってきました。本日は、そんな便利な時代にエンジニアになった人たちにたまに見られる症状を紹介します。
オープンソース・ライブラリ依存症
第1回目で取り上げた「Google依存症」とも似ていますが、オープンソースのライブラリに依存しきって、それらのライブラリにできないことは実現できないと思い込んでいる若手エンジニアをよく見かけます。
症例
採用しているオープンソースのライブラリに起因した不具合を発見した際に、ライブラリのせいなので対応できないと諦めてしまう。
既にあるライブラリが採用されている環境で開発をしている際に、そのライブラリでは実現できない要件が発生すると、(普通に自分で実装すれば実現できるのに)それは実現できないと思い込んでしまう。
予防法
あるオープンソースのライブラリが対応していないからといって、それは実現できないことではありません。すぐに諦めるのではなく、ライブラリを使わなかったら普通どうやって実現するのか、その実現コストはどのくらいか、実現した際に既存ライブラリとの住み分けはどうすべきかを検討してください。
ライブラリを使わない方が簡単に実現できることが多々あります。そんな際は余計なライブラリはさっさと捨てて、自分で書き直した方がよいです。
また、ライブラリを使わないと非常にコストがかかる場合も諦める必要はありません。オープンソースなのだから、issueに登録したり直してpull requestを出したりすれば、問題が解決できる可能性はあります。
なお、pull requestを出しても何も反応がないような死んでいるライブラリであれば、さっさとリプレースした方が将来のためでしょう。