ある言語を使用するシニア開発者であることは、別の言語を使用するシニア開発者になる資格がありますか?[閉まっている]


27

1つの言語(Javaなど)で開発者として働いて、シニア開発者まで進んだ場合、別の言語(Rubyなど)を使用するポジションのシニア開発者になる資格がありますか?


2
@Philip-この質問は、実際にはいくつかの面での境界線の質問です。FAQにリストされている質問のガイドラインに実際には対応していないため、実際にはあなただけに価値があり、「建設的ではない」境界線であるため、境界線は「ローカライズされすぎています」。この質問を編集してガイドラインに対応できる場合は、質問を保存する価値があるかもしれません。
ウォルター

8
@Walter-ローカリゼーションに関する最初のコメントに同意する必要があります。これは、ある言語の上級開発者であることにより、別の言語の上級開発者の地位を得る資格があるかどうかに関して一般的に適用される質問/回答です。
クレイジュ

1
@Walter-ローカライズの問題を削除しました。おそらく合理的だと思います。
ジョンホプキンス

1
@Walker-申し訳ありませんが、質問はCraigeが述べているとおりです。ジュニアと考えられているほとんどのプログラマーがいつかシニア開発者になりたいと思うので、私はそのように書きました。したがって、適切なジュニアポジションを選択することが重要です(またはそうでない)
フィリップ

11
この質問は、「シニア開発者」が何らかの一般的に受け入れられている意味を持っていると仮定しているように見えます。それは通常、役職のようなものであり、役職はあなたとあなたの雇用主が同意できるものです。
デビッドソーンリー

回答:


33

これに答える最良の方法は、開発者とシニア開発者の違いを調べることです。単なる時間の問題ではないと仮定すると、一般的に開発者とシニア開発者の両方ができることを期待しています:

  • 役割に必要な言語で適切にコードを書く
  • バグの診断と修正
  • 単体テストを書く
  • 標準と合理的なベストプラクティス(バージョン管理、ドキュメント)に従う
  • 幅広い基本的な技術的能力がある
  • プロフェッショナルな態度で行動する

さらに、シニア開発者には次のことを期待しています。

  • ベストプラクティスでスタッフの他のメンバーを指導する
  • チームが使用している少なくともいくつかの言語の参照ポイントであることを認識します
  • ベストプラクティスの新しい分野を積極的に研究し、擁護する
  • より複雑な問題/コード領域の技術的所有権を取得し、堅実なソリューションを提供する

だから、質問はあなたの第二(または第三または第四)言語の拡張された基準を満たすのですか?上級開発者のほとんどは譲渡可能である傾向があるため、移行先の言語で技術的に十分な能力がある場合は、そうすることをお勧めします。


1
これは本当に環境、特に上司に依存します。一部の「Sr」は、特に「jr」が主題に関するより多くの知識と経験を持っている可能性がある場合、すべての主題に関する知識を示す必要があると感じています。C ++のバックグラウンドを持つSr.がC#プロジェクトで動作すると、深刻な緊張が生まれます。「jr」は、この特定のフレームワークに対してより大きな知識ベースを持つ場合があります。これは、特に上司がリッスンしているとき、いくつかの激戦を引き起こす可能性があります。
P.Brian.Mackey

@ P.Brian.Mackey-結構です、同じタイトルの異なる仕事の間にはかなり大きな違いがあります。私はかなり一般的な(そして賢明な)定義だと思っていたものを使いましたが、それは「30歳以上」から「すべてについてすべてを知っている」まで様々です。
ジョンホプキンス

1
BFよりも複雑な言語では後者の場合は幸運です。Cでさえ、予想よりも暗いコーナーがあります。
SamB

「一部の「Sr」は、すべての主題に関する知識を示す必要があると感じています」。これらの人々はリラックスするように言われるべきです。知らないことがあると認めない限り、何も学ぶことができません。何かの無知を自由に認める能力は、弱さではなく強さの兆候です。
PeterAllenWebb

1
+1 すべてでない一部のスキルは譲渡可能であることを指摘していただきました。それを置く素晴らしい方法。
ニコール

5

現在のステータスに関係なく、好きな会社の任意のポジションに応募できます。

あなたが履歴書/カバーレター/インタビューであなたが仕事の男性であることを証明するのはあなた次第です。


5

Sr. Developersにインタビューしたとき、次の資質を探します。

  • 複数の言語で働いています
  • 少なくとも1つの専門家、少なくとも1つの他の能力、できれば異なるパラダイムの専門家
  • 選択した領域の現在の技術、最新技術などを認識している
  • 優れたCSベース(アルゴリズム、アルゴリズムのコスト計算、データ構造など)
  • 特定の問題の詳細と全体像を切り替える機能
  • 物事が間違った方向に動いていることとその理由を表現してください。そして、その間違った方向に進むことができます(別名プロフェッショナリズム)
  • メンターへの能力
  • チーム内およびチームで働く能力

私が探している他の無数のものがありますが、これらは主なポイントです。

私は職場で使用される言語の専門家ではないシニア開発者を採用することを推奨していますが、彼らは同様の言語の専門家でした。


3

申し込むことはできますが、少なくとも私が雇用を行っている場合は、あなたを雇うかもしれませんし、雇わないかもしれません。

年功は、(少なくとも)2つの分野に関連しています。一般的な開発の専門知識と言語/フレームワークの専門知識。(私は意図的にビジネススペースの知識を除外しています)現在のところ。私の本で上級開発者になるには、設計/アーキテクチャの専門知識も含まれます。優れた/テスト可能なシステムの構築方法など

Javaでこのレベルに到達すると、他の(類似/手続き型)言語に取って代わるはずです。

しかし、当面の生産性が期待されるこの時代では、RubyについてJavaと同じくらい詳しく知ることはまずありません。システムをJavaに適した構造ではなくRubyに適した構造に分割する方法。おそらく、Railsやその他のRuby固有のものではなく、いくつかのJavaフレームワークを知っているでしょう。

インタビュー中にRubyでホワイトボードコーディングを行うように頼んだら、それをしてもらえますか?

これらはすべて、どのレベルでも、あなたを雇うかどうかの私の決断になります。しかし、特に上級職向けです。

がんばろう


回答ありがとうございます。はい、Rubyでホワイトボードコーディングを行うことができます(C ++、Javaでも同じ)。実際、私は現時点で、JavaよりもRubyの方がはるかに熟達していると考えています。なぜなら、1年以来、Rubyでビルドされるプライベートプロジェクトに取り組んでいるからです。
フィリップ

3

いや。

それは私たちの職業と他の「正式な」職業との大きな違いの一つです。あなたが弁護士として20年間、遺言と地所で働いていたなら、その分野で20年の知識が蓄積されているので、あなたは高い率を指揮しようとしています

C ++ / Win32 / MFCを15年間実行している場合、同じドメインで同じ問題を解決している場合でも、Rails開発者としてのシニアスポットの資格はありません。課金など。

さらに悪いことに、ほとんどの企業は、おおよそ似たポジションであるとみなすことさえありません... /.NETは非常に迅速に、少なくともデスクトップ用に。残念ながら、ほとんどの企業はそのように見ていません。


4
「ほとんどの」企業がそのように見ていることは知りません。現在の問題は、景気の低迷で、C#を既に知っている(例から)多くの人が利用できるため、数字だけに基づいて検索を絞り込めることです。
元気ウォンコ

ほとんどのスキルと経験は移譲可能であると思います。新しい構文を学ぶのは簡単です。残念ながら、あなたは正しい。あなたの考えではなく、雇っている人の考えだ。
誰も

3

場合によります

「プログラミング」を外してください。代わりに、あなたがプロの翻訳者であるふりをしてください。

英語が第一言語であり、フランス語も堪能であると仮定します。あなたはスペイン語をかなり簡単に習得するでしょう。

ただし、中国語の多くの方言をすぐにマスターする可能性は低くなります。言語学者としての経験は、外国語を勉強したことのない人よりも有利な言語を学ぶのに役立ちますが、それでも「専門家」(つまり「上級」)になるまでにはるかに長い時間がかかります。 )その言語の翻訳者。


2

はいといいえ。

言語が似ている場合は、C ++、Java、またはRubyを検討してください。それらのオフィスに座っている人々の柔軟性に応じて、あなたは戦いのチャンスがあります。

しかし、言語が大幅に異なる場合、つまり、あなたがHaskellを始めたCOBOLの男であることを意味している場合、10年以上のCOBOLの可能性にもかかわらず、あなたはインタビューを確保することすらできないかもしれません。

そのような状況であなたの好みに合うもののカップル:

  1. すでに複数の言語を知っており、同じ言語での経験がある場合。C ++が得意であるが、Perl、Tcl、およびRubyについても知っているとしましょう。実際、履歴書にC ++を使用したJavaの仕事を持っている人を知っています。
  2. あなたの経験が関連ドメインにある場合、あなたはそれを作る可能性が十分にあります。たとえば、あなたがC ++ゲームプログラマーである場合、かなりのマルチスレッドを必要とするC#ジョブに雇われない理由はありません。

1
さて、私は尋ねる必要があります-RubyはC ++やJavaのようなものですか?C ++とJavaはどちらもCスタイルの言語ですが、RubyはPerl、Python、Smalltalkから派生しています。
クレイジュ

私はOOPを指導テーマとして言及していました。
Fanatic23

2

言語に基づいた「シニア」タイトルはめったに見ません。数人の上級システムプログラマ、数人の上級Webプログラマ、1人の上級COBOLプログラマを知っています。

プログラミングは多面的であり、提供できる分野はかなりあります。上級のWeb開発者(タイトルでは、プログラマーと開発者は互換性があるようです)は、Web開発で使用されるいくつかの主流言語に習熟していることを期待しています。それはPythonとPHPの第一人者をC#のインスタントエキスパートにしますか?いいえ。一方、すべてのC#の達人がプロジェクト管理とリーダーシップの芸術を習得しているわけではありません。

私は、シニアシステムプログラマーであることに加えて、会社でCTOの役割を果たしました。それでも、どちらかを必要とするプロジェクトに遭遇した場合、私は喜んでスキームまたはLISPの専門家に任せます。優れたリーダーになるには、まず自分の限界と欠点を理解する必要があります。

会社で仕事をしたいのか、あるいはたった1つの言語に焦点を当てた部署で仕事をしたいのかはわかりません。それは、タバコを吸うといつも言っていたように聞こえます。現実がはるかに悪いときに、成長を妨げます。

タイトルを追いかけたり、知識を追いかけたりしないでください。しかし、公平を期すために、以前の指導的地位でのあなたの役割は、おそらくあなたが手元の言語で能力を実証していれば、あなたに追加のエッジを与えるでしょう。


0

私はあなたがシニア開発者として何を感じているかにかかっていると思いますか?それがアーキテクトの役割であれば、言語に関係なく、開発者としての経験から多くの設計原則と設計パターンを自由に使用できます。だからそれはプラスです;-)

ただし、可能な限り生産的で保守可能なアプリケーションまたはコードの作成(sleavesビットのロールアップ)を検討する場合、言語、IDE、および/またはフレームワークを切り替えるときに同じ経験レベルで入ることはできないと思います。

しかし、runrunが言ったように、これはあなたが何かに応募するのを止めません


0

これは、通常、新入社員の採用方法を決定する内部の人事手順であるため、面接する会社に大きく依存します。大企業は非常に厳格である傾向があり、上級レベルと見なされるために特定の言語でn年の経験が必要だと言う場合、中級レベルの開発者しかいないことに気付くかもしれません。

ただし、これはあなたがその職に応募することを妨げるものではありません。もし彼らが面接にあなたを連れてきたら、それはあなたが話し合うべきものです。


0

私は、言語が低レベルまたは機械に優しいほど、あなたはより専門家であると言います。

Java / C#の専門知識は、ASM / C / C ++の専門知識よりも低賃金です。

後者の言語は、メモリ管理など、プログラミング時に実際に重要なことを行います。

しかし、他の「簡単な」言語については、それらを「簡単にする」機能について簡単に比較する必要がありますが、私はそれが役に立たないと思います。簡単な言語の経験は、コードイグナイター、django、Apache、RoRなど、作業に使用したCMS /その他のメイドコードでより適切に測定されます。

私にとって、シニア開発者とは、カーネル、システム、組み込みハードウェアなどをプログラムする人です。機械に優しい言語を使用するプログラマーは、私にとってシニアではありません。彼らはただ仕事をしますが、それだけです。


興味深い意見。私は同意します、C ++はずっと苦痛です。一方、(現在の)言語の一部は時代遅れであるため、C ++の多くの痛みがあります。最近の言語には、より多くのライブラリ関数、ラムダ、for-each-loops、および多くのものに対するわかりにくい構文があります。これらの問題により、実際の低レベルのものに集中することから注意をそらすことができます。
フィリップ

これは興味深い意見です。私の経験では、必ずしもコーディングをしているわけではなく、低レベルのものを非技術者に翻訳した経験があるため、年配の人は管理をより重視しています。あなたは確かにその能力を尊重してもしなくてもかまいません。30人のWeb開発者のチームであなたの視点から疑問が生じますが、カーネルを書くことができないので、彼らは誰もシニアではありませんか?彼らがMosaicで働いていたとしても、高校を卒業したとしても、あなたには何の違いもありませんか?
スティーブジャクソン

30人のWeb開発者?開発者?まあ「シニア」とは、その人が長い間コーディングしているか、またはより高齢であることを意味します。しかし、重要な経験と知識の点で「上級」だと思う場合、ガベージコレクションされた言語を使用する場合、プログラミングエクスペリエンスと呼ぶことはできないと思います。
jokoon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.