私はジュニアソフトウェア開発者で、1年未満の会社で働いています。
ソフトウェア開発者であるということは、ソフトウェアとCODEを開発することを意味するといつも思っていましたが、私の仕事は、Jenkins、SQLレプリケーションなどのセットアップなど、管理タイプの仕事にあります。
これらのタイプのジョブは開発者の役割に含まれていますか、それとも開発者はソフトウェアのみを開発していますか?これについて上司と話すべきですか?これは、企業が「開発」スキルを評価するための一般的な方法ですか?
私はジュニアソフトウェア開発者で、1年未満の会社で働いています。
ソフトウェア開発者であるということは、ソフトウェアとCODEを開発することを意味するといつも思っていましたが、私の仕事は、Jenkins、SQLレプリケーションなどのセットアップなど、管理タイプの仕事にあります。
これらのタイプのジョブは開発者の役割に含まれていますか、それとも開発者はソフトウェアのみを開発していますか?これについて上司と話すべきですか?これは、企業が「開発」スキルを評価するための一般的な方法ですか?
回答:
彼らが実際に後輩(彼らが先輩になるまで彼らが投資し、メンターすることができる誰か)を望んだというよりむしろ彼らが先輩を買う余裕がなかったので彼らが後輩を雇ったように私には聞こえます。私は、よく知らないマネージャーからその決定を強いられたチームを管理しました。
彼はユーザー向けのトレーニングビデオの作成など、あらゆる種類の不幸な仕事に終わりましたが、私は今でもそれについて罪悪感を感じていますが、私は提供するプレッシャーにさらされており、開発室に頭を追加するとスピードが上がるだけだと予想していました。
それはあなたとあなたの上司をトリッキーなポジションに置くので、それは残念です。
彼はおそらく彼が後輩に信頼できる仕事を何も持っていません、そして彼が持っているかもしれないどんな先輩も彼らの日常から気を散らすことはできません。簡単な方法は、ジュニア開発者以外の多くの非開発タスクを提供することです。彼はまた、上級開発者の時間を無駄にしたくないのです。
しかし、これからいくつかの問題が発生します。
最初に、彼があなたに与えている種類のdevopsジョブは本当に上級開発者を必要とします。特に、ビルドサーバーは、ソフトウェアをビルドしていて、問題点がどこにあるかを知っている人がセットアップする必要があります。
第二に、後輩はより有用になっていません。この5年が経過した後も、実際の開発作業に信頼できなくなったため、同じタスクを実行しています。
第三に、ジュニアは最終的に(あなたがそうであるように)彼らが自分のキャリアを助けていないことに気付くでしょう。後輩が経験が少ない(そして探している)というよりも質が低いという仮定は、この業界ではひどいが、非常に一般的な間違いです。
だから、はい、上司と一緒に座ります。しかし、彼が抱えている苦境を理解してください。皆さんの問題を解決するいくつかの取り決めに来ることができるかどうかを確認してください。あなたはシニアメンターを必要とし、現在のタスクのいくつかはシニアに渡される必要があります。これはプロジェクトの速度を低下させますが、長期的には見返りがあります。それはあなたがあなたの上司、そしておそらく彼らの上司に到達する必要があるポイントです。また、コストを軽減する見返りとして、提供できるものが見つかるかどうかも確認してください。
できない場合は、別の場所を確認することをお勧めします。
「ソフトウェア開発者」という用語は「プログラマ」と同義語だと思います。したがって、ソフトウェア開発者は、コードを書くことを主な責任とする人物です。私の最初の仕事では、私の肩書きは「開発者」であり、私の主な責任はソフトウェアの設計とコーディングでした。しかし、私はその用語の正確な定義はないと思います。人によって使い方が異なるため、意味が曖昧になります。
ただし、開発チームが効率的に作業するには、CIサーバー、SQLレプリケーション、テストサーバーへの展開、テストサーバーの監視、ビルドのアーカイブなどの設定が必要です(状況によっては、これらのすべてが当てはまるとは限りません)。 。
これらのタスクは、プロジェクトの初期フェーズではかなりの時間がかかりますが、適切なセットアップを実行すると、少し時間がかかります。
残念ながら、開発者はビルドサーバーを管理するのではなく、コードを作成します。したがって、上級開発者の方が重要なタスクを持っているため、これらの退屈なタスクはジュニア開発者の手に委ねられることがよくあります。
私はこれらのタスクをスキルを評価する手段として使用する企業を経験したことがありません。
現在の責任に不満がある場合は、ラインマネージャに問題を取り上げることをお勧めします。
場合によります。異なる企業がこれを異なる方法で定義しているようであり、一部の企業にとっては、これは一連の技術的機能の包括的な用語です。一部の人にとっては単なるタイトルです。以前に同じ質問をしたところ、「私たちの組織ではこれを行うことができるのは開発者だけである」のような答えを得ました。
理論的な答えは、開発者(コーダー/プログラマーと比較して)は、「何かをコーディングする」こととは関係なくても、「問題を解決する」人であるということです。
もっとコーディングしたいので、上司にもっとコーディングタスクを依頼するか、コーディングによって行うことのいくつかを実行するように依頼しますか?運用について言及しましたが、その一部はDevOpsフレームワーク(chefとpuppetをチェック)によって実行できる可能性があります。これにより、機能がより効率的になり、開発に近づきます。
開発者がシステム管理スキルを持っていることが期待されることは珍しくありません。私は上級開発者として、私の時間の約5%がそのようなタスクに費やされていると推定しています。
あなたが行っていない場合は、任意のコーディングを、あなたはおそらくコーディング作業を得ることについて上司に相談してください。結局、あなたはコーディング経験を積み上げたいと思っています。また、システム管理者としてよりもプログラマーとしての方が価値があります。
中小規模の企業の開発者がサーバー管理者/ DBA /一般的な構成タスクを引き受けることはかなり一般的です。
ただし、これらのタスクがあなたの責任の大部分になり始めた場合、それはあなたのキャリアの目標によっては心配する必要があるかもしれません。おそらく、特定の企業内で一般技術者として成功することができますが、新しい企業に移行する必要がある場合、移行で多くの問題が発生する可能性があります。従来の開発を行っていない場合は、履歴書でそのことを明確にする必要があります。あなたが説明したように仕事で一生懸命働いた後、まっすぐな開発で仕事を得たいのであれば、あなたは業界での年数に基づいて「資格を超えた」ものを受け入れる必要があるかもしれません。
一方、さまざまなスキルを持つ開発者を探している企業もあるかもしれません。しかし、面接でコードを書くという現在の傾向では、たとえ仕事に就いても少しのコードが必要な場合でも、一流のコーディングスキルも必要になります。
あなたがあなたの現在の位置で動けなくなることを望まないなら、私は間違いなくすぐに状況を改善しようとするでしょう。