厳格な職務要件としてのプログラミング言語の扱いは何ですか?[閉まっている]


22

最近、「ジョブフェア」に行って、候補者がよく知っているプログラミング言語に職場がどれほど重点を置いているかを見て驚いた。

私の(確かに限られた)経験から、プログラミング言語を真に習得するには数年かかるかもしれませんが、それを合理的なレベルまで学ぶことは、すでに他の言語の経験を持っている人にとってはかなり簡単なことであり、雇用主が通常割り当てる時間枠内に間違いなく収まることができます最初の立ち上げ。

雇用主は、現時点で精通している特定のテクノロジーとは対照的に、私が精通している言語/パラダイムの数、またはアルゴリズム/ソフトウェア設計の経験をもっと気にかけていると思います。

Java、C ++、Smalltalk、Prologを既に知っているとしましょう。Objective-Cに依存している職場では、その言語の経験が足りないので、資格がないと本当に見なされるべきでしょうか。これは採用方法の欠陥ですか?もしそうなら、Objective-Cでの経験の不足は問題ではないと職場に納得させるにはどうすればよいですか?上記のプログラミング言語についてではなく、仮想的に質問しています。

あるいは、私の経験は限られており、何かを見逃しているかもしれません。プログラミング言語の以前の経験は、私が思っているよりも重要ですか?それがジュニアまたはシニアのポジションであれば違いはありますか?それは違いを生むべきですか?


2
就職説明会に行ったので、あなたは学生でなければなりません
仕事

@ジョブは正しい、私は大学院生です。私は業界で数年の経験がありますが、私は間違いなくちょうど今私のキャリアを始めています。
オーク

6
私は、これらすべての非難する人事について一般的なポイントを作りたいと思います。私が働いた会社(これはかなりの数)で、人事部は最終的な求人を送ることを除いて、技術スタッフの雇用に関与していません。特に、彼らはCVスクリーニングを行ったことがない。
ニールバターワース

私の場合、私の答えでHRと言ったとき、私は本当に「職務記述書を書いている技術を本当に理解していない人」のような意味でした。それは、メモから職務記述書をタイプすることを委任された秘書かもしれませんし、それが彼が何を望んでいるかを本当に理解していない不幸なマネージャーかもしれません。
ジョッキング

@oakちなみに、「強調」とはどういう意味ですか?仕事の説明に言語が記載されているだけですか、それとも就職説明会で出会った人々がそれについて強引であったということですか?前者だけの場合、あなたは少し敏感すぎると思います。
ジョッキング

回答:


24

プレスリリースに反して、それは現在雇用主の市場です。

それは、彼らが彼らの要件が何であるかについて単純にうるさいことができることを意味します。3.5の経験だけでなく、.NET 4.0の経験も要求できることを意味します... Pylonsなどだけでなく、Djangoの経験を要求できることを意味します。

もちろん、数週間のうちにRubyについて知っておくべきことをすべて学ぶことができます。Railsを使いこなせるようになるには、数か月(推測するだけ)かかります。

しかし、雇用主はすでに Ruby&Railsに習熟している人々の履歴書を選ぶことができます。

TL; DR:Econ 101 ... プログラマーの不足についての誇大広告を信じないでください


3
プログラマーの市場は場所に大きく依存していることを指摘しなければなりません。私が(偶然にも大きな大学の町にいる)私がインタビューした場所はすべて、彼らがすぐに候補者を見つけるのは難しいと言いました。
テセレックス

15
私たちが知っているプログラマー見つけることができない」として翻訳されなければならない- Tesserex すべてで、技術の私達のアルファベットスープのを価格、我々は有料に喜んでいる。
赤の汚れ

21
プログラマーはたくさんいます。(常にそうであったように)今すぐ見つけるのが難しいのは、優れたプログラマーです。
tdammers

10
それどころか、雇用主として、少なくとも有能な個人にとっては、それが従業員の市場であることは間違いありません。優秀なプログラマーの場合、いつものように、需要は需要を大きく上回ります。一方、「数か月」の経験を持つ人はプログラマー(または大工、医者、または他の熟練した職人)であるとは思わないので、あなたの数字はおそらく私のものとは大きく異なります。
ラインヘンリッヒ

2
@Rein-あなたが望むすべてを言うことができますが、単純なeconはそれを耐えません。もしそうなら、トッププログラマーの給与がずっと高くなるでしょう。トップ医師や弁護士が年間50万USDをクリアします...グーグルのシニアソフトウェアエンジニアは$、130,000(glassdoor)の平均給与を持っています。私はあなたが何を考える意味と言って、あなたは平均的なエンジニアの価格のための生産性として、誰かの3倍を見つけることができなかったということでした。
赤い汚れ

14

主な問題は、優秀なプログラマーを雇う方法を誰も実際には知らないということです。第二の問題は、プログラミングの仕事が多くの応募者を引き付けることです。

履歴書が大量にあることを考えると、履歴書をくまなく調べて優秀なプログラマーを選べることは非常に素晴らしいことですが、その方法は誰にもわかりません。ほとんどの企業のやり方では、最初のソートは一般的に人事です。人事担当者は、「C ++ AND Smalltalk-この人はObjective-Cに問題はない」と考えるソフトウェア人とは異なり、要件リストにリストされている場合を除き、SmalltalkまたはC ++について何も知りません。

スタックが採用マネージャーに届いたとしても、全員にインタビューするには厚すぎるため、採用マネージャーは何らかの理由で履歴書を捨てなければなりません。それがC ++の仕事であり、マネージャーがインタビューするのが実用的だと思うよりも5年以上のC ++を持っている人が多い場合、マネージャーはC ++を持たないすべての履歴書を投げるでしょう。それは絶対的な最高の人々を得る方法ではありませんが、絶対的な最高の人々を雇う方法を誰も知りません。また、履歴書の内容によって意思決定が制限されている場合、C ++の経験を持つ人々は少なくともわずかに優れていますベット。


1
素晴らしい答え。些細なこと:優秀なプログラマーを雇う方法を誰も実際に知らないのか、人事部と採用担当者が知らないのか、そしてほとんどの企業が人事主導の採用プロセスを持っているのかどうかはわかりません。しかし、多くの時間を費やさずに優れたプログラマーを雇う方法を誰も実際には知らないことに同意します。
トムアンダーソン

@Tom Anderson:私が聞いた中で最高ののは、悪いプログラマーを雇わないようにするテクニックです。応募者の余剰と、優秀なプログラマーが数人で応募する理由を考えると、これは十分に機能します。たとえば、私が読んだJoelの提案はすべて、そのように機能します。
デビッドソーンリー

4
@Tom Anderson履歴書を見て良いプログラマーと悪いプログラマーを区別する方法を誰も知らず、話をする時間よりも多くの人にインタビューする方法を誰も知りません。HRがそれをリードするか、技術的なリクルーターまたは採用マネージャー自身であるかは関係ありません。
ジェレミー

8

それを好転させましょう-客観的なCを知っていれば、C ++プログラマーとしての用途はありますか?いいえ、そうではありません、言語があまりにも異なっています。Cのような単純な言語の場合でも、C ++で数年間、誰かを雇う前に6か月間の経験を見たいと思います。

数年前、私は自分でPHPを学びました。私はそれが得られるまでに数ヶ月かかり、図書館で自分の道を見つけ、一般的なイディオムなどを理解できたと思います。そして、私はすでに多くの言語を知っいました。


2
一般的に、優良企業は従業員に投資します。ほとんどの業界では、数か月かけて習熟するのが一般的です。残念ながら、この慣習に従うのはわずかなソフトウェア会社だけです。また、(偶然???)、彼らは最高の企業間だと思われる:グーグル、フェイスブック、マイクロソフト、等...
赤の汚れ

3
"" "少なくとも1つのプログラミング言語を十分に理解している必要があります。できればC ++またはJavaである必要があります。Javaによく似ているため、C#でも問題ありません。 。お気に入りのプログラミング言語に関するかなりの詳細を知っていることが期待されます。 "" " steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html
red-dirt

2
経験豊富なプログラマは、約8時間でC ++を学習できます。「効果的なC ++」を読んで理解するだけです。これにより、市場に出回っているC ++プログラマの90%を超えます。STLを理解すると、上位3%になります。
ケビンクライン

3
@kevin Irony?皮肉?何?
ニールバターワース

2
@kevin:何を言っているのかわからないのは明らかです。C ++は、想像もできないほど奇妙な、最も複雑な言語の1つです。誰もが8時間で学習できる方法はありません(1日の仕事!!!)。その間、PHPのような言語を学ぶことさえできません。
トーマスボニーニ

8

コンテキストのさまざまな側面に依存しています。役割のレベルだけでなく、プロジェクトと会社の状態も含まれます。

最も単純なレベルでは、中括弧の命令型言語は他の言語とほとんど同じです。

命令型でコーディングできる場合は、命令型でコーディングできます。Java、C#、C、C ++、さらにはjavascriptでも。適切なリファレンスブック(および場合によっては定型文)があれば、午後には他のどのプログラムでも小さなプログラムをノックアウトできるはずです。

履歴が何であれ、ループの分岐と関数について知っているので、構文はそれらすべてについてほとんど同じです。履歴がオブジェクト指向の場合、オブジェクト、クラス、およびインターフェイスについても知っています。

しかし、宣言型または関数型言語で単純なプログラムを書くのに苦労している命令専用のプログラマーがあまりにも多いのを見てきました。Erlangショップを経営しているのであれば、C ++を使用している人よりもErlangまたは少なくともPrologを使用している人を強くお勧めします。


役割のレベルに依存する方法:

ジュニア職の募集:

C ++の仕事にプログラマーを選んでいた場合、メモリや配列の長さに注意を払う必要があるなど、候補者が避けることができると確信したいと思う特定の落とし穴があります。自分自身(と私)を足で撃ってはいけません。彼らがCやC ++をやったことがなければ、インタビューでそれを解決しなければなりません。

そして上級職の場合:

効率的にプログラミングを行うための鍵の1つは、自分が書いてはいけないことを知ることです。その鍵は、標準(および事実上の標準)ライブラリです。その鍵は、経験です。「Javaを教える」と1週間座って、10年のC ++プログラマーから10年のJavaプログラマーにすぐに変わることはできません。


プロジェクト/会社の状態に依存する方法

Javaプロジェクトを考えると、かなりスレートです。私は、新しい上級採用者にJavaエコシステムに関する多くの知識を持たせ、利用可能なさまざまなテクノロジーについて助言できるようにしたいと考えています。

成熟したJavaプロジェクトを考えると、シニアJavaの役割でJavaの経験がほとんどない、またはまったく経験のない経験豊富なC ++開発者を喜んで検討します。エコシステムの決定の大部分は既に決まっているため、新しい雇用者はJavaライブラリの経験を積むことができますが、会社はオブジェクト指向ソフトウェア開発でプログラマーの経験を活用します。


生態系に言及する非常に重要なポイントを提起すると思います。これは大きな役割を果たすことができるものであり、通常はプラットフォームXの経験豊富な開発者がXのエコシステムを十分に理解するには時間がかかると思います。新しい構文といくつかの新しいパラダイムを学習するだけでは、おそらくそれは削減されません。
オーク

私はオークと一緒です。優れたXプログラマーになるには、言語Xを拾うだけでなく、多くの生態系の知識が必要であるという素晴らしい点を挙げています。
Carson63000

4

職場によって異なります。彼らが非常に忙しい場合、Objective-Cで機能できる場所に追いつくまで待つ時間がないかもしれません。

職場によっては、他の言語に精通していること、強力な基礎知識、ビジネスドメインの知識を持っていることがわかった場合、リスクを負うことをmightわない場合があります。それは本当に彼らがどれだけオープンか、そしてあなたがリクルーターにそのリスクを取るよう説得することにどれほど上手くかかっているかによります。


4

雇用は難しいです。良い人を雇うことはさらに難しい。500人以上の履歴書のスタックに直面した場所で採用を行いました。スタックを合理的なサイズに下げたいと思ったことについて、経験が最も少ない人々を除外しました。たぶん、おそらくその言語を知らない優秀な候補者にとっては公平でしょう。しかし、私が探している資格を持っている100人の人を見つけることができれば、私はそうではない400人に多くの時間を費やすつもりはありません。

現在、採用の際に、私は要件の長いリストを持っているかもしれませんが、通常、1つまたは2つだけがディールブレーカーです。そして、あなたがインタビューしたい最初の資格のリストを持った人を見つけられない場合(または後で彼らが私が見たインタビューに失敗した場合)、通常彼らは戻っていくつかの行方不明の人々を見ますそれほど重要ではない資格や、似ているが同じではない人の資格。そのような場合、多くの場合、すべての技術的資格を持っている人よりも、あなたの仕事に役立つ人の経験について何かを探しています。たとえば、私のビジネスドメインでの経験がある場合、別のエンタープライズデータベースでの経験を持つデータアナリストを検討します(実際、履歴書をすべて見ると、その人はおそらく最初にカットするでしょう)。C#やJavaのようなものでも同じです。その人が同じようなレベルの複雑さの仕事をしていて、特に同じようなビジネスドメインで仕事をしている場合、他の言語を持っているとしても非常に良い候補者になるかもしれません。

ただし、入門レベルの人々向けのかなり正式なトレーニングプログラムがない限り、最低限の言語スキルを満たしていない人々から採用する可能性は低くなります。そして、私が探していたもののどれも持っていなかったグループからほとんど決して。経験のない人は、資格を相殺し、どの言語でもプロレベルの仕事ができることを証明するための実績が少ないという点で、テーブルに持ち込むことが少なくなります。彼らは、私たちが使用する最も重要な言語をある程度理解していなくても、最初のプロのギグで十分に学ぶことができます。そして、彼らを雇うことは、あなたが彼らから有用な仕事を得ることができるようになるまでに数ヶ月かかるかもしれないというリスクです。

採用担当者がチームを新しいテクノロジーに移行させる場合、さらに重要な点があります。チームの誰も真に技術の専門家でなく、私も新しい人を雇わなければならない場合、「地雷が「避けるべきです。

最後に、記載されているすべての要件を満たしていない場合でも、興味のある求人に応募してください(ただし、求職者は採用されない人に時間を浪費することを嫌います)。あなたは仕事のためにどんな競争をしようとしているのか、履歴書の審査や面接を行う人々に最も感銘を与えるものを知らない。A社で面接を受ける可能性があるのは、たとえ彼らが紙面で同様の要件を持っている場合でも、B社で面接を受けることを妨げるものであるかもしれません。さらに、彼らはまだ宣伝していないあなたの資格をよりよく満たす仕事があるかもしれません。しかし、彼らはあなたのことを知らないなら、あなたはその仕事について決して考慮されないでしょう。


3

すべきですか?いいえ それ?はい、悲しいことに。これは「紫リス」症候群です。会社はケーキを食べて、それを食べたいです。そして、彼らが必要とするか、または必要とするかもしれない太陽の下ですべてをすることができる候補を得てください。多くの場合、ただし常にそうとは限りません。A)開発が実際に何を必要とするのか見当がつかず、すべての基準を満たしている人が仕事をすることができると仮定しているだけです。彼らはH-1B /グリーンカード/プロモートを内部から提出することを計画していますが、実際の仕事を宣伝しているように見せなければなりません。


3

「Java、C ++、Smalltalk、Prologを既に知っているとしましょう。Objective-Cに依存している職場では、その言語の経験が足りないので、私を資格がないと本当に考えるべきでしょうか?」

Objective-Cと同様の機能を備えた3または4言語で20年以上の経験がある場合、Objective-Cを採用して、6〜8週間で生産的になることを期待しています。(これは、数年前にObjective-Cを学習した私の個人的な経験に基づいています)。

学校に通っていて、実際に目に見える実用的な経験がまったくない環境に優しい人であれば、完全になじみのないことをするために雇われることはないでしょう。

ここでは、Objective-Cは興味深いストローマンです。Cを非常によく知っている必要があり、オブジェクト指向分析と設計を非常によく知っている必要があります。ほとんどの場合、C ++を理解する必要があります。

手動のメモリ管理と、自動メモリ管理/ガベージコレクションの仕組み、および同じプログラムで各テクニックを使用するタイミングを理解する必要があります。

Objective-CはApple環境以外では役に立たないすべての実用的な目的のためであり、Cocoaについても知っている必要があるため、CocoaとPOSIXを知る必要があるのはObjective-Cだけではありません。

そして、Cocoaが失敗した場合、Cocoaラッパーで必要なことを実行できない場合に、どのPOSIX APIを使用するかを知る必要があります。

また、Unixをある程度自明でない程度に知っておく必要があることも意味します。


2

言語/個人に依存します。

私がC#の場所で、JA​​VA / J2EEの経験がある人が応募した場合は、試してみます。C#とJAVAの構文に違いはありません。コーディングはコーディングであり、彼らがうまくいくであろう違いのいくつかに慣れると、私は考えます。

JAVA-> C#からも同じことが言えます。

さて、あなたがC#の人で、C ++の仕事に応募した場合、私は経験を見たいと思います。違いが多すぎます。

ええ、それは状況次第です


3
構文は、言語を学ぶのような小さな一部..です
ボリスYankov

@Borisそれは本当ですが、彼が言うことは、それがスタイルであろうとライブラリであろうと他の何かであろうと、あるレベルでまだ当てはまります…
タイラーマック

2

私は、多くのパラダイムを経験したプログラマーがどのように簡単にもう1つ追加できるかについて、OPは死んでいると思いますが、すべては雇用主のリスク回避に帰着します。ツールに精通していない潜在的な雇用者はワイルドカードです。彼らは本当に素晴らしいかもしれませんが、彼らはフロップである可能性もあり、彼らが使用する技術について深く質問することができない場合、インタビュアーが違いを伝えることは通常より困難になります。

私はこれがこれを見る正しい方法だとは絶対に言っていませんが、それはある雇用主がする方法です。賢い人はこれを活用し、C ++で30年の経験を持つ素晴らしいプログラマをすくい上げますが、愚かな人は必要な15年のRuby on Rails経験がないので彼らを断ります。しかし、プログラマーは、あまり知識のない雇用主との雇用を避けることで、これを悪用することもできます。結局のところ、だれが体系的に悪い採用決定を下す場所で働きたいですか?


1
「面接官が使用している技術について詳細に質問できない場合、面接者が違いを伝えるのは通常よりも困難です」という+1は、かなり正当な理由のように聞こえます。
オーク

1

部分的には、HRが職務内容に流行語を投げ込むことについてです。彼らは役割を本当に理解していないからです。6か月しか存在しなかったテクノロジーで3年の経験があることを明記した、仕事の説明というコミカルな状況にときどき出会うのはこのためです。

それが違い生むかどうかに関して、それは本当に役割と関与する個人に依存します。雇用を行うほぼすべてのマネージャー(確かにすべての優秀なマネージャー)は、職務記述書に1つまたは2つの箇条書きが欠けていても、ほとんどの分野で多くの強みを持つ候補者に合格するようにHRに指示します。ただし、それは一般的に最近の卒業生には当てはまりません。私は、クライアントや主要なチームなどとやり取りする素晴らしい仕事の経験を持つ人々のように話している。


0

雇用主は、現時点で精通している特定のテクノロジーとは対照的に、私が精通している言語/パラダイムの数、またはアルゴリズム/ソフトウェア設計の経験をもっと気にかけていると思います。

開発スタックを構成するすべての要素を見たことがありますか?たとえば、誰かがソフトウェアを作成するために使用する環境を構成するIDE、テストフレームワーク、継続的統合、バージョン管理、開発方法論、およびコードパラダイム。これは、一部の企業が誰かにゼロから手に入れるのではなく、すでに知ってもらいたいと思う多くのツールです。雇用主の市場に関するIroncodeのポイントは、ここでは別の要因です。ポジションをめぐって多くの競争があり、企業が空を狙い、それを獲得できる場合もあるからです。

その環境についてより具体的な例を挙げるために、私が仕事をしている場所をここに示します。C#、nUnit、Cruise Control.Net、Subversion、Agile / Scrumを主に使用してASP.Netを実行しているVisual Studio 2008 、そしてどこを見ているかに応じて機能します。私がJavaに乗り換えたいと思うなら、これは雇用主が私をその役割に雇う費用として吸収したくないものであるかもしれないこれらの機能の多くのための新しいツールに慣れることを意味するかもしれません。また、そのバージョンの経験がある人は他の人よりもよく知っているかもしれず、そうでなければ誰かが「なぜそのように構築したのか」という落とし穴を避けることができるいくつかのトリッキーなポイントがあります。


しかし、興味深いことに、通常、ソース管理ソリューション/ IDE /テストフレームワークでの経験は、プログラミング言語での経験に次いで2番目になります(確かに仕事を得るのに役立ちます)。
オーク

-2

いいえ、見て。これらの要件は、IT担当者がまとめたものではありません。それらは人事担当者によってまとめられます。そして、人事担当者が要件を取得する方法は、IT担当者がコーヒーマシンに行き来する際に質問を叫ぶことです。

彼らは「あなたは何が必要ですか?」と言います。「プログラマー。数年の経験が必要です。たとえば、4はわかりませんか。そして、.Netを知っていれば良いと思います。」合理的な対応。

ただし、「。Net 4での4年間の経験」に変換されます。これは.Net 4です。これは、.NETをGoogleで検索すると、最初のリンクから.Net 4について説明しているページに移動するためです。

また、その方向に移動したいため、特定の言語要件があるという可能性もあります。経験豊富なスタッフがいる方がスムーズになると思います。


1
これはかなり苦い答えです。おそらくあなたが説明したシーンが真実であるいくつかの会社がありますが、大多数はそれほど機能していません。
ジョッキング

同意しない。私が働いた最後の数社には、人事部員さえいませんでした。そして、新しい従業員に広告を出すとき、開発した言語とプラットフォームでの商業的な経験が必要でした。どうして?というのは、その経験のある候補者がいなかったら(そしてあったのなら)、経験のない人と話をするのに余分な時間をかける必要があるからです。彼らは学びますか?
Carson63000
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.