web-dev-qa-db-ja.com

「ソフトウェア開発者」と「ソフトウェアコンサルタント」の違いは何ですか?コンサルタントとは何ですか?

「ソフトウェアコンサルタント」であると主張する多くの人々を見てきました。これらのコンサルタントは、通常のソフトウェア開発者が行うことを実行し、コードを記述し、タスクを見積もり、バグを修正し、会議に出席します。唯一の違いは、財務面で、コンサルタントはより多くの収入を得ることになります。それでは、ソフトウェア開発者は「コンサルタント」とどう違うのですか?

主な質問に加えて、ソフトウェア開発者はどのようにしてコンサルタントになることができますか?コンサルタントのための特定のガイドラインはありますか?彼らは認証を集め、研究論文を書く必要がありますか?ソフトウェアコンサルタントと管理コンサルタントを混同しないでください。私が見たソフトウェアコンサルタントはマネージャーではありません。

126
Kumar

ここにソフトのリストがあります

ソフトウェア開発者-フルタイムの給与の従業員であり、アプリケーションの要件を実装する仕事をします。開発者は、雇用主から指示されたときと同じように機能するさまざまなプロジェクトをスキップします。

ソフトウェアコンサルタント-従業員ではなく、現在の業界のアプローチを使用してアプリケーションを実装する方法に関するアドバイス(コンサルタント)を提供するために持ち込まれます。多くの場合、コンサルタントは、大規模なアプリケーション(SAP、Oracleなど)の構成方法に関する技術的なアドバイスを提供します。私の経験では、コンサルタントは一般的にプログラマーではありません。

ソフトウェア請負業者-従業員ではなく、現在の業界アプローチのスキルと専門知識を提供するために採用されています。通常、請負業者は単一のプロジェクトで作業し、必要に応じてプログラミングし、完了するまでそれを確認します。彼らは専門家の礼儀として他の分野で援助するかもしれませんが、雇用主の指示の下にありません。

どうやってソフトウェアコンサルタントになりますか?

通常、毎日あなたを雇うソフトウェアコンサルタントのために働いた結果として。あなたがOracleで働いていて、ある大企業がミドルウェアのセットアップで支援を必要としていると想像してください。あなたはサードパーティの契約ベースで働く正社員です。これは常に当てはまるわけではありませんが(次のセクションを参照)、通常の方法です。

どのようにしてソフトウェア請負業者になりますか?

通常、あなた自身の会社を設立し、求人エージェントにあなたが仕事が可能であることを知らせた結果として(プログラミング、コンサルティング、両方...)。その後、代理店は特定の契約条件に従って、毎日あなたを雇います。直接行くこともできますが、はるかに困難です(エージェントの役割はクライアントを着陸させることであり、あなたの役割は専門知識を提供することです)。

110
Gary Rowe

「ソフトウェアコンサルタント」は、雇用条件に基づいて「ソフトウェア開発者」とは異なります。 「ソフトウェアコンサルタント」は、特定の期間および非常に特定のタスク/役割/プロジェクトの請負業者として雇われます。一方、「ソフトウェアデベロッパー」(請負業者またはコンサルタントではない)は、給与のフルタイムのスタッフメンバーです。 、および社内で複数の役割/プロジェクトを持っている場合があります。

「ソフトウェアコンサルタント」couldは、フルタイムで雇用されている開発者/プログラマーではなく、契約ベースで雇用されている開発者/プログラマーを指します。他の人が述べたように、それはガイダンスと高レベルのプロジェクト管理/設計/アーキテクチャを与える人を指すこともできますが、私の経験では、タイトル「ソフトウェアコンサルタント」は通常、開発者/プログラマーであり、フルタイムではなく契約で雇用されている。

すべての開発者は、請負業者として働くことでコンサルタントになることができます。これを行うには、通常、フリーランスの請負業者であるか、コンサルティング会社と協力するかの問題です。

コンサルタントはビジネスを改善するいくつかのソフトウェアを開発するだけではありません。

私は30年以上開発者として働いています。私は、過去10かそれくらいのコンサルタントになるだけのことしか知りませんでした。

35
Steven A. Lowe

「コンサルタント」と「契約者」の違いは、コンサルタントが上品で潜在的に高額であると私に何らかの印象を与えたこと以外に違いはありません。 :)

どちらの場合も、コンサルタント/請負業者を開発の役割で働いているときは「ソフトウェア開発者」と呼んでいましたが、「コンサルタント」として誰かを雇うとき、彼らはある程度のメンタリングを行うことになると思います正社員チームの。私がコンサルタントを雇うとき、私が彼らを雇っている技術で既に経験を持っている誰かを雇っていると思います、そして私のパーマネントチームのほとんどがすでに特定の詳細についてスピードを上げている可能性が非常に高いです。その技術。ですから、私のチームがコンサルタントに情報を提供し、コンサルタントがチームにスマートな時間節約の回答を提供し、一定量の手作業を私の今よりも高速/高品質で行うことを期待しています-スピードの速い正社員。

他の場合では、私はコンサルタントを永久に「コンサルティング」するように雇いました-つまり、彼らは実際に仕事をしていません。彼らはチームをより良いチームにするか、与えられたツールやテクノロジーでより良くなるように教えています。

他の投稿が言うように、私はコンサルタントが常任になることを期待していません。正社員は正社員になるか、少なくとも1つのプロジェクトまたは短期間で会社と提携することになると思います。

コンサルタントになり、それに応じて料金を請求したい場合は、構築を再開する必要があると思います。コンサルタントの履歴書をレビューするとき、アートツールとテクノロジーの切削に関する非常に確かな経験を探しています。それはドメインごとに異なりますが、私は最先端のエッジで複雑なものを実装した人を探しているので、実装しようとしているテクノロジーの学習曲線にすでに達しています。私が知っているコンサルタントのほとんどは中毒のいじくり師です。彼らは日中は一生懸命働き、次の仕事に売り込むためには実践的なスキルが必要であることを知っているので、彼らの専門分野でさらに遠くまで夜を過ごします。

22
bethlakshmi

質問がそのままフレーム化されているのは残念です。より良い質問は、「ソフトウェア請負業者」と「ソフトウェアコンサルタント」の違いは何でしょうか?少なくとも米国では、これらの用語が本当に問題を引き起こしています。

「ソフトウェア開発者」という用語は、あらゆる種類の雇用に適用できます。開発者は、職務またはリソースのタイプです。請負業者/コンサルタントの問題は雇用問題を中心に展開しますが、ここでも米国での仕組みについて言及していますが、この質問に明確に回答するために(そして、それを行うのは難しいことですが)、最初にいくつかの用語を定義し、いくつかの歴史を探る必要があります。

ソフトウェア開発者は、彼らがどのように採用されているかに関係なく、ソフトウェアを作成し、おそらくソフトウェアの作成に関連する他の多くのタスクを実行します。ただし、チームリーダーなどの一部のプロジェクトでは非常に一般的ですが、通常は管理の役割は除きます。 。ソフトウェアプロジェクトおよびプログラムマネージャーは、(チームリーダーを除いて)ソフトウェア作成の根本的な活動に関与することはめったにありません。繰り返しますが、これらはrolesです。

雇用と支払いについては、いくつかのタイプがあります(米国に適用)。最も一般的な雇用形態は、正規または「直接」であり、労働者はソフトウェアを開発している会社の給与を支払います。彼らは毎年雇用主にW-4を記入し、年末にその雇用主から税金としてW-2を受け取ります。

直接雇用の他に、請負業者と(定義によっては)コンサルタントがいます。ただし、「請負業者」という用語は少し誤解を招きます。技術的には、請負業者はクライアント企業と契約を結ぶエンティティまたは個人であり、この場合はソフトウェアを開発する企業です。しかし、現実には、米国のほぼすべての請負業者が請負会社を通じて仕事をしています(「ボディショップ」と呼ばれることもあり、無料の条件はさらに少ない)。それ自体は、クライアントと直接「契約」することはありません。これらのいわゆる請負業者は実際に毎年クライアントではなく契約会社でW-4に記入し、税金の年末にその契約会社からW-2を受け取ります。彼らは直接雇用されている兄弟姉妹とまったく同じ方法で課税されます。 IRSに関する限り、すべてのW-2労働者は直接労働者です。

ここでのポイントは、いわゆる請負業者(「契約社員」)ではなく、実際にクライアント企業と契約を結ぶのは「契約会社」であることです。契約社員は実際に契約会社に雇用されており、契約会社はクライアントとの契約の当事者です。したがって、ソフトウェアプロジェクトに従事している契約社員と直接従業員は、課税に関しては基本的に同じであり、通常、特別なステータスのない隣接するキュービクルで働きます。唯一の大きな違いは、請負業者は作業を継続できる特定の時間に制限されていることです。そのクライアントのプロジェクト。これは、彼らが働いている契約会社がそれよりも長い間彼らをそこに保持することは想定されていないか、または私たちのIRSがそれらを直接従業員として再分類する可能性があり、契約の当事者(クライアントおよび契約会社)が税金。

私自身の経験では、請負業者は人事管理によって拡張されることが多く、契約社員を「請負業者」から「臨時雇用者」などに再分類しています。私を続けたいと思っていたクライアントは時々それをしました。ただし、クライアント企業は注意する必要があります。 IRSはそれらを監査して、それらの請負業者の真の関係を判断します。 IRSが、クライアントが直接従業員のように扱い、たとえば、サイトに無期限に保持していることを発見した場合、クライアントは、(現在は正規の)従業員が契約社員として受け取っていなかったすべての給付について責任を負います。また、請負会社も責任を負う場合があります。すべての影響を知ることはできませんが、混乱する可能性があります。

そうそう。 「コンサルタント」とは何ですか?その用語は一種の「フワフワ」です-その神聖な領土をめぐって争われた多くの戦争がありました。おそらく40年前、「コンサルタント」は多かれ少なかれ「独立した請負業者」と同義であり、クライアントと直接契約した労働者を意味していました。つまり、ワーカーはクライアント(おそらく上記のようにソフトウェアを開発しているクライアント)と契約を結びました。その労働者はクライアントにW-4を記入せず、年末にクライアントからW-2を受け取りません。代わりに、直接請負業者(当時は「コンサルタント」と呼ばれることが多かった)がクライアントから1099を受け取ります。直接の請負業者は通常、法人税率で税金を支払い、IRS事業税規則に従わなければならない独自の法人を持っていました(もちろん法人であることのメリットも享受しました!)。

この非常に異なる税の取り決めに加えて、「コンサルタント」という用語はそれについて特定の前兆を持っていました。コンサルタントは一般に経験が豊富で(少なくとも10年間は​​現場で働いていました)、通常は特定の専門分野を見つけるのが難しいため、クライアントにとって非常に望ましいものであり、クライアントは1日あたり500ドルまたは1000ドルを支払う用意がありました(a非常に寛大な量)その後、彼らの専門家のサービスにコンサルタントは、十分につながりのある人々のエリート群衆と一緒に走りました、そしてそれらの派閥に侵入することは一般に困難でした。コンサルタントとして成功するには会員になる必要がありました。最近は消滅したが、現在復活している組織であるICCAがありました。ICCAは、コンピューターコンサルタントのための古いクラブのようなものでした。誰でも参加でき、私はある時点で参加しました。受け入れられて仕事を得ることは別の話でした。

特にニューヨークの金融街のような場所では、これらのコンサルタントの仲介業者に特化したニッチな業界もありました。しかし、当時、ソフトウェア、特に金融部門で仕事をするためには、しっかりとつながっていなければなりませんでした(当時、私が試していたためです)。今日、これらのブローカーは大手のプレースメント企業によって飲み込まれているか、または廃業しています。独立請負は、そのような独立請負をゆっくりと確実に破壊した一連の法律によって、ほぼ完全に解消されています(存在しますが、そのセクターは今でははるかに小さく、ほとんど存在しません)。

今日、「コンサルタント」という用語は、ソフトウェア開発雇用の領域ではほとんど使用されていません。少なくとも、ほとんど聞いたことがありません。契約ソフトウェア開発者はコンサルタントと呼ばれることもありますが、特定の契約者が専門家を称賛したり、称賛したりすること以外にほとんど区別がつかないため、用語が特別なものを意味するときに、以前の同点への逆戻りの専門知識を求めています。 。

「ソフトウェアマネジメントコンサルタント」と呼ばれるソフトウェアプロジェクトマネージャーがまだいることを述べておく必要がありますが、それらのほとんどすべてが、W-4を提供する会社と同じ目的をこれらの管理契約社員と同じ目的で実行している請負業者の会社への直接の従業員でもあります。それらのソフトウェア開発者の契約社員。そして、ご想像のとおり、同じ契約会社の場合もあります。一部のクライアントは、プロジェクトに取り組む開発者とマネージャーの両方のために労働者の1つのソースに対処したいと考えています。

米国の正規の独立系ソフトウェアコンサルタント会社は、連邦法の変更とアメリカの企業環境の変化のおかげで、ほとんど死んでいます。企業(潜在的なコンサルティングクライアント)が大きくなるにつれ、人事部門は、残酷に一元化され、傲慢に効率的になり、技術的にブラックボックス化されます。最近では、採用マネージャーに連絡して、直接または契約などの雇用機会について話し合うことはほとんど不可能です。これの一部は企業秘密と従業員保護ですが、これの多くは、できるだけ多くの労働者が直接の従業員、または少なくとも請負会社を通じて働くことを保証する傾向にあります。

このシナリオの代替案は、40年ほど前の初期のシナリオと同様に、かなり異なっていました。当時、雇用主が契約社員、特にコンサルタントの仕事を管理することはより困難でした。労働者の管理は、生産性の向上を確保するために米国での雇用の主要な問題になりつつあり、インドやベトナムなどの労働者がますます増加する生産性の需要にさらに慣れている国との競争にとって重要です。

これらすべてを理解するための鍵は、独立した請負業者に、自分の作業をいつどのように行うかを正確に伝えることができないことを理解することです。彼らは通常、独自のツールを提供する必要があります。 IRSが正当な独立請負業者であることを認識するには、これらの制約の約20に準拠する必要があります。それ以外の場合は、上記で言及したこれらの法的問題に加えて、契約社員とその契約会社との間の合法的な利益になる訴訟が発生します。

長い説明で申し訳ありませんが、本当にこれは複雑です。私は企業に直接、そして契約企業を通じて働いてきたソフトウェア開発者です。私は何度も「インディ」に行くことを考えてきましたが、それはここ数十年で従うべき非常に危険な(そして威圧的な!)道になりました。そして企業は、政府への影響力を強化し、活用して、この取り決めを強化し続けています。アメリカのソフトウェアコンサルタントは死んでいます。残りの生存者は最後の息を苦しめています。

17
Phelonius

ソフトウェアコンサルタントになる方法:

  1. コピーショップに行って、名前、電話番号、メールアドレス、および「ソフトウェアコンサルタント」というタイトルの付いた名刺を約100枚印刷します。
  2. ミッション達成:ソフトウェアコンサルタントになりました。
12
Ingo

「コンサルタント」についての私の理解は、ビジネス分析(要件の収集)を両方行う人ですand少なくとも一部のソフトウェアの設計/開発。ソフトウェア開発者。

IOW、コンサルタントは複数の帽子を着用しますが、開発者は1つの帽子を着用します。

4
John Bode

私のコンサルタントの役割の経験は、これまでの共通のテーマとは異なります。

この用語の別の使用法は、おそらく英国でのみ一般的ですが、システムを理解し、それについてコミュニケーションし、代替実装のトレードオフについて議論する確かな能力を持つ上級の経験豊富なエンジニアです。

これらのうち最高のものは、これまで遭遇したことのないシステムでこの高レベルの入力を提供できます。

特定の目的で採用された外部コンサルタントは、これらのスキルのいくつかを時々発揮しますが、通常、(もしあれば)より狭く、より焦点を絞った方法で経験します。

1
itj

他の人にソフトウェアの開発方法についてアドバイスを与えるには、きっとすばらしいソフトウェア開発者であるか、少なくとも良い人でなければならないでしょう。

簡単に言えば、S/Wコンサルタントは、S/W実績のある開発者です。

自分の人生を振り返ってみましょう。運転を始めたとき、または運転免許を取得する年齢に達したとき、運転免許について、あなたより若い人または運転免許を持っていて運転を知っている年配の人から尋ねましたか。

また、コンサルタントがあなたのために仕事をすることもよくあります。ソフトウェア製品の作成に関連する他の要素に加えて、最初から最後まで、開発部分です。少なくとも大規模な組織では、製品作成のあらゆる側面を扱います。あなたは彼らにあなたが何をしたいか、あなたがそれをどのようにしたいか、重要なものは何か、締め切り、文書化などを彼らに伝える必要があるだけです。

TCSが思い浮かびます。タタコンサルティングサービス。誤解しないでください。彼らはインドの非常に明るいITサービス企業の1つであり、Ratan Tataの下でTataグループのフォークです。

TCSの注目すべき作品-パスポート申請システムのデジタル化、UID、およびその他の主要な政府の作品。

0
bad_keypoints