アプリ版:「スタンプのみでお礼する」機能のリリースについて

某IT企業で購買部門に勤務しています。

とあるプロジェクトの立ち上げで外部からエンジニア調達するのですが、Javaエンジニアのオーダーに対し、C#ができる人の提案がありました。言語仕様が似てるとか、MS版のJavaだとかは方々から聞くので、検討の余地はありそうに思えますが「似て非なるもの」なんじゃないか?という疑念も同じくらいあります。

機会損失にならないようにという建前で、切り分けせずに開発部門に丸投げしてもいいのですが、無駄な時間を使ってほしくない気持ちもあり、もう少し自分なりの判断根拠を持っておきたいと考え、タイトルのような質問させていただきました。

また、優秀だと言われている人でも全くの畑違いの所からくると、要求する開発言語を扱えるのにプロジェクトのお荷物になることもしばしばあるので、いろいろ難しいなと思う今日この頃です。
マッチング精度を上げるために、優秀なエンジニアに共通する能力、スキルを見抜くコツみたいなものがあれば、アドバイス頂けるとありがたいです。
※やる気とか相性みたいな、人によって解釈が変わる理由は除く

他、ちなみに私は技術出身ではないので、内容がマニアックになりすぎるととついていけない(かも)です。宜しくお願いします。

A 回答 (4件)

C#はJavaを参考に作られた言語なのでよく似ています。


C#が分かれば javaを覚えるのは難しくないでしょう。

但し、簡単なのはそこまでです。C#とJavaはその背後に
膨大なライブラリや開発ツールを抱えています。

C#は Windows文化圏で使うものなので、開発環境は基本的に
VisualStudio。

ライブラリは、基本ライブラリのほかに、
デスクトップアプリなら Windows Forms や WPF
Webアプリなら ASP.NET や ASP.NET MVC などでしょう。

Java は 独自のコミュニティ文化の中で育ってきたものなので、
基本ライブラリも全く違いますし、様々な OSS ライブラリが
使われています。

開発環境は主に Eclipse や Netbeans を利用されている方が多く
ライブラリはデスクトップアプリなら Swing や JavaFX、
WebアプリならJavaEE や Struts2、play, Spring MVC と
いったところでしょうか。

言語の違いより、こうした背後のライブラリや開発環境の違いの方が
遥かにでかいのです。しかもJavaのライブラリは日本語の
資料が少ないので、英語がわからん奴だとそれらの習得に
とても時間がかかります。

Javaの開発環境やライブラリに全く触れたことが無いなら、
余程優秀な人でない限り、多分最低2週間は役に立たないですし、
その後も細かい指示が必要でしょう。

少なくとも短納期のプロジェクトでの外注では避けるべきですね。

後は開発チームとそのプロジェクトの事情次第でしょう。
    • good
    • 1

その技術者の為人を知っていて、大丈夫だと判断できるのならいいのですが、そうでないなら、避けた方がいいように思います。




プログラミング言語、というだけあって、英語とか日本語とかの自然言語に似たところもあります。

言葉を発するときって、次のような流れになっていると思います
(1) 言いたい内容をまとめる
(2) (1)を言語で伝える

このとき、(1)と(2)には深い関係があります。
英単語や、英文法を完璧に覚えても、それだけでは自然な英語は使えません。
日本語の単語を英語にそのまま直訳したら、まったく反対の意味になった、ということもあるように、その言語での思想や文化といったものが強く反映されます。
英語の文章を考えるには、「英語の思想、文化」を意識して考えると、自然な英語になりやすいです。

ある言語を覚えると、それと似た言語を覚えるのは、比較的楽になります。
それは、(1)と(2)が近いと、違い注目するだけで済むからです。

ですが、全ての英語のできる人が、そのままドイツ語を使えるようになるわけではなく、本人の努力とか性質とかも関わってきます。


プログラミングでも同様に、次のような流れになります。
(1) 作りたい内容をまとめる
(2) (1)をプログラミング言語で書く

これも同様に、プログラミング言語の持つ背景、思想、文化といったものが関係します。



C#もJavaも「オブジェクト指向」という考えに基いています。
文法も、同じC言語の流れを組んでいるので、よく似ています。
よって「C#ができればJavaも(1から勉強することなく)できる(ように可能性が高い)」と言えます。

とはいえ、本当にできるかどうかは、その技術者次第。
違いを見つけてそれに合わせられる人なら、Javaもすぐに使いこなすようになりますが、
C#の考えから離れられないと、いつまでたってもJavaは使えません。

その人がどちらのタイプかは、書類だけでは判断は難しいです。
    • good
    • 0

例えば、野球チームを補強もしくは新設するとしたら、どの様な選手を集める


でしょうか?
走攻守が一流で、且つどのポジションもできる選手を揃えたり、投手だけ又は
内野手ばかり集めるのは当然論外。
そもそも投手の補強が必要なのに、代打要員を探してきてもしょうがありません。
今必要なのが、どんなスキルを持ったエンジニアかをはっきりさせておかないと
「C#ができる人」の提案が妥当なのかの判断もできません。
#Javaができる人が誰もいないのに「C#ができる人」であれば何とかなるかも
#しれないと思うのは、検討する価値もない暴論。

>スキルを見抜くコツ
とりあえず、外部から調達したエンジニアが即戦力として使えるかどうかは要求
しているスキル(「代打」「代走」「守備要員」等)に対し、どこまでならできる
(又はできない)かをはっきりと回答できるか否かは重視します。
#システムの基幹部分は納品後の保守の関係もあるので、能力の有無に関わらず
#一時的に呼んだ要員には担当させない方が良いと思います。
    • good
    • 0

開発言語には、親子関係というか親戚関係があるので。



親が分かれば子も分かる。蛙の子はカエル、瓜になすびはならぬ。・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!