「ソフトウェア開発者」の役割を定義するもの


10

私はジュニアソフトウェア開発者で、1年未満の会社で働いています。

ソフトウェア開発者であるということは、ソフトウェアとCODEを開発することを意味するといつも思っていましたが、私の仕事は、Jenkins、SQLレプリケーションなどのセットアップなど、管理タイプの仕事にあります。

これらのタイプのジョブは開発者の役割に含まれていますか、それとも開発者はソフトウェアのみを開発していますか?これについて上司と話すべきですか?これは、企業が「開発」スキルを評価するための一般的な方法ですか?


9
先のとがった髪の上司が誰であるかに依存します。
Neil

それぞれの会社は役割をわずかに異なって定義します。上司に、その役割がどのような責任と期待を伴うかを尋ねます。
バーナード

4
大工が材木を積んだり、手押し車を押したりしなければならない期間があります。それはすべて仕事の一部です。経験の浅い大工なら、年上の大工よりもはるかに多くのことをしているでしょう。
Bryan Oakley 2013年

1
ソフトウェア開発>コードの記述。ソフトウェア開発者がセットアップ/使用方法を知らない、および/またはジェンキンス(のようなツール)の価値を知らない場合、定義上、彼らは(非常に)後輩のソフトウェア開発者になります。オンザジョブトレーニングを検討してください。ソフトウェア品質のレベルを維持するために、自分の時間に維持されている自分のVMで自分のCIサーバーを実行する必要がある環境で作業していないことを幸運だと考えてください。予想されますが、実際には、これらのようなツールが(主に手動の)「プロセス」で許可されていない場合は推奨されません。
マイケル2013年

回答:


11

彼らが実際に後輩(彼らが先輩になるまで彼らが投資し、メンターすることができる誰か)を望んだというよりむしろ彼らが先輩を買う余裕がなかったので彼らが後輩を雇ったように私には聞こえます。私は、よく知らないマネージャーからその決定を強いられたチームを管理しました。

彼はユーザー向けのトレーニングビデオの作成など、あらゆる種類の不幸な仕事に終わりましたが、私は今でもそれについて罪悪感を感じていますが、私は提供するプレッシャーにさらされており、開発室に頭を追加するとスピードが上がるだけだと予想していました。

それはあなたとあなたの上司をトリッキーなポジションに置くので、それは残念です。

彼はおそらく彼が後輩に信頼できる仕事を何も持っていません、そして彼が持っているかもしれないどんな先輩も彼らの日常から気を散らすことはできません。簡単な方法は、ジュニア開発者以外の多くの非開発タスクを提供することです。彼はまた、上級開発者の時間を無駄にしたくないのです。

しかし、これからいくつかの問題が発生します。

最初に、彼があなたに与えている種類のdevopsジョブは本当に上級開発者を必要とします。特に、ビルドサーバーは、ソフトウェアをビルドしていて、問題点がどこにあるかを知っている人がセットアップする必要があります。

第二に、後輩はより有用になっていません。この5年が経過した後も、実際の開発作業に信頼できなくなったため、同じタスクを実行しています。

第三に、ジュニアは最終的に(あなたがそうであるように)彼らが自分のキャリアを助けていないことに気付くでしょう。後輩が経験が少ない(そして探している)というよりも質が低いという仮定は、この業界ではひどいが、非常に一般的な間違いです。

だから、はい、上司と一緒に座ります。しかし、彼が抱えている苦境を理解してください。皆さんの問題を解決するいくつかの取り決めに来ることができるかどうかを確認してください。あなたはシニアメンターを必要とし、現在のタスクのいくつかはシニアに渡される必要があります。これはプロジェクトの速度を低下させますが、長期的には見返りがあります。それはあなたがあなたの上司、そしておそらく彼らの上司に到達する必要があるポイントです。また、コストを軽減する見返りとして、提供できるものが見つかるかどうかも確認してください。

できない場合は、別の場所を確認することをお勧めします。


これらは「上級開発者」のタスクではありません。これ(ジェンキンス)はただの指示に従っています。シニア開発者は(経験から)パスを決定し、ジュニア開発者はパスに従います。ジュニア開発者がジェンキンスの設定について不平を言ったら、私は別のジュニア開発者を探します。セットアップにかかる時間は、この質問を投稿して回答を読む時間よりも短いです。(ハドソン/ジェンキンスを何度もセットアップしたので、わかっています。データベースレプリケーションも何度も行っています。「やるだけ」では、方法がわかります。あなたが何かをする方法を決して学んでおらず、リードすることを期待しているなら、あなたはトレーニングのPHBに他なりません。
マイケル

@michael_n:まったくそう思わない。Jenkinsの設定とビルド環境全体の設定には違いがあり、すべての開発者の負担を軽減しながら、ワンクリックで安全にデプロイできるようになっています。これが、Juniorが提供する違いです。ビルドサーバーをセットアップするように求められたときにシニアから提供されるもの。
pdr 2013年

...そして私はあなたに同意します。「Jenkinsの設定とビルド環境全体の設定には違いがあります。」丁度。だから、あなたが質問を文字通り解釈したかどうかに依存すると思います(私はしました)。jenkinsのインストールは午後です。make / ant / mavenビルドのセットアップには数日かかり、簡単に数週間になり、正しく実行する必要があります。優れたマネージャーは、経験に基づいて物事を分解し、委任することができます(この点で、私は過去に悪いマネージャーであり、実際にはより速いという理由だけで自分ですべてを行うことを選択していました。しかし、それはスケーリングされません。チーム」は進化しません。)
マイケル

@michael_n:意味がわかります。マネージャーの期待は低くなる傾向があると思います。特に、将来の計画ではなく、経済的な理由でジュニアを雇う人。
pdr 2013年

7

「ソフトウェア開発者」という用語は「プログラマ」と同義語だと思います。したがって、ソフトウェア開発者は、コードを書くことを主な責任とする人物です。私の最初の仕事では、私の肩書きは「開発者」であり、私の主な責任はソフトウェアの設計とコーディングでした。しかし、私はその用語の正確な定義はないと思います。人によって使い方が異なるため、意味が曖昧になります。

ただし、開発チームが効率的に作業するには、CIサーバー、SQLレプリケーション、テストサーバーへの展開、テストサーバーの監視、ビルドのアーカイブなどの設定が必要です(状況によっては、これらのすべてが当てはまるとは限りません)。 。

これらのタスクは、プロジェクトの初期フェーズではかなりの時間がかかりますが、適切なセットアップを実行すると、少し時間がかかります。

残念ながら、開発者はビルドサーバーを管理するのではなく、コードを作成します。したがって、上級開発者の方が重要なタスクを持っているため、これらの退屈なタスクはジュニア開発者の手に委ねられることがよくあります。

私はこれらのタスクをスキルを評価する手段として使用する企業を経験したことがありません。

現在の責任に不満がある場合は、ラインマネージャに問題を取り上げることをお勧めします。


1
応じて用語の違いがあり、これは
バーナード

1
また、によると、この
smp7d

2

場合によります。異なる企業がこれを異なる方法で定義しているようであり、一部の企業にとっては、これは一連の技術的機能の包括的な用語です。一部の人にとっては単なるタイトルです。以前に同じ質問をしたところ、「私たちの組織ではこれを行うことができるのは開発者だけである」のような答えを得ました。

理論的な答えは、開発者(コーダー/プログラマーと比較して)は、「何かをコーディングする」こととは関係なくても、「問題を解決する」人であるということです。

もっとコーディングしたいので、上司にもっとコーディングタスクを依頼するか、コーディングによって行うことのいくつかを実行するように依頼しますか?運用について言及しましたが、その一部はDevOpsフレームワーク(chefpuppetをチェック)によって実行できる可能性があります。これにより、機能がより効率的になり、開発に近づきます。


2

開発者がシステム管理スキルを持っていることが期待されることは珍しくありません。私は上級開発者として、私の時間の約5%がそのようなタスクに費やされていると推定しています。

あなたが行っていない場合は、任意のコーディングを、あなたはおそらくコーディング作業を得ることについて上司に相談してください。結局、あなたはコーディング経験を積み上げたいと思っています。また、システム管理者としてよりもプログラマーとしての方が価値があります。


1

コードがアプリケーションに適切に組み込まれなかったり、正しいデータにアクセスしたりしない場合、コードはそれほど役に立ちません。そのため、リストするアクティビティは、開発者が行うことと非常によく似ています。ソフトウェア開発者もドキュメントとテストで非常に混乱していることを付け加えておきます。これらは、ソフトウェアの制作に必要な活動です。

あなたの会社にこれを行うことができる専門家がいる場合は素晴らしいですが、そうでない場合は、ソフトウェア開発者がアプリケーションを本番環境にデプロイしてサポートするまでのすべての責任を負います。


0

中小規模の企業の開発者がサーバー管理者/ DBA /一般的な構成タスクを引き受けることはかなり一般的です。

ただし、これらのタスクがあなたの責任の大部分になり始めた場合、それはあなたのキャリアの目標によっては心配する必要があるかもしれません。おそらく、特定の企業内で一般技術者として成功することができますが、新しい企業に移行する必要がある場合、移行で多くの問題が発生する可能性があります。従来の開発を行っていない場合は、履歴書でそのことを明確にする必要があります。あなたが説明したように仕事で一生懸命働いた後、まっすぐな開発で仕事を得たいのであれば、あなたは業界での年数に基づいて「資格を超えた」ものを受け入れる必要があるかもしれません。

一方、さまざまなスキルを持つ開発者を探している企業もあるかもしれません。しかし、面接でコードを書くという現在の傾向では、たとえ仕事に就いても少しのコードが必要な場合でも、一流のコーディングスキルも必要になります。

あなたがあなたの現在の位置で動けなくなることを望まないなら、私は間違いなくすぐに状況を改善しようとするでしょう。

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