質問: 少々長いですが、アドバイスいただけましたら幸いです。 <やりたいこと、条件など> ・これは趣味ではなく仕事である。 ・MS-SQLServerにあるデータをブラウザで表示したい。 ・ローカルCSVファイルをアップロードして内容をブラウザに表示し、決められた加工(カラムの順序入れ替えやフォーマット整形など)を施したうえでダウンロードできるようにしたい。 ・webアプリが前提条件。 ・コーダー(私)が全部ひとりでやる。社内SEなので他に頼れる人がいない。 ・私はVB6/VBAとTSQLしか過去の経験がない。VB6時代にASP(VBScript)でwebページを作成したことはある。C#は.Net2.0の時代にアプリを1本作っただけで忘れてしまった。このときはデリゲートが理解できず挫折した。 ・このため使用言語は不問。(たぶん何を選んでも初めてだから) ・納期はあと2ヶ月に迫っている。しかし外注という選択肢はない。 ・諸事情でLinuxのサーバは立てられるがWindowsサーバは立てられない。 ・いろいろ突っ込みどころはあると思うが、以上の条件は変えられない。 <やってみたこと、結果、感想> ・webアプリのフレームワークに興味を持ち、Laravel5をやってみた。 「ララ帳」というサイトの「初めてのLaravel」をやってみたが、内容がさっぱりわからず、途中で挫折した。(動くことは動くが、仕組みが分からないから応用できない。すさまじい隔世感。) ・MVCフレームワークは初めてだが、その思想は共感できる(昔ASPをやって泥沼になった経験があるので)。だから何とかしてモノにしたいと思っている。 ・もう2ヶ月ほどこればかりやっているが、全く理解が進まない。こんな簡単なことさえ出来ない自分に嫌気がさしてきた。と同時に、学習コストが高すぎて、それに見合うリターンが得られないのでは???という疑問を感じ始めた。 ・しかし技術者の端くれとして、ここで腐る訳にはいかないと決意を新たに。今人気のフレームワークだということであれば、それなりに何かしらメリットがあるはずだと自分に言い聞かせている。 <質問したいこと> ・やりたいことはシンプル(のはず)なので、もっと簡単で取っつきやすいフレームワークがあれば教えてください。いずれはlaravelをやりたいと思いますが、納期が迫っている中、このまま継続しても間に合わないと感じています。最悪、フレームワークは一切使わず、PHPをベタで書いて済ます覚悟はあります(PHPも初めてだが、これなら昔のASPと大差なかろう)。なので、他のフレームワークに手を出すくらいなら、ベタでコーディングしたほうがいいよ!という助言もアリです。 ・laravel5の初心者向け教室のようなものを東京で開催していることろがあれば教えてください。有償無償は問いません。いったいみなさんどうやってコレを習得しているのだろうか。ググった結果の記事をいくら読んでも、頭のなかでつながらないのです。脳みそが硬化してるのか... ・補足しますと、bladeやsmartyなどのテンプレート学習は後回しで構いと思っています。今すべてを同時進行させるのは頭が混乱する元になってしまうので。テンプレートを一切使わずとも、フレームワークが理解できるならそれをまず望みます。コードが長くなるのは苦痛ではありません。仕事として取り組む以上、自分が使いこなせるモノを使うことが基本だと思っています。 以上になります。よろしくお願いいたします。
回答: 質問の主旨とは離れた意見ですが、まず残り2か月で完全に新規の開発を進め始めて間に合うかどうか、上司・あるいはその開発案件の責任者に相談すべきかと思います。 その時、社外でもいいので、それなりに経験のあるエンジニアの方に相談し、この条件で間に合うかどうかの見解を聞き、簡単にでいいので間に合わない理由を書面に起こしてもらい、それを見せてください。 社外にでもそういった協力が出来る方がいなければ、かなり下衆な方法ではありますが、実際に発注はしなくとも、外部の開発会社にこの条件で見積もりを取ってみてください。 まともな開発会社であれば、リスクが高すぎると判断すれば見積もりを出さずに降りるはずですし、恐らくそういう状況であると思います。 開発案件には、どう頑張っても無理な事が多々あります。 それに対応するためには、 1.出来るところに頼む(担当の変更、外注など) 2.納期を必要十分に延期する 3.要件を整理し、出来る範囲の実装に限定する このいずれか、或いは複数の対処を行わなければ出来ません。 無理なものは無理です。 「出来ない」と言うのはあなたの評価を下げる要因にはなってしまうでしょう。 が、評価が下がる事よりも、「出来る/やる」と言っておいて「出来ませんでした」となる事による信頼の低下の方が、私はまずい状況だと思います。 そして、確かにフレームワークは便利な道具ではありますし、学習する事によるスキルアップにはつながるでしょうが。 現状を考えると、新たにフレームワークの学習を進めるよりも、自身で理解できている範囲でフルスクラッチコーディング(フレームワークを使わず、開発言語の純粋な機能のみを使ってコーディングを行う)を進める事も検討した方がよいと思います。 その開発案件の重要性がどれほどかはわかりませんが、個人のスキルアップを優先した結果、間に合わなくなるとなるなら、信頼の低下はひどいモノになると思われます。 もっと納期に余裕があり、十分に学習する余裕もあるのであれば、例えばCakePHPあたりは日本語の情報も多く、とっつきやすいのではないかと思います。 過去の資産を考えれば、まずはCakePHP2から始めてみた方が情報は多いかもしれません。 ただ、Laravelを2か月で習得できない状況で、CakePHPなら1週間で学習が完了するかと言われると、難しいと言わざるを得ません。 今まで何度も失敗した開発案件を経験してきたオッサンの感覚としては、今まずすべきことは、その開発案件がちゃんと着地出来るのかを整理して考える事、そしてその結果を上司に相談する事だと感じます。 経験が少ない時に学習コストが大きくなる(時間を要する)事は恥じる事ではなく、当然の事です。 開発の要件を満たせる技術のあるメンバーをそろえられない、それだけの予算が出せない、そのくせ要求だけはムリなモノを出す会社にも責任はありますので、単純にあなた一人の責任とはならないと思います。 出来ないと言うことには大きな勇気を必要としますが、時としてそこからしか始まらない状況と言うのは必ず存在します。 頑張ってください。