プログラマーは、言語とフレームワークをどの程度自由に選択できますか?


67

私は主にC#指向の会社で働き始めました。JavaとJRubyが好きな人は数人いますが、ここではC#が好きなプログラマーの大部分です。私が雇われたのは、Webアプリケーションの構築に多くの経験を持ち、JRuby on Railsやnodejsのような新しいテクノロジーに傾倒したためです。

私は最近、短時間で多くのことを成し遂げることに重点を置いて、Webアプリケーションを構築するプロジェクトに着手しました。ソフトウェアリーダーは、レールの代わりにmvc4を使用するよう指示しています。私はmvc4を知らない、C#を知らない、そしてWebアプリケーションサーバーとフロントエンドUIを作成する責任があるのは私だけである以外は、それは大丈夫かもしれません。

mvc4を使用する代わりに、私がすでに非常によく知っているフレームワーク(Rails)を使用することは意味がありませんか?この決定の背後にある理由は、技術リーダーがJruby / railsを知らず、コードを再利用する方法がないことでした。

カウンター引数:

  • 彼はコードに貢献することはなく、率直に言って、
    このプロジェクトには必要ありません。そのため、彼がJRuby / railsを知っているかどうかは重要ではありません。

  • JRubyがコードをプルしたり、その逆を行うことができる多くのJavaアプリがあるため、実際にコードを再利用できます。実際、彼はJavaライブラリをJRuby on Railsアプリで実行するだけでなく、JavaライブラリをC#に変換するためのリソースをいくつか用意しています。彼はJavaやJRubyが好きではないからです

多くのWebアプリケーションを作成しましたが、なじみのないものを使用するとスピンアップが発生し、今までのように短時間で素晴らしいアプリケーションを作成することができません。これは問題ありません。この分野では新しい技術を学ぶことが重要です。問題は、このプロジェクトでは、多くのことを迅速に行う必要があるということです。

開発者はどの時点でツールを選択できますか?これは会社に依存していますか?私の会社は嫌ですか、これは正常と考えられていますか?環境に優しい牧草地はありますか?私はこれを間違った方法で見ていますか?


45
このような「注文を無視する」ことは、キャリアを制限する動きかもしれません。
ダンピチェルマン


39
企業は、アプリの購入の観点からだけでなく、企業のリソース管理のコストも削減するため、ツールを標準化することを好みます。ライセンス管理は実際には非常に時間がかかります。さらに、誰もが自分の選択した言語/ツールを使用した場合、仕事間で人をシャッフルできることははるかに困難になります。最後に、swリードに関する苦情は、選択したツールを使用する理由と同じです。mvc4に慣れていない、または気に入らない。swリードはリードなので、彼らの考えを変えることができる議論を提示できない限り、それは彼らの呼び出しです。
ダンク

22
これはすべて、面接中に対処されているはずです。
user16764

30
あなたはプログラマRubyのプログラマー?言語はツールのようなものでなければなりません。いくつかの長所または短所がありますが、それらを最大限に活用するのは職人次第です。同社は、明白な理由で標準ツールセットを決定しました。

回答:


98

チームリーダーと話して、次のようなことを言う必要があると思います。

皆さんが.NETショップであることは知っていますが、実際 にはJava / JRubyRailsのスキルのため雇われました。この新しいアプリケーションは、すでに知っているツールを使用してX時間で作成できます。私はあなたが望むようにC#/ mvc4を学ぶことができましたが、それは>> Xの量の時間がかかります。なんでしょう?

これは、「スキルをあなたが(必要に応じて)雇った」対「スキルを今すぐ必要とする」という問題を提起し、新しいスキルを学ぼうとしているが、それかかること示していますこのツールセットを初めて使用する場合、新しいアプリケーションの開発に時間がかかります。そして、あなたあなたが新しいスキルを学ぼうとしていることを示したいのです。新しいスキルを学ぶことに開放的でないことは、スキルが不要になったときにあなたの雇用が終了することを保証する良い方法です。

最後の質問について:

開発者はどの時点でツールを選択できますか?これは会社に依存していますか?私の会社は嫌ですか、これは正常と考えられていますか?環境に優しい牧草地はありますか?私はこれを間違った方法で見ていますか?

通常、会社によって異なります。企業がMSツールを購入し、VisualStudioプラットフォームと.NETフレームワークですべてを標準化する場合、ある開発者がLinuxとCの使用を強く主張すると非常に厄介になる可能性があります。それは正常です。出力が同じである限り、開発者がViとEmacsを選択できるようにするなど、会社がエディターにあまりこだわりがない場合は例外が存在する場合があります。一部の企業は開発者にWindowsとLinuxを選択させることさえありますが、彼らが働く言語は両方のOSに対して非常に優れたサポートとランタイムを持っています。

なぜ企業はこれを行うのですか?一貫性が理由の1つです。アプリケーションが、さまざまな開発者の好みの言語/フレームワークで構築され、異なるツールで構築され、非常に異なるシステムでテストされたバイナリのパッチワークである場合、物事をデバッグするのは非常に困難です。すべての開発者がほぼ同様の設定で作業している場合、これらの種類の問題は解決されます。

あなたの場合、あなたはこの会社で非標準の技術で働くために雇われたように聞こえます。これは私には奇妙に思えるので、あなたは彼らがそれを望んだ理由についてあなたを雇った人に話したいかもしれません。


31
「私はすでに知っているツールを使用して、この新しいアプリケーションをX時間で構築できます。必要に応じてC#/ mvc4を学ぶことができますが、X X時間かかります。何が必要ですか?」-すばらしい答え。コストのトレードオフの形でそれを組み立てます。
クリスチャンテルヌス

同意した。それはすべて経済学についてです。経済的な視点を自分の視点に当てると、本物のリードがあなたの声を聞いて、彼らのスタンスを再考します。トレードオフを明確にします。例:時間の経過は、物事が後から来ることを意味し、納期に間に合わない可能性があることを意味します。時には、彼らは本質的に「トレードオフ」の目標への道を示す必要があります。
PhD

6
+1。この答えが私を満足させない唯一の方法は、学習の側面をわずかに強調しないことです。学びたいと思っている開発者は、一つのことについてすべてを知っていて、変わらないものよりはるかに貴重な資産です。
コーリー

7
+1また、(暗黙の)ポイントを強調します。もしリードがMVCを使用することを選択した場合、OPはMVCでプロジェクトを実行する必要があります。
ダンライオンズ

「一部の企業は開発者にWindowsとLinuxの選択を許可しています」-また、Rubyの世界ではMacユーザーもよく見かけます。(私の会社は主にRubyショップですが、エディターやOSに制限はありません。現在、LinuxとMacを使用している開発者がいますが、現在Windowsマシンを使用している開発者はいません)。
ベン・リー

140

開発者はどの時点でツールを選択できますか?

チームに影響を与えない場合。

私はこれを間違った方法で見ていますか?

絶対に。

はい、あなたは短い期限があります。はい、Railsでより速く処理できます。ただし、会社全体としては、アプリケーションを展開および保守する必要があります。安定した優れたC#開発者がいる場合は、C#アプリを維持するほうがおそらく安価です(そして品質が向上します)。

DBAや他の管理スタッフは、おそらくそのスタックに精通しており、そのスタックを展開および更新するためのプロセスを備えてます。コードの処理速度を上げることができたとしても、プロのWebアプリを起動して実行するために必要なオーバーヘッドをすべて考慮に入れると、時間がかかる場合があります。

アプリを作成するよりも、アプリのメンテナンスに多くの時間を費やすことになります。そのコストに合わせて最適化します。


19
素晴らしい答え。この場合の「最良」とは、初期開発、特に初期プログラマー向けの最速の最適化を意味しない場合があります。ビジネスの観点からは、アプリはメンテナンスモードでより多くの時間を費やし、チーム全体でサポートされる可能性が高いため、フレームワークの決定を下す必要があります。
エリックキング

4
これは一般的に健全なアドバイスだと思います。私の特定のケースでは、多くの懸念が当てはまらないため、答えとして選択しませんでした。デプロイのセットアップとアプリケーションのデプロイを担当します。私は間違いなく保守部分に同意します、それは有効な懸念です。誰かがコードを更新する必要があるとき、私が数年後にどこにいるのか誰が知っていますか。
スペンサー

2
実際には、JRuby / Railsスキルのために実際に雇用されたわけではありませんが、Webアプリの構築経験に雇われたので、実際に求めているのはMVC4およびC#のコンテキストでそれを利用することです。
ジェイスティーブンス

あなたが良い点を挙げている間、そのスタックで経験がなく、おそらくそれに興味がないと思われる人にそれをさせることは、まだ意味をなしません。C#の1人に任せてみませんか?彼らがやろうとしているのは、この男に自分のプロジェクトの所有権がないように感じさせ、彼を燃え尽きさせて、彼が会社を辞めるようにすることです。
s73v3r

@ s73v3r-OPが彼が何をしているのかを知っていることを望みます。正直なところ、C#開発者(およびコードベース)が大量にある場合は、インタビュー中にRailsの担当者にそれが明らかになるはずです。彼は仕事を取った後、実際に彼は...のために雇われたものをやってでbalks場合
Telastyn

41
  1. 「新しい」テクノロジーに適応する能力のために、あなたは明らかに雇われました。その点では、C#も同じです。何か新しいことを学ぶ機会を取りたくないのですか?

  2. ASP.NET MVCは、多くの点でRuby on Railsに非常に似ています。

  3. あなたは永遠にカタツムリのペースにいることはありません。RORを既にご存知の場合は、ASP.NET MVCが簡単です。秘TheはC#を学ぶことです。


18
+1、単一の言語/フレームワークに縛られるのはばかげています。新しいことを学ぶことで報酬を得るチャンスをつかんでください。.NETには、活発で興味深い開発が数多く行われています。
jozefg

私はそれらが似ていることに同意しますが、かなりの時間を要する大きな違いがあります。プロジェクトの時間が限られていることを考えると、レールは明確な選択だと思います。私は質問で述べたように新しいことを学ぶことに反対していません。
スペンサー

アイテム#1は明らかではありません-OPは、彼らがJava / JRuyb / Rails / nodejsの経験のために雇われたと言います。またはnodejs。OPは、彼らの適応性について、または彼らが採用された理由が彼らの適応性であるとは言いません。
FrustratedWithFormsDesigner

2
+1、同意しました。「言語L1でAを実行する方法を完全に知っていますが、言語L2で完全に実行できません」というジャンルの議論を理解したことはありません。
シヴァンドラゴン

2
@Spencer:あなたが私たちに助言を求め、すべての人があなたに同じ助言を与えるとき、おそらくあなたはその助言を受け入れるべきです。あなたが認めるとき、答えに反論する意味はありませんが、正しい答えが何であるかわからないという質問をします。
アンドリュークーンス

21

Java / JRubyにとどまるための引数

上司はあなたにプロデュースを望んでいます。彼らはあなたを雇い入れ、あなたが会社に価値を加えられるようにした。慣れていないフレームワークを使用するように強制することで、次のこと引き起こすことを彼らに理解させます。

  1. 遅いレートで結果を生成する
  2. 低品質のコードを作成する

最高のプログラマーでさえ、新しい言語/フレームワークでウォームアップする時間が必要です。

MVC4およびC#を学習するための引数

新しい言語を学ぶのは良いことです。プログラマーとしてあなたのスキルに投資することは、学習している言語/プラットフォームが近い将来に消滅する場合にのみリスクであり、Microsoftが動き回っていると、それが問題だとは思いません。C#とMVCはどちらも最近の更新で改善されており、パイプラインでさらに多くの更新が行われています。

あなたを個人的に、より丸みのある開発者にすることは、あなたが二度とこの状況に置かれるのを防ぎます。一番良いところ?あなたの上司はこれらのことを学ぶためにあなたにお金を払うでしょう。つまり、あなたは自分がもっとお金を稼ぐためにお金を稼ぐことを意味します。

ボトムライン

あなたはこの戦いに勝つことになるかもしれませんが、不満を抱いている同僚と仕事をすることになります。それぞれの長所と短所をマネージャーに説明するだけで、もう一方の端がより幸せになります。


11
+1、「より多くのお金を稼ぐためにお金を稼ぐことを意味する」ビンゴ!
グランドマスター

これ(およびいくつかの答え)が指摘するように、あなたの時間の最初の作成と他の全員による展開/保守の間にはトレードオフがあります。Pointy-Hairsがその取引を行う意思があるかどうかを確認するために、まともな(しかし敬意を払って)努力をします。
-brichins

@brichins:この答えの大きな問題の1つは、実際にあなたが言ったことを指摘していないことだと思います!
-ruakh

@ruakhこのコメントを残すための答えを見つけるのに苦労していました-あなたは正しい、これはその特定のトレードオフに対処していません(結果として生じる職場の緊張を指摘していますが)。私はおそらく、プロジェクトが期限に間に合わなかった場合、彼が丁寧に伝えることができるように、OPは彼がすべての意思決定者と話し合うことを確実にするべきだと言ったはずですおそらく次のプロジェクトでは、代わりにRubyを試すことができますか?」
-brichins

18

開発者はどの時点でツールを選択できますか?

上記の開発者がソフトウェアリードである場合。

確かに、生産性が懸念される場合は別のツールキットを使用することを主張できます(また、そうすべきです)が、気に入らない答えに備えてください。現在のアーキテクチャとの互換性、メンテナンスに関する懸念、ライセンスの問題など、リードが特定のツールキットを使用することを望んでいるのは、正当な理由があるかもしれません。

ところで、フレーズ

短時間で多くのことを行うことに重点を置いて

ソフトウェア業界では、他の何よりも胸焼けと騒乱の原因となっています。


2
+1「開発者がソフトウェアのリーダーであると言われたとき」まさに。時々、あなたが自分の主張を主張し、あなたのリードがあなたに同意しないとき、それはあなたのリードが全体像をよりよく見ているからです。これはそのような状況の1つです。
アンドリュークーンス

同意しない。そうすれば、あなたは部下を他の何にも導くことができず、フォロワーは意思決定の仕方を忘れ、彼らに対して責任を負うことになります。あなたがそれを望むなら-罰金。チームリーダーとして、あなたよりも人々が賢い場所があると思います。しかし、はい、一部の人々はそれで問題を抱えており、それは悲劇的です。
JensG

「ソフトウェア業界では、他の何よりも胸焼けや騒乱の原因となっている」に対するあなたの反応を真剣に笑いました。ありがとうございます!それをもっと言い表すことができなかったでしょう!
アレクサス

11

JRubyやJavaプログラマーとして雇われたとは言わないことに注意してください。

あなたが採用されたと言った理由は次のとおりです。「[B] Webアプリケーションの構築経験が豊富で、JRuby on Railsやnodejsのような新しいテクノロジーに傾注しているからです。」

言い換えれば、彼らはあなたのウェブ体験とあなたが新しいテクノロジーを学ぶ意欲を好むということです。

今、彼らはあなたのウェブ体験を利用し、新しい技術学ぶようあなたに求めています

質問は、あなたはそれをするつもりですか、そうしないのですか?


9

ソフトウェアの最大の費用はそれを維持することです

最大の費用(80%)はソフトウェアのメンテナンスにあると読みました。初期開発は、開発の総コストのわずか20%です。

私は自分の母国語(英語ではない)でコードとコメントを開発した開発者に関するケースを読みました。他のチームメンバーがコードを強化および保守するために行ったとき、言語(プログラミング言語ではない)が外国語であったため、それはほとんど不可能でした彼らへ。

同様に、自分で選択したプログラミング言語でコードを開発する場合、他のチームメンバーが維持することは困難です。

解決策:ペアプログラミング

必要なプログラミング言語を知っている他の誰かとあなたをペアにするよう雇用主に依頼することを検討してください。あなたは一緒に働くことができます。お互いから学ぶことができ、どちらかが会社を辞めた場合、もう一方はコードを知っているでしょう。

「ペアプログラミング」に関するウィキペディアの記事:http : //en.wikipedia.org/wiki/Pair_programming


3
自分だけが理解できるものを書くと、永久にそれを維持することにこだわるでしょう。
jwernerny

6

多くの企業は、常に行ってきたことや「安全」なことに固執することを好みます。JavaとPHPがまだ非常に人気があるのには理由があります。現時点では、indeed.comで「COBOL」を検索すると、2144個のリストが返されます。業界は良いコードを気にせず、可能な限り搾り出すことができるコードを気にします(これはC#が悪いことを意味するのではなく、実際にはそうではありません)。

これについて考えてみてください:コードはあなたより長持ちするでしょう。他の誰かがあなたのコードを保守する可能性が高く、C#はNode.jsやRailsよりも安全な賭けです。5年か6年でRubyプログラマーの数が半分になったとしても、Perlや、ある時点で「it」ウェブ言語と見なされていた他の言語に同じことが起こったとしても驚かないでしょう。Javascriptはなくなる可能性は低いですが、Webの一種のASM(またはC)として使用されるようになり始めています。時代遅れになります。


4
これは事実ですが、C#ショップでの採用慣行は、C#を知らないRuby開発者を雇うことはかなり貧弱です。
Carson63000

5

開発者が自分の目標を実装する方法を選択する際の私の主な懸念は、通常、コードを編集するのは自分たちだけだと想定していることです。このように見てください。12か月後に変更が必要になる場合があります。利用できない(会社を辞めるか、別のタスクで忙しい)ため、別の開発者がコードを解約する必要があります。C#ショップの場合、ツールセットを使用するのは良いチームワークです。新しいテクノロジーは調査して実装する必要がありますが、リードが1つだけではなく多くの目標に目を向けているため、リードが適切だと考えた場合に限ります。


3

好転させてください。あなたがRuby開発者を雇っていて、彼らがAsp.net/MVCで彼らの仕事を実装することを主張していると想像してください。

彼らに何と言いますか?これが私たちのスタックです。それと一緒に暮らすことを学ぶ。

黄金のルールは、ここでは、金を持っている彼女がルールを作ります。


1
しかし、なぜ.NETをRubyの役割に使用すると主張する人を雇うのですか?
ボブソン

3
@Bobson彼らは異なる技術の数の問題に取り組むことができるように見える明るい若いプログラマだから、満足に一般的なプログラミングの問題を解決し、そして、彼らは仕事のために適用されます。

2
@Bobson:それで、あなたは会社が選択した言語での経験がない開発者を雇うべきではないと主張しています。他の誰もが別の方向性を主張しているようです。彼らは新しい言語を本当に素早く学ぶことができると主張しているので、特定の言語の専門家ではないという理由だけで会社は良い開発者を引き継ぐべきではありません....
ダンク

2
私は、Webアプリケーション構築した経験が豊富で、JRuby on Railsやnodejsのような新しいテクノロジーに傾倒したために採用されました。」-これはXYZ開発者として雇われたのではなく、「新しい技術の経験を持つWeb開発者として雇われた」(会社が将来物事を更新することに興味を持つかもしれない)。

3
@Bobson:私が新しい会社に雇われたとき、私はテーブルに何をもたらしているかだけでなく、私がどのプロジェクトに取り組んでいるのか、彼らがそのプロジェクトで何をすることを期待しているのかも知っています。OPがこの情報を見つけることに煩わされなかった場合、彼を恥じます。そうは言っても、mvc4のものを拾うことは小さなハードルであると予想して、関連ドメインの知識を持ち、チームを支援する優れた開発者であると信じている人を雇う会社の事例だと思います。おそらく会社はそれをうまく説明しなかったかもしれませんが、OPも彼の役割を果たしませんでした。
ダンク

2

多くの矛盾する目標があり、問題は最良の妥協案を見つけることです。期限があり、特定のツールセットを要求するチームリーダーがおり、開発者はそのツールセットに慣れていないが(明らかに短い)期間内に何かを作成する運命にあります。

チームリーダーは、おそらくこのツールセットを正確に要求するいくつかの正当な理由を持っていることを理解することが重要です(そのうちの1つは、あなたがまだ知らないかもしれない何らかの理由でこのツールセットに慣れるためです)。最初の実行でできる最善のことは、これらの理由が何であるかを正確に知ることです。

あなたの立場に入れて、私はチームリーダーと話をして、あなたの意見にあるように状況を説明しようとします、そしてオプションとどの結果(短期および長期の経済効果を含む)が生成されるかこれらの各オプションに続きます。たとえば、別のより経験豊富な開発者をコーチングに割り当て、おそらくペアプログラミングセッションなどを行うことができます。

チームリーダーが完全なバカでない限り、プロジェクトと会社の全体的な目標に関して意味のあるコンセンサスを見つけることができるはずです。


2

ああ。誰もが間違っています。

それらの1プラットフォームの人々よりも優れた開発者であり、あなたは彼らがこれまで以上に多くの興味深いオプションを持っているでしょう。したがって、今のところ、MVCを学習してください。そして、あなた自身の時間に、あなたが本当に興味を持っているプラ​​ットフォームについてもっと学んでください。Nodeスキルを構築します。Djangoを学んでください。あなたがさらされているJavaまたはプレMVC .NETの前兆に注意を払って逃げますが、少なくともそれらのプラットフォームのかろうじて隠された燃える憎しみの偏見にあなたがどれだけの考えを入れたかを批判し、説明できるほど十分に学んでください。(大丈夫、多分私はそこに投影しています)

そして今、重要なアドバイスのために。他の分野の専門知識も多様化しながら専門分野を磨き続けると、最終的には特定の主要都市で2週間以内に1年中いつでも新しい仕事を見つけることができる場所になります少なくとも半分はおもしろい。この場所で自分自身を見つけたとき、彼らがこれを望んでいるという彼らの仕事に我慢しないでください、そして2日目までに彼らはあなたに長期的な予見可能な猶予の希望なしでそれをさせます。丁寧に説明して謝罪しますが、あなたは本当にそれをやりたくありませんでしたし、あなたのインタビューでそんなに言いました!そして、数週間が過ぎて、彼らが対応するために必然的に何もしなかったとき、@彼らがあなたの立場を誤って伝え、それを認めることを拒否するという事実。

しかし、私を信じてください。新しいギグを見つけることは、5分以上続く深刻なイライラや不幸になるよりもずっと良いです。しかし、もちろん、最初に会費を支払わなければいけません。一部の人々は決してしません。だからこそ、彼らは自分たちが最もよく知っているものにすべてを求めているのです。そしてもちろん、他の答えは本当に間違っていません。愚かなことを維持する必要がある場合、.NETショップは。

もちろん、意味をなさないのは、Rails / JS / UI開発者で多様化し、MVCアプリのみを実行させる理由です。しかし、今のところ。受け取り、会費を支払う必要があるかもしれません。また、コメントで述べたように、MVCはそれほど悪くはありません。すべてのオプションを考えると本当に悪い選択ですが、最悪ではありません。それは非常に簡単で、実際に起こっているすべての上に10,000層の抽象化を投げかけたり、クライアント側でひねりを加えたりすることはありません。それらを学ぶために。

まだ行っていない場合は、好きなときに離れることができる場所に行きましょう。また、あなたが現在好んでいるものに対して懐疑的な目を持っているかもしれません。私と同じようにレールを嫌うかもしれません。Rubyに何か問題があるわけではありません(もちろんインタープリター以外)。


1

あなたの状況によっては、彼らがあなたを雇った理由を知っていると仮定することは危険かもしれません。さらにあなたのマネージャーがそれを知っており、あなたのスキルを持つ人々を雇うことは良い考えであると仮定することはさらに危険です。

上記のアドバイスを聞いて、C#を介してJRubyを使用する理由をビジネスケースで説明します。おそらく、あなたの議論とタイムラインは、古い方法から脱却することを意味します。私はそれが大丈夫だと思い込んで、マネージャーに伝えたり、事実を導いたり、彼らに決断を任せたりするのではなく、彼らが大金を支払われているのに加えて、少しのCYAもあります。


1

私の正直な意見では、優れた開発者を優れた開発者と区別するものの1つは、新しい技術に適応する能力です。私たちは、今日のトップテクノロジーが明日廃止されるペースの速い世界に住んでいます。したがって、適応することを望まない開発者は、会社にとって限られた用途しかありません。良い人を見つけて雇うことは本当に難しいので、会社が自分の宝石を見つけたとき、彼らは長期的に計画しているという事実が少しでもないにしても、これは問題ありません。

企業がテクノロジーの範囲を超えて採用しているのを見てきましたが、まったく同じ理由でそれを行っています。たとえ彼らが新しい技術に適応するのを待つことを意味するとしても、彼らは優れた開発者に手を差し伸べることを望んでいます。

今あなたの状況に。グループの新しい人として、私は自分の言うことについて非常に注意し、上司には言わないでください。確かに、あなたはまだあなたの新しい環境に適応している過程にあるという仮定に基づいて多くのことを免れるでしょう。ただし、優先テクノロジーに対する権威と頑固な忍耐力を損なうことは、上司があなたを雇った間違いであり、あなたが快適ゾーンを離れることを望んでいないと思わせるだけです。

あなたが選ぶのはあなた次第ですが、私はあなたが新しい技術を学ぼうとすることをお勧めします。痛くない、と約束します。


1

インタビューの際、C#の知識の欠如について前もって正直だったと仮定します。そうでない場合は、法律上の観点から非常に不安定な立場にいる可能性があるからです。

優れたプログラマーはプログラミングを知っています。すべての言語とフレームワークに精通している人はいませんが、ほとんどの言語とフレームワークにはかなりの共通性があります。最近の主流を構成する言語(たとえば、Lisp)とは大きく異なる言語で作業するように求められていない限り、優れたプログラマーは適応できるはずです。

当然、学習曲線があります。雇用主があなたを雇った場合、彼らはあなたの能力に合理的な時間内にその曲線をたどることに自信がなければなりません(再び、あなたがC#を知らないことに関して正直であったと仮定します)。C#言語はJavaから大きく借用されており、より一般的には、ほとんどのクラスベースのプログラミング言語は基本的に非常によく似ています(ECMAScript(プロトタイプベースの言語上に構築されるnode.jsについて言及したので、明らかに他のプログラミングパラダイムに慣れている。

優れたプログラマーは、柔軟であることに加えて、新しいことを学ぶことに熱心であるべきです。ソフトウェア開発では、一般的に学習するか、無関係になります。

もちろん、雇用主は、C#を知らないと知っていれば、途中で会う必要があります。あなたが学ぶ意欲を示したら、彼らはあなたにそうするための時間とリソースを与えなければなりません。奥深くにあなたを投げ込むことは不公平であり、不必要にストレスを感じます。座って上司と落ち着いて合理的な議論をする必要があります。彼らがC#でそれを望むなら、彼らはあなたがそれに取り組んでいる間あなたが学習曲線にいることを受け入れる準備をしなければなりません、そして彼らがあなたに厳しい締め切りを課すことは不公平でしょう。期限が柔軟でなく、戦略的重要性が高い場合、その期限内に仕事を完了するためのある程度の自由度を許可する準備をする必要があります。彼らがオフィスでより一般的に使用されている言語でそれを必要とするなら、あなたはおそらくあなたが何であるかで今それを実装することを要求することができます 締め切りに間に合うように再習得し、次のプロジェクトで学習演習としてC#で再実装し、外部の要件を満たしたらソフトウェアを内部の要件に準拠させるようにします。先ほど言ったように、今日一般的に使用されているほとんどの言語には多くの共通点があるため、実装の詳細がほとんどです。

遅かれ早かれ、C#ショップで働いていることを受け入れる準備をする必要があります。したがって、C#をベルトの下に置く必要があります。


0

おそらく、誰もが.NET環境でMVCを使用している方法に満足していないでしょう。Webフォームのように扱うのが多すぎる可能性があります。これは、手続きのバックグラウンドを持つ人がOOPで始まり、すべてを1つの大きなクラスに入れて、通常どおりにビジネスを続ける場合でも変わりません。

この最初のプロジェクトは理想的ではありません。なぜなら、彼らはこれを非常に早くしたいからです。可能な限り.NETの速度を上げ、できるだけ早く機能を開始します。あなたは物事のやり方が好きではないでしょう。ただ、あなたはこのようなものをリファクタリングし、あなたのスキルを別の言語で適用し始めることを覚えておいてください。

より多くのRubyスタイルでMVC4を使用する方法(他のすべてのユーザーが適切に実行していないと仮定)が、Webformsのメンタリティから全員を引き離し、うまくいかないことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.