私は特定の技術を知っている会社で唯一の開発者として、私がしたタイプのプログラミングを行った唯一の開発者として、そして同様の状況で請負業者として働いてきました。(私はチーム環境で、さまざまなツールを知っている他の開発者や、私がやったことを正確にやった他の開発者とも仕事をしました。)
唯一のプログラマーであるという長所
- あなたが言及したように、あなたは頻繁にあなたがあなたが学ぶことができると思うどんなツールまたは言語でも使う自由を持っています。他のすべての人が現在のテクノロジーYを使用している間に、常に新しいテクノロジーXを使用する許可を得るために、同僚の前で主張する必要はありません。
- あなたにはもっと責任があります。基本的に、あなたは各プロジェクトのプロジェクトリーダーと開発者の両方として機能し、新しいものを特定して実装する能力があれば、事実上部門長でもあります。(これを営業担当者に伝えないでください。彼らは意思決定者と話をするのが大好きで、あなたは彼らと話をする時間がありません。)
- 行われた仕事の功績については疑いの余地がありません。物事を起こしたのは明らかにあなたとあなただけです。
- 実際に自分のプロジェクトで作業する時間を増やすことができ、基本的に他の人のプロジェクトに関する会議での時間を短縮できます(ただし、サポート担当者、バックアップの可能性などはあります)。
短所
- Davidがコメントで指摘しているように、あなただけが開発者なので、あなたなしでは開発は行われません。かつて私は兄に、仕事中の特定のプロジェクトの「男」であると自慢していました。彼は私の状況を正確に説明してくれました。私は閉じ込められました。私はそのプロジェクトを取り除くことができなかったので、その会社に進むことはできませんでした。(彼も正しかった。それをサポートする能力を持っている人に引き渡すことができるようになるまでに、長期間にわたって数ヶ月のトレーニングが必要だった。)あなたなしで行われます。
- Pierreが指摘するように、サイトにコードレビューを行ったり、ベストプラクティスを共有したりする人は誰もいません。さまざまな方法でピアに手を差し伸べることができますが、同僚を肩から叩き、5〜10分間コードを確認するように頼むほど効果的ではありません。
- 同様に、新しいツールを使用して経験を積むのが難しい場合があります。オフサイトトレーニングは休暇のようにまれな場合があります。Language2.0アプリの動作を維持する人がいない1週間、Language 3.0を見る余裕がないと不満を言う人がいます。
- キャリアアップを管理することは非常に困難です。あなたが努力できる立場にないかもしれませんし、タイトルの変更でさえ得るのが難しいかもしれません、そして、年末のレビューは参照のフレームを持っていないので、優れた仕事は他の人がいなければほとんど気付かないかもしれませんそれよりも、誰もあなたが何をするのかを本当に理解していないからです。
プログラマーのチームの一員として働く会社に移ることを決めた場合、あなたのソロ体験があなたを大いに傷つけることはないと思います。設計パターンの経験の不足は、それらを学習する意欲ほど重要ではありません。(同様のバックグラウンドを持つ候補者にインタビューし、会社が使用するあらゆる方法の経験がある場合もありますが、それは基本的に全員に当てはまります。)
同じ方針に沿って、チームでの経験不足は、多くの帽子をかぶる能力とバランスが取れています。優れたチームプレイヤーであるが、プロジェクトを管理する能力を決して開発していない開発者もいます。あなたはそれができることをすでに示しました。
あなたがソロ開発者である場合、同様の開発者が使用しているツールとテクニックについて読むのに時間を費やすことをお勧めします。したがって、自分で使用しなくても、それらが存在することを認識し、参照することができます「はい、MVCフレームワークについて少し読んだことがありますが、自分で使ったことはありません。」他の開発者と連絡を取り合うためにできることをしてください:ローカルユーザーグループの会議に参加したり、ブログを読んだりコメントしたり(または自分のブログを保持したり)、時々ワークショップに参加したり、ウェビナーを見たりしてください。(社内トレーニング用にlynda.comのようなサイトを検討することもできます。他の場所での1週間のカンファレンスほどではありませんが、自分の時間にビデオを見ることができ、パニックモードに全員を送ることはできません。外出。)