これについてアドバイスするのは難しい。いくつかの考えだけ:
私のテクノロジーに経験がなく、何時間も働く学生または開発者を雇う場合と、2倍の料金で半分の時間で終了するが、他にどのようなリスクを検討する必要があるか、または他にどのようなリスクを考慮すべきかについて、初期費用は同じだと思います心配?
紹介で書いた内容を作成します。
my code quality is very low
I didn't use much OOP
I wanted to hire a developer to make it a bit more better quality and improve some of my implementations
これに答えることは簡単です:
あなたが開発者を雇う場合は経験がない、それは非常に低いあなたができること、コードの品質を向上させます。経験のないプログラマーは助けにならない。
短期的には安くなるかもしれませんが、初心者を雇うには後で支払うことになります!
他にどのようなリスクを考慮または心配する必要がありますか?
コストだけを計算して、あなたとあなたの製品を稼働させるために間違わないでください。さらに重要なのは、メンテナンスのコストです。
直接的な結果として、前の段落で述べたことのうち、テクニカル負債と呼ばれるものを考慮する必要があります。あなたが言ったように:コードベースは良い形ではありません-言うまでもなく、すでに技術的な負債があります。そして、熟練していない労働者を雇うことで、あなたは借金を増やしています。おそらく今から数年後には、保守不可能なコードベースになってしまい、a)最初からやり直し、b)最終的に顧客を失うことになります。これは、どちらの場合も同じです。つまり、お金の損失です。
また、ジェネラリストを雇った場合、彼らが請負業者である場合、彼らがhadoopまたはcudaを学ぶのにかかる時間にお金を払うべきですか(ビジネス的に意味があるようですが、再びスキル)。
明らかに:はい!これをしない理由は何もない。彼らは知識を必要とし、あなたはそれを得る必要があります。
彼らが優れた開発者である場合、彼らは簡単に新しい(または少なくとも新しい)テクノロジを簡単に理解できるはずです。可能性は高く、仕事を真剣に受け止める場合、レーダーにテクノロジーが搭載されています。つまり、実際にはテクノロジーで生産的なことは何も行っていませんが、その使用方法と時期はわかっています。
私は自分にはHadoopの知識がなく、認めなければなりませんが、それが適切な解決策であり、理論上どのように機能するかについて公正に理解できる場合があることはわかっています。ですから、私が生産的になるのに時間がかからないはずです。
私は2人の開発者に会い、彼らに私のソフトウェア仕様を読んでもらいました。問題は、彼らのビジネスのドメイン知識(完全に理解可能で、大したことはありません)が欠けていることですが、Hadoop、Hbase、 Cudaなど。マップ/リデュース、bigtables、および使用したその他のテクノロジーの説明に多くの時間を費やしました。
あなたが最もよく知っているので、あなたのビジネスを説明することはあなたにとって最も簡単な部分であるべきです。あなたは誰もがあなたと同じくらいあなたのビジネスを知っていると期待することはできません。
テクノロジーについても同様です。
膨大な数のフレームワーク、言語、ツールキットが存在します-それらをすべて知っている開発者を見つけることはほとんどありません。
もちろん言うことができます:$ Technology_du_jourはメディアで宣伝されているので、すべての開発者が実用的な知識を持っていることを期待しています。しかし、それは現実ではありません。
開発者としての私の仕事はトレードオフです:私はいくつかの言語といくつかの技術の実用的な知識を持っています。これにより、多くの点で柔軟性が生まれます。必要に応じて、現在のツールの詳細な理解を深めることができますが、季節が進むにつれて、ツールと言語は発展します。
tl; dr;
1)可能であれば、ドメインと目的のテクノロジーの専門家を雇う
2)できない場合は、
一部とジェネラリストのための2A)ルックプロジェクトの専門知識やプロジェクトで使用されている技術の知識を持っていない可能性があり、
3)本当に、本当に誰もいない場合:学生を雇う。
あなたは技術的な負債を持っています、それを増やさないでください!