独自のプログラミング言語を使用して仕事をすることには欠点がありますか?[閉まっている]


37

私は大学を卒業したばかりで、CSの学位を取得しています。そのため、この分野についてもっと学び、専門的な経験を積むことができる仕事を見つけたいです。

社内で独自のプログラミング言語を使用している会社にインタビューしたことがありますが、他の人がそれを使用しているとは思いません。他の言語の使用や、開発環境で使用するものについては言及していません。

このような仕事に就くとき、私は何を心配すべきですか?後で仕事を切り替える場合、言語固有の経験を積んでいないので、エントリーレベルの職を再び探し始める必要がありますか?


8
仕事、職場環境、責任に満足している限り、言語は重要ではありません。
マルセロ

5
CSの学位を取得すると、新しいことを学ぶことができます。新しい言語やテクノロジーを習得する必要がある状況が常に表示されますが、これも同じです。仕事から仕事へと移るのは、問題解決の経験です。特定の言語の構文は、ライドに合わせて提供されます。
クリス

11
独自の言語のMUMPSは万が一ありますか?
R0MANARMY


3
@DaveShaw:そして、人々はまだ雄牛で走っています。必ずしもそれを良いアイデアにするわけではありません;)。
R0MANARMY

回答:


28

主な欠点:

  • 「カスタム環境」で作業することは、限られたツール/サポートを意味する可能性があり、問題に巻き込まれたときにイライラする可能性があります。
  • 彼らが使用する言語は不十分に設計されている可能性があり、早い段階で悪い習慣を取り戻し、回避策を作成するためにハッキングコードを書くことにつながります。
  • HRバフーンはあなたの経験を認識しません。(これは大丈夫です。人事に頼って技術者を雇う会社は、通常は働きたい種類ではありません。数年後、素晴らしい仕事のほとんどは人脈を介してもたらされます。)

私なら、なぜ社内言語を使用するの尋ねます。クレイジーなハードウェア制約、既存の言語で簡単にモデル化できないドメインなど、正当な理由によるものである場合、これはまったく問題ありません。一方で、彼らの答えが独自の言語を作成して、ハックとビジネスロジックをまとめて奇抜なマクロにまとめることができると示唆している場合、これは大きな危険です。あなたは彼らが良いエンジニアリングの原則を使用していることを確認したいので、彼らから学び、成功することができます。この場合、コミュニティの知識ベースと外部サポートがない自国語を使用して合理的に正当化できるかどうかを確認できます。あなたは彼らの決定が完全に合理的であることに気付くかもしれません(Facebookはスケーラビリティに対処するために独自のバージョンのPHPを構築したと思いますが、それは彼らのために非常にうまくいきました)コアシステムと密接に結びついているため、彼らはそこから脱却できないようです。信じてください。ImARInObj(Immutable Accounts Receivable Invoice Object)と呼ばれるコアデータ型の言語で作業することは望ましくありません。この種の状況では、言語とビジネスニーズが密接に結びついていることが多く、そのようなシステムを毎日処理するのは絶対に悪夢です。


12
HRのbaffoonsも多くの良い会社のために、雇用の大半を実行するため、実際には....大丈夫ではありません
チェルボ

1
ツール/サポートに同意します。私の以前の仕事では、カスタムデータアクセスエンジンを使用していました。私が遭遇したランタイムエラーの急増をグーグルで検索したい回数をあなたに伝えることはできませんが、これは内部的なものであることを思い出さなければなりませんでした。質問をStackoverflowに投稿することもできません。あなたは会社に翻弄されており、ドキュメント、FAQセクションページ/セクション、または通常は追跡するのに数時間かかる厄介な予期せぬ問題を解決するためのドキュメントを用意しておくとよいでしょう。かなりひどかった。NHibernateにまた戻ってきてうれしいです。
Aダブ

「ヘルプのために質問をstackoverflowに投稿することさえできません。」社内SOクローンをセットアップするように内部ネットワークを管理している人の1人を納得させたらどうでしょうか。
JAB

同様の問題に遭遇しました。ユーザーベースのない非常に特殊な言語には、ツールに問題があります。私が使用した1つのオプションは、ツールのような歯車を取り、コードを記述してコードを記述することです。特にその多くがボイラープレートである場合。
スペンサーラスブン

96

逃げ、すぐに逃げます。仕事に必死で、非常に空腹でない限り、これは避けたい状況です。

私はこれを行った会社での経験があり、彼らがそうした唯一の理由は、彼らの従業員が有意義で移転可能な経験を得ないようにするためでした。本当にコントロールがすべてでした。

ここで「プログラミングはプログラミング」と言った人は正しいが、私はそれを頭に入れて、外部サポート、ライブラリ、フォーラム、利用可能なプログラマーのプールが選択できる標準言語を使用しないのかと尋ねるから?

このような状況が問題ないと思うのは、企業専用の言語がカスタムハードウェア用である場合だけです。たとえば、そのマシンに固有のアセンブリ/マシンコードを使用して、9000Xガンマ線干渉計のすべてを記述する必要があります。


21
サポートとドキュメントの潜在的な欠如(社内ツールが標準ツールと同じくらい十分にドキュメント化されていることは知らなかった)は、IMOの大きな懸念事項です。そして、このように物事を行う理由はよく理解する必要があります。
エセルエヴァンス

15
+100考えてみてください...あなたが次に探す職種は主流の言語であり、プロ/適用可能な経験がゼロ年になります。再びジュニア開発者としてやり直します。

2
彼がGoogleについて話していて、言語がsawzall(labs.google.com/papers/sawzall.html)またはGo(公開前)の場合はどうなりますか?新しい言語を発明する他の正当な理由はありませんか?
ニールG

3
@Neil-多くの大きな理由があり、人々は通常、小さな言語、DSL(ドメイン固有の言語)、または(Googleの場合)「次の大きなもの」と呼びます。私は確かに独自の言語に対して何もしません。OPは、これが使用されている唯一の言語であると述べました。Googleは標準言語に対して何もありません。
-unpythonic

3
私は会社の動機に目を向けるというアイデアが好きですが、私見は、従業員を捕らえることだけを目的としてあなた自身の言語を発明することは、地面から得られたアイデアではありません。代わりに、ほぼ確実に、特定の問題を解決するために誰かが言語を発明し、現在では主にレガシーの理由で使用されています。理想的な環境ではありませんが、少なくとも良性です。
タイラー

22

卒業後の履歴書は基本的に空白なので、最初の仕事は将来のキャリアパスに大きな勢いを与えます。あなたの次の潜在的な雇用者は、この仕事に大きな重みを置いています。したがって、他の(より市場性のある)言語でプログラミングする場合を除き、この仕事を辞退することを強くお勧めします。

私が経験からこれを言うのは、私がCS学位を取得して卒業した後の最初の仕事を辞めたからです。プログラミングのほとんどは、Progress(別名OpenEdge ABL)と呼ばれる基本的に未知の言語で行われました。恐ろしいです。COBOLほど悪くはないが、近い。私が卒業した場所の周辺にはプログラミングの仕事があまりないので、そこに留まりました。

その言語を他の言語やデータベースと対話させることはほぼ不可能でした(独自の独自のデータベースでもロックされました-おまけ!)。他の言語にすでに存在するフレームワークを自分で書くのに多くの時間を費やし、おそらくこの言語はこの種の「拡張」パラダイムをうまくサポートしていなかったので、すでに実装されていたでしょう。この言語は、「Progress Corp.に機能要求を連絡し、新機能のバージョンn + 1まで待つ」というアプローチに合わせて調整されています。言うまでもなく、ソフトウェア業界は、これが実行可能なアプローチであるために十分な速度で動きません。私はそれがどれほど悪いかについては話を進めませんが、プロプライエタリ言語を扱っている場合も同様の問題に直面すると思います。

それに加えて、既存のコードベースは、次善と言えます。80年代後半/ 90年代前半にさかのぼる多くのレガシーコード。ほとんどの企業はこのような古い荷物をたくさん持っているので、ほとんどの企業が独自の言語だけに固執していると思うので、私はあなたに似たようなものを期待すべきです。このような雇用主にとって、このレガシー/プロプライエタリな環境でコードを作成しようとするプログラマーを見つけるのはおそらく難しいでしょう。また、誰も聞いたことがないので、トレーニングにもお金を払わなければならないでしょう。死海の影響により、同僚もソフトウェア工学の巨人ではないでしょう。(おそらく才能のある人はすでに去っています)。オブジェクト指向コードを使用しようとするコードレビューで多くの問題が発生しました。彼らは理解できなかったので、あらゆるタイプのデザインパターンは言うまでもありませんでした(私のチームの人々は、せいぜいMIS程度(違反なし) ))。

最後に、あなたがこの仕事を引き受けるが、あなたが去るとすぐに何か良いことをしたいと仮定すると、次の仕事のために自分自身に競争力を持たせるためには、仕事以外の自由時間の多くを犠牲にして、より市場性のある言語で壊れやすいおもちゃを作成する必要があります(そしておそらくあなたが作ったもののほとんどをオープンソースにする)、または私がやったことをやめて、あなたが辞めて同じことを1、2ヶ月費やす前にお金を節約してください。いずれにせよ、これは非常にストレスの多いことです。特に、仕事以外のあらゆる種類の社会的関係を楽しんだり、たまにコーディングではない何かをする自由な時間を過ごしたりする場合。

今、私の経験はあなたの選択に直接マップされないかもしれませんが、私はそれのいくつかが適用されると確信しています。うまくいけば、少なくともいくつかの質問が出てくると思います。他の人が述べたように、おそらくあなたは彼らが使用するツール(ハードウェア、ソフトウェア開発環境/ IDE、そして間違いなくバージョン管理)を知りたいでしょう。ジョエルテストは有用な指針であるかもしれません。

TL; DR

しないでください。

PS新しい言語を学ぶことは有用であると言っている人たちにとって、それ自体は真実です。問題は、その言語をほぼ独占的にフルタイムで長時間使用し続けると、より有用な言語(およびテクニック)への露出が失われることです。それはあなたが避けたいことです。


この。このようなことは、あなたの引退まで長続きするために、ストレスの少ない、ストレスの少ない仕事に適しています。それはだていないキャリアをキックスタートする良い方法。
ウェインモリナ

@Wayneを考えてそれは恐ろしいです:... 50有余年のためだけにその言語を使用し、その後、ちょうど学校の独自の言語を学ぶ
モルガンHerlocker

恐ろしいことはそれを軽んじています。解雇された場合や会社が倒産した場合、市場価値のあるスキルは誰にとってもゼロになります。あなたもビジネスの世界に存在しなかったかもしれません。
ウェインモリナ

コアシステムがプログレスで記述されている中規模の場所で契約を終えたところです。幸いなことに、私はWebサービス呼び出しを介してシステムに接続する新しい.Netコーダーの1人でした。彼らは、必要なときにプログレスコーダーを取得することができました。
デイブ

16

明らかな欠点は、このジョブを、将来適用するジョブに必要な「言語xを使用した5+エクスペリエンス」要件に追加できないことです。これはあなたが思っているよりも厄介なことがあります(長年の経験があるが、広範囲のプログラミング言語を持っている人と言えます)。私が今日探している仕事に基づいて、LOLCODEの経験であったかもしれないVBAの専門的な経験を持っています。

しかし、彼らはその言語を排他的に使用していますか?企業が1つの言語のみを使用することはほとんどありません。VBAで過ごした時間にも、ASP、Java、PostgreSQLが含まれていました。


質問をより具体的にするために編集しました。彼らはこれまで他の言語について言及していないので、次回彼らと話すときは彼らに尋ねる必要があります。
AlexMA

3
実際、私はJavaの仕事が欲しいので問題があります。私の経験はすべて.NETにあるので、誰も私を雇わず、とても似ています。完全にカスタム言語を使用すると、さらに苦労することになります。人的資源人と最もリクルーターは....低能であり、あなたが触れるすべてのテクノロジーで5年以上の経験が必要だと思う
チェルボ

8

私は、あなたが働いている言語に関係なく、「プログラミングはプログラミング」というマントラに同意する傾向があります。プログラミングの大部分は思考を学んでおり、残りは単なる構文です。将来の潜在的な雇用者は、「Y年の間X言語を知っていた」よりも、「会社YとXを達成した」ことに感心するでしょう。

私が最後に受けた仕事は、多くのPL / SQL作業であり、1行のPL / SQLを書いたことはありませんでした-約2週間でそれを取りました。

とはいえ、最新の状態を維持するために、私は間違いなく他の言語で練習を続けます。新しい仕事では、より標準的な言語でプログラミングアームを維持するペットプロジェクトを1つまたは2つ用意します。


それが私の計画でした。週末に自分のアプリ(または何でも)を書いて、興味のある技術のスキルを向上させます。それは、ブライアンが言及するように、言語YでX年の経験を必要とする求人の資格を獲得できないかもしれないということです。ある程度のPL / SQL経験が必要ですか?
AlexMA

@Alex:「...言語YでX年の経験を必要とする求人の資格を取得できない可能性があります」は、仕事に就く犠牲者です。特定の仕事に就くということは、他の機会を逃しているということです。
クリス

2
@Chris Yeah ...しかし、「FooBar」を学習していて、それを「FooBar」を使用している別の会社に移転する見込みがない場合は少し異なります。PHPを学ぶなら... Cを学んでいないことを確認してください...しかし、PHPにお金を払っている会社はたくさんあります。
WernerCD

3
-1これは正しい答えですが、この質問に対するものではありません。
ウィルヘルムテル

2
「将来の潜在的な雇用者は、「Y年前からX言語を知っていた」よりも、「会社YでXを達成した」ことに感銘を受けます。---技術面接の両側での私の経験は、これとは正反対です。

6

ITでは、会社はしばしば優秀な候補者を見つけるためにリクルーターとやり取りしなければなりません。採用担当者はITの専門家ではないため、いくつかの基準があり、候補者と一致してから会社に送り返します。それは大企業の人的資源と同じです。

それに問題があります。リクルーターの基準に適合しません。それで、私はあなたのコンピタンスを守る問題ではないと言うでしょう。プログラミングはプログラミングであり、信頼できるコード、テスト可能なコード、および保守可能なコードを実行する方法を理解するよりも構文の重要性が低いため、堅実なプログラマーは、ある言語から別の言語に切り替える方法を知っている必要があります。それらの能力はほとんどが言語に依存しません。

ただし、あなたを採用しているITスタッフがいないという一致する基準に適合しない限り、将来の雇用を見つけることはおそらく不便でしょう。とにかく競争相手になっても。それらの人々は、彼らが非ITであるため、それを判断する方法を知りません。

私は間違いなく、この仕事を最初のものに勧めることはありません。ただし、広く使用されているテクノロジ(Java、PHP、C、C ++、C#、...)についてCVに既にエントリがある場合は、必要に応じてそれを選択してください。


リクルーターについての洞察をありがとう。それはすぐに聞こえます。
AlexMA

5

プロプライエタリな言語と環境を使用して、習得/改善できるスキルは間違いなくあります。他の回答で述べたように、いくつかのスキルは言語を超越しており、履歴書では非常に価値があります。

ただし、履歴書をレビューする人々が技術的でない場合、これらのスキルはしばしば見落とされます。多くの場合(残念ながら、比較的経験の浅い開発者にとっては最善の方法である仕事の質の範囲の下限)、履歴書は主にx年の言語yで評価され、あなたが入らないかもしれない他のスキル面接でドアに足を踏み入れた後までプレイしてください。

考慮すべきもう1つの要因は、プロプライエタリ環境は(少なくとも、)メインストリーム環境よりも設計が不十分で、ずさんで、一般的にイライラする傾向があることです。悪いプロプライエタリなシステムでのみ働くことは、特にプログラミングのキャリアを始めたばかりの人にとっては非常に落胆する可能性があります。

そうは言っても、プロプライエタリなシステムでの経験は、一般的な主流言語での同様の経験ほど良くはありませんが、ロングショットでの経験よりも優れています。一部の職種ではエントリーレベルを超えた足があり、他の職種では特定の言語のエントリーレベルとしてまだ資格がある(または資格がない)場合がありますが、あなたの経験により、競合する他のほとんどの人よりも大幅に優先されますそれらの仕事のために。

プロプライエタリな言語に焦点を当てているためにオファーを渡すことを検討する前に、現在の求人市場と、アプリケーションが一般的にどのように受け取られているかを必ず検討してください。


3

それは、あなたがどの補助的な言語とスキルを身につけるかにかかっています。実際に彼らの社内言語が使用されていないか、社外で知られている場合でも、キャリア上の賢明さは限られています(破裂して次の大きなものになる可能性がない限り)。私はそれ自体では役に立たないサードパーティのツールを使って数年を費やしましたが(キャリア的に)、これらのプロジェクトに取り組むことで、HTML、CSS、およびJavaScriptのスキルが向上しました。また、エンタープライズプロジェクトの実行と構造化、クライアントへの対応、期待の管理についても多くを学びました。実際の言語ではない、現代のソフトウェア開発の一部であるすべてのもの。


私は質問を編集して、補助的な言語について言及していないことに注意しました。ただし、非言語固有のスキルについての良い点。
AlexMA

2

IDE、エディタ、ライブラリなどのフレームワークはどうですか?最も複雑なビジネスアプリ。この日は、プレーンテキストエディタとコマンドラインコンパイラでは実行できません。

彼らは彼らのカスタムプログラミング言語のためにそれを持っていますか?


いい視点ね。繰り返しますが、彼らはそれについて言及していません。尋ねる必要があります。
AlexMA

2
独自のIDE /ツールセットが目を引くほどひどい場合もあります(私はいくつかのツールを使用しました)。
FrustratedWithFormsDesigner

2

多くの場合、ビジネスを学ぶことはテクノロジーを学ぶことよりも重要です。この会社が属する特定の業界に滞在したいと思う場合は、先に進んでください。ニッチ市場、または特に興味のない市場の場合は、スキップすることをお勧めします。(たとえば)薬物動態学と創薬プロセスの詳細を知ることは、単なる別のC#/ Python / Javaプログラマーではないドアを開きます。そして、この「固有の」言語がコードジェネレーターまたはコンフィギュレーターである場合を除き、一般的な問題を解決しているので、特定の手法が直接転送できない場合でも、全体的な経験を得ることができます。


これも。唯一の業界知識が役立ちます、あなたが実際のビジネスドメインに移動する場合は、この仕事は利益になる方法です。開発者であり続けたい場合は、アクバル提督の不滅の言葉でIT'S A TRAP!
ウェインモリナ

2

他の言語で十分な経験を積むことができる場合に限り、それを取ることを検討します。あなたがいる場合行う仕事を取る、あなたは(とすべきである)お暇な時にオープンソースプロジェクトに取り組んで主流の言語とあなたのスキルを維持することができます。

避けたいのは、スキルがこの特定の会社に高度に調整され、他の会社に譲渡できない可能性があることです。技術的には、プログラミングはプログラミングであり、単一のプログラミング環境外での経験は有益であり、有害ではなく、問題をより明確に見るのに役立ちます。

このように考えてみてください。Perlプログラムを書く仕事に就いたとしても、Perlプログラムを書くことの永遠にあなたを運命づけるわけではありません。.NETに就職しても、Microsoftに永遠に縛られることはありません。

しかし、ここに重要な部分があります。1つの言語だけを知っているプログラマーを雇うことはありません。多くの言語で幅広い経験を持たないプログラマーは、選択した言語であっても貧しいことがよくあります。また、新しいことを学ぶ意欲の欠如を反映しています。

一方、プログラマーがPython、Ruby、C#、PHP、C、Erlangを知っている場合、APLを使用する可能性はありませんが、APLも知っているという事実は彼に対する攻撃ではありません。何でも。

だから、もしあなたが規律を持っているなら、言語があなたの唯一の焦点にならないようにしてください。

そして、もう一度述べておく価値があります。オープンソースプロジェクトに貢献することです。彼らはカウントトンそれはあなただけの給料を作るためにやった何か何かではありませんので、より多くの「仕事の経験」より。オープンソースプロジェクトで働くプログラマーは金のようなものです。


2

私のCS学位を卒業した後の私の最初の仕事は、あいまいな言語で開発することでした。ユニークではありません。自社開発ではありません。しかし、VMS 4GLはあいまいで、他の誰も使用していません。

振り返ってみると、これは賢明な決定ではありませんでした。私はその仕事をするプロのソフトウェア開発について多くのことを学びましたが、「ソフト」スキルに合わせて市場性のある言語能力を開発する方がずっと良かったでしょう。

私は幸運だった-私の2番目の仕事は別のあいまいなVMS 4GLで働いていた。すでに言語を知っている人を見つけることができないことを知っていたので、彼らは私を雇いました-4GLでVMSプラットフォームで経験したという事実で十分でした。そして、その仕事で、VMSからWindowsサーバーに移行することを考えていたため、市場性のある言語のトレーニングを受ける機会がありました。

しかし、私は簡単にそのような運がなかったかもしれず、リクルーターや人事担当者が私の履歴書を見るように説得する経験がまったくなかった私のキャリアの5年目に気づきました。

卒業後の最初の仕事では、本当にお勧めしません。


2

メタ応答を行うために、私は多くの応答が「個人的な経験から、これは悪いことだ」と言っていることに気付きました。

他の多くの人は、「理論的には、これは悪いことではない」と言っています。

しかし、私が見た反応はどれも、似たようなことをして、良い経験だと思った人たちからのものではありません。

今、多分何人かの人々はこれをして、彼らの仕事にぞくぞくしていますが、Stack Exchangeではありません。これは一部の商用ソフトウェアに当てはまります。たとえば、Software AG Natural / Adabasの非常に献身的な管理者がいますが、Stack Exchangeに関する関連する議論はあまりありません。しかし、少なくとも誰かがこれらのニッチな専門家を探しています。それは完全に独占的な言語には当てはまりません。

そのため、ここで説明する種類のテクノロジに移行することが目標である場合、実際の経験からこれを支持する人がほとんどいないという事実は、必ずしも最良のスタートではないことを示唆しています。それは死のキスではないかもしれません。しかし、あなたの願望に関連したオープンソースプロジェクトを開始したり、貢献したりするなどして、ひどい障害物にならないように働きたいと思うでしょう。


1

あなたを助け、指導してくれる良い/素晴らしいプログラマーがいると感じたら仕事をしてください。これを行う場所にはかなり良い人がいると思いますが、確実ではありません。また、この会社は優秀な候補者を採用することで評判がありますか?仕事で使用されている言語に関係なく、他の人に雇われる可能性があります。


1

問題の領域が業界の1つまたは少数の言語に支配されている場合は特に注意してください。データベース開発は、SQLと密接に関係しています。FPGA開発は、主にVerilogとVHDLに分割されます。それとは対照的に、Java、PHP、perl、python、Scala、C ++などで書かれたWebアプリケーションと組み合わせます。Web開発者を探している採用マネージャーは、特定の経験がない場合、移転可能なスキルについてよりよく理解できます。選択した言語で。データベースクエリを作成する人を探している採用マネージャーは、SQLの経験を期待しています。


1

独自の言語でプログラミングしました。しかし、それはあちこちで使われている言語ではありませんでした。私はその仕事をするすべての瞬間を叫んだけれども、私は今その経験に対して何もしません。私はその言語を使用し、その言語を維持し、改善し、その言語で書かれたプログラムを維持する機会を得ました。

途中で、小さな通訳がどのように機能するかを読んで理解することを学びました。あなたの潜在的な雇用者がプロプライエタリ言語のコンパイラ/インタープリターのソースを持っているなら、あなたもその内部で働く機会を得るかもしれません。私は、経験から、この仕事の経験を今後何年も大切にしてくれると言えます。

あなたが獲得できる移転可能なスキルは、チーム作業、ソフトウェアエンジニアリング、コンパイラ/インタープリターの作成、またはその一部、アルゴリズムなどです。 C、または他の言語などで書かれています。独自の言語がコンパイルされている場合、完全にブートストラップされた実動コンパイラーで作業する機会が得られます。したがって、次の仕事を探すときは、アプリケーション開発者向けのC / C ++ / Java / Pythonや、Web開発向けのPython、Perl、Java、HTML、CSS、JavaScript、Flashよりも強くこれらのスキルを売り込む必要があります。または、Verilog、組み込み開発用のVHDL、またはアプリケーションの他のドメイン用の他の言語セット。

あなたの潜在的な雇用者が独自の言語のソースを持っていて、独自の言語で書かれたプログラムで働く以上のことを進んでいると仮定すると、これはすべてです。それでも、私は数年前に得たのと同じような機会を得るかもしれないと言って非常に楽観的であると認めています。

面接では、長年の経験と技術的スキルだけで採用決定を下すことはできません。学習への渇望、文化的適合、文化的学習が決定の大きな部分を占めています。

したがって、最初の仕事として、あなたの仕事がプロプライエタリな言語で書かれたプログラムだけに制限されないが、その実装にも取り組むことができるなら、それを受け入れてください。


1

これには2つの側面があると思います。最初にこの特定の仕事があり、次に、それがあなたのキャリアの見通しにどのように影響するかがあります。

この仕事について知りたいのは彼らが独自のプログラミング言語を作成した理由です。理にかなっていますか?そうでなければ、私は別の仕事をしたいと思います。

過去10年間、私は3つの会社でそれぞれの言語で働いてきました。最初の理由は、プロジェクトが開始されたときに、必要なことを実行できるものが何もなかったからです。(彼らはVisual Basicの技術バージョンを作成しましたが、これはUnix上でVBが存在する何年も前のことでした。)他の2つには既存の言語では満たせないパフォーマンス要件がありました。これらのかなりの理由を考えます。

他の人が述べたように、キャリアの見通しについては、一連のチェックボックスを使用したプログラミングや仕事を理解していない採用担当者や人事担当者は、履歴書に問題を抱えています。プラグアンドプレイC ++プログラマを必要とする多くの企業は、新しい言語を習得するための費用がかかります。これはすべて真実です。

しかし、あなたは本当にそのような会社で働きたいですか?

その答えが「はい」である場合、おそらくこの仕事を断り、より一般的な要件を持つ仕事を探すべきです。また、あなたが住んでいる場所によっては、あまり選択肢がないかもしれず、プログラマーを本当に理解していない会社で働かなければなりません。

個人的には、私はそのような会社で働きたくありません。自分の選択が過度に制限されているとは思わなかったと言ってもいいと思います。新しいテクノロジーをすばやく学習し、現実の問題を解決し、おそらく「ビジネス」の知識を持っているという実績がある場合は、大丈夫だと思います。

また、プラスもあります。コンパイラー/インタープリターを使用して、他にいくつの場所で遊びますか?毎日使用する言語の新機能や構文にどのくらいの頻度で影響を与えますか?


1

まず第一に、社内プログラミング言語は必ずしも悪いことではありませんが、カスタム言語を正当化するために必要な基本ルールがいくつかあります。

あなた彼らが他の言語を使用しないと思うと書いています。最初に尋ねるべき質問は他の言語も使用するかどうかです。

カスタムプログラミング言語には正当な理由があります。私は数学が専門の言語で機能することを知っています。税務署は特別な言語を使用して、年ごとに変化する法律について税金を計算すると聞きました。メタプログラミングのドメインへようこそ。

ただし、カスタム言語では、完全な言語を実装しないでください。ドメイン外では、従来の/広く知られているプログラミング言語に頼るべきです。言語ドメインであっても、ドメイン言語ですべての詳細が網羅されているとは限りません。

質問すべき良い質問:

  1. この会社では他の言語が使用されていますか?
  2. 他の言語が彼らに合わなかった理由は何ですか?
  3. 企業外で使用されている言語(研究者または他の企業のライセンス下)
  4. 言語を知っている人の数。
  5. その言語で作成された(成功した)プロジェクト/プログラムの数。

これらの回答から、言語の状態を知ることができるはずです。それが大きな価値を追加するドメイン言語であれば、それはすべて大丈夫です。JavaやC#を置き換えるsomebodyのペットプロジェクトの場合は、 できるだけ早くそこから抜け出してください

編集:ウィキペディアのドメイン固有言語の記事を読むことをお勧めします。


1

気に入らないかもしれませんが、コンピュータープログラマーとして、エージェントと人事部門がプロジェクトマネージャーに喜んで転送できるCVが必要です。私たちのCVは、見ている人の30秒以内にまだ必要なセットと一致するように目立たなければなりません。また、cvデータベースの検索と一致する正しいキーワードを持っている必要があります。

したがって、独自のプログラミング言語で作業するだけでも大きなリスクです。ただし、DSLとメインストリーム言語を組み合わせて使用​​すると、CVで適切に表示できます。(あなたは履歴書で真実を語らなければなりませんが、完全な真実である必要はありません!)


1

プログラミングに関する幅広い知識を既にお持ちの場合は、そのような仕事に就くことについてあまり心配しません。もしあなたがこの業界に真新しいなら、これはあなたを専門的にかなりひどく傷つけ、おそらくJrまたはインターンとして最初からやり直さなければならないかもしれない点まであなたを突き刺すかもしれません...しばらくの間、この会社と一緒に、譲渡可能なスキルなしで去ります。

すでに業界でかなりの経験がある場合、これはあなたのキャリアにとって本当にクールな弾丸になる可能性があります。そして、あなたがこの場所を去ったかどうか/そのときの認識は、「いまいましい、彼はジェダイだ、彼はすべてをやった」


1

一生ずっと会社で働いている場合にのみ会社に入社するか、またはあなたが良い給料パッケージを取得していても、それを取り上げることさえ考えないでください。他のプログラミング言語では別の仕事を探す経験がないため、仕事に多くの不満があります。


この。この「機会」に注意してください、それはただちに退職するチャンスです。
ウェインモリナ

0

主にリードまたはプリンシパル開発者として15年の経験を持つ人を見てきましたが、これは主に会社が彼に現代言語とAPIになった経験がなかったためです。

プログラマーは映画の俳優(ヒーロー、ヴィリアンなど)と同じように精神的にビンに入れられ、ビンが何であるかを確立したら、あなたが新鮮な場合よりも仕事を見つけるのがはるかに難しくなると思いますカレッジ。

つまり、CS学位を持っている場合、あなたはおそらく多くの仕事の候補者です。

しかし、PHPで3年の経験を持つCS学位を持っている場合、実際には、卒業時よりもJava Web開発者の地位の候補者は少なくなります。あなたはPHP開発者として自分自身を釘付けにしており、反対の経験をするまで、それがあなたに雇われることです。(奇妙なことですが、あなたはより多くの総合的な経験を持っていますが、履歴書は間違ったタイプの経験であるため無関係とは見なされませんが、大学を卒業したばかりの履歴書はそうではなかったかもしれません)

また、SpecialtyLanguageXで1年の経験を持つCS学位を取得している場合は、あらゆる種類のドアを自分で閉じています。

これらはもちろん私の意見と観察であり、私は雇用を行ったことはありません。これは私に見えるものです。

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