タグ付けされた質問 「communication」

プログラマーとソフトウェア開発に関わる他の人たちとの間のコミュニケーションに関する質問。これには、利害関係者、管理者、エンドユーザー、設計者、テスター、およびその他の開発者が含まれます。

13
チームのスキルが低い場合、コードのスキルを下げる必要がありますか?[閉まっている]
たとえば、JSにはデフォルト値を取得するための一般的なスニペットがあります。 function f(x) { x = x || 'default_value'; } この種のスニペットは、私のチームのすべてのメンバーが簡単に理解することはできず、JSレベルは低いです。 このトリックを使用しないほうがいいですか?JS開発者によると、コードはピアでは読みにくくなりますが、次のコードより読みやすくなります。 function f(x) { if (!x) { x = 'default_value'; } } 確かに、このトリックを使用して同僚がそれを見ると、彼らは何かを学ぶことができます。しかし、多くの場合、彼らはこれを「賢くしようとしている」と見なしています。 チームメイトのレベルが私より低い場合、コードのレベルを下げる必要がありますか?

10
CV /履歴書にStack Overflowプロファイルリンクを配置しますか?[閉まっている]
新しい仕事に応募する場合、履歴書にStack Overflowプロファイルリンクを配置しますか? これは、あなたが開発コミュニティのアクティブなメンバーであることを雇用者に示し、またあなたの知識+あなたがあなたのアイデアをどれだけうまく伝えているかについての洞察を提供します。 しかし、それは私にとって少しギミックを感じるでしょうか?

8
どうやってバイクシェッドをやめさせるのですか(些細なことに焦点を当てる)?
私は他のチームに新しいコードベースを教えることを任されてきましたが、私は問題に直面し続けています。私が実際に人々と一緒にコードを調べに行くときはいつでも、全体の運動が自転車脱落(些細な問題に不均衡な重みを与える組織のメンバー)運動に移るまで、それほど遠くはありません。彼らはコードベースを知らないが、それを改善するのを助ける必要があると思うので、彼らは理解できることに集中します: Why is that named that? (その名前が付けられた理由を説明するのに2分、新しい名前を議論する10分以上) Why is that an abstract base class rather than an interface? (説明するのに2分、この決定の相対的なメリットを議論する10分以上) ...等々。今、誤解しないでください-良い名前といい、一貫性のある設計が重要であるが、我々は、コードが実際にどのような議論に取得することはありませんし、システムが何らかの意味のある方法で設計されていたりする方法。私は、これらの接線から人々を引き離すために審判会議をいくつか行ってきましたが、彼らはいなくなりました-彼らのペットの些細さが修正されたときのコードがどうなる/はずであることに気を取られ、彼らはより大きな姿を見逃しています。 そのため、後で(またはコードベースの別の部分で)再試行します。人々は、バイクシェッド効果を克服するのに十分な知識を持っていなかったため、繰り返します。 私はいくつかは、他のものよりを助ける...短いすぐに引数を切断、死にそれを主張し、それらをさせる、小さなグループ、大きなグループ、コード、ホワイトボード、Visioの図、テキストの巨大な壁を試してみたが、何も働きません。地獄、私はチームの他の人に説明してもらおうとさえしました。 それでは、他のプログラマーを教育して、些細なことに固執するのをやめ、設計に有意義に貢献できるようにするにはどうすればよいでしょうか?

21
セールスのオーバーコミットを永続的に防ぐ方法はありますか?[閉まっている]
リリース日が技術的なものに基づいて設定されているのではなく、営業担当者がそれまでに顧客にコミットしているため、繰り返し立ち往生しているようです。他の会社で開発中の友人との議論に基づいて、同じことが起こるようです。 「ここがコミットされた機能セットであり、ここがコミットされたリリース日です」と主張するのは困難です。なぜなら、この時点でそれに乗っているお金があり、それがすべてに勝るからです。 一般的に、これを後押しする方法はありますか? このリリースではない場合、将来的にはどうですか?私が抱えている問題は、私がそうする一つの方法を見る唯一の方法であり、それはできる限り最善を尽くすことですが、いわば「現状のまま」ソフトウェアをリリースすることです。 私の名前が付けられているので、バグの多いソフトウェアをリリースしたくありませんが、一度に数か月間80時間週を実行するだけで、任意に設定されたリリース日を証明するだけです。 編集:記録のために、私は今80時間の週をやっていない、ちょうどそれはリリース日までに予想される機能セットをカバーするために必要なものとして思い浮かぶ。

16
ソフトウェア開発者として自分を売り込むには?[閉まっている]
これは、私たちのような技術分野の若者の間で頻繁に起こる問題であることに気づきました。 私たちのキャリアの初めには、雇用者に自分を売る方法がわからないだけで、ランダムな男#57(プログラマーですが、技術的にはあなたほど良くはありません)は、彼が昇給または昇進することになりますあなたよりも自分自身とコミュニケーションし、マーケティングする方法を知っています。多くの人がこれを過去に見たことがあると思いますし、将来的にはもっともっと多くのことを確信するでしょう。 知っているすべてのプログラミング言語とライブラリをリストする以外に、就職の面接や昇給を求めるときに指摘するのに、どのようなスキル/能力(技術的、またはその他の性質)が関連すると思いますか?

10
同僚にユニットテストを書くよう動機付ける方法は?[閉まっている]
私たちは約5年間生産されている大型製品に取り組んでいます。コードベースは動作しています。あまりよくありませんが、機能しています。新機能は実稼働環境に投入され、小さなQAでテストされます。バグは修正されています。しかし、私以外の誰もユニットテストを書いていません。この特別なバグ(テストケース)が二度と発生しないことを保証するために、単体テストを記述してバグを「追跡」する力を使用する人はいません。 私は経営陣と話しました。開発者と話しました。会社全体の全員と話をしました。みんな言う:「そう、もっとユニットテストを書かなければならない!」それは約一年前でした。それ以来、コミット前のコードレビュー(Gerrit)と継続的インテグレーション(Jenkins)の導入を強制しています。 ユニットテストについていくつかの会議を開催し、ユニットテストを書くことの利点も示しました。しかし、誰も興味がないようです。 Q1:同僚に単体テストを書くように動機付けるにはどうすればよいですか? Q2:個人コードの品質基準を遵守する意欲を維持するにはどうすればよいですか?(時にはイライラすることがあります!) PS:いくつかのイライラする事実(1年で到達): 単体テスト:1693 合計「サンプル単体テスト」:約50 完了:1521 編集:私はあまりにも期待していますか?その最初の職場であり、ベストを尽くそうとしています。 編集2:すべての答えに基づいて、私は自分のために小さなチェックリストを作成しました。私はプライベートで2人の開発者と話をしました。 そのうちの1人は、テラスティンが言ったように、彼がユニットテストに本当に不快であると私に言った。彼は「もっとプロフェッショナルになりたい」と言ったが、キックスタートが必要だ。彼はまた、すべての開発者とのユニットテスト会議(約9〜11日)は良かったと言いましたが、あまりにも混雑していました。えー 批評家もいますが、それから学びます。(tdd kataミーティングに関する以下の回答を参照してください!) もう1人は、単体テストの作成には興味がないと言いました。彼は自分の仕事が給料に十分であると考えています。彼はそれ以上の努力をしたくありません。私は全く言葉を失いました。典型的な9-5「労働者」。 来週は他の開発者と話をします。 素晴らしい回答(これまでのところ)とサポートに感謝します。ほんとうにありがとう!私は多くを学びました、ありがとうございました!

19
すぐにユーザーに見えない改善に価値が見られない管理に対処する
スケジュールのプレッシャーを理解できます。ユーザーは会社の生命線であるため、ユーザーを喜ばせたいと考えています。ただし、特定の変更により、今後すべてが簡単になることも事実です。残念ながら、私の組織の経営陣はそのような変化に対して本能的な抵抗を持ち、この抵抗は非常に強いため、長期的な改善の妨げになります。 たとえば、Appleは最近、iOSプログラム用の自動参照カウントを導入しました。これは、以前は使用する必要があった手動の保持/解放呼び出しを大幅に改善したものです。コードは記述しやすく、保守しやすいです。切り替え自体がクラッシュを引き起こす可能性があります。しかし、それらが解決されると、ランダムな奇妙なクラッシュの数は減少する可能性があります。 最近、上司に、自動参照カウントに切り替えたいと言いました。彼の応答は、目に見える改善に集中したかったということでした。この反応は、彼の上からの圧力、そしておそらくCEOからの圧力によって引き起こされた可能性があります。 同様の例がたくさんあります。一般的なスレッドは、何かを修正する必要があるが、修正の短期的な費用は短期的な利益を上回り、「短期」は「今後数週間以内」と定義されます。 状況をどのように処理すればよいですか? 編集:回答いただきありがとうございます。来てください。私の状況に関連しているため、マネージャーとCEOはどちらもプログラマーであることを明確にする必要があります。どうやら彼らのプログラマー側は他の圧力に圧倒されているようです。

14
プログラマーにとってオンラインでの存在感はどれほど重要ですか?[閉まっている]
プログラマーの「ポートフォリオ」(通常、このようなサイトやGitHubなどの公開プロフィール)についての言及(ここの投稿と実際の職務記述の両方)にますます気づいています。 これはどれほど重要であり、企業(特に新興企業)は、オンラインでの存在感のない優れた候補者を拒否(または、面接さえせずに直ちに破棄)しますか? 個人的に、私は非常に低いプロフィールをオンラインに保つことを好みます。ここでの私の名前は私を特定できず、他のサイトのハンドルも持っています。非常に質素な(そして完全に非公開の)Facebookページがあります。私は自分でコードを作成しますが、コードはローカルリポジトリにあります。一般に、私に関するオンライン情報が少ないほど良いです。 デザイナーが何らかのオンラインポートフォリオを必要としているのを見ることができましたが、プログラマーにとって、これは就職活動において本当に大きなネガティブなのでしょうか?

22
ジョブホッピング、それは問題ですか?[閉まっている]
採用プロセスに関与している人(マネージャー、インタビュアーなど)として、1〜2年ごとに転職した候補者についてどう思いますか? 更新皆さんのすべての入力、いくつかの本当に素晴らしい反応、すべての投稿の良い情報に感謝します。私は過去5年間で現在3つの仕事に就いており、自分のポジションがどこにも行かないと感じているので尋ねました(フルタイムではなく、そもそもポジションが契約されていたはずです)。 ここでの私の唯一の選択肢は、私が本当に興味のないことや新しい仕事を探していることをやっている別のチームへの移行のように見えますが、最近の仕事の履歴はすべて短期間です。

7
同僚が予告なしに不必要な改善を行った場合、どのようにコードに責任を負いますか?
私のチームメイトの1人はITショップのすべての取引のジャックであり、私は彼の洞察を尊重しています。 ただし、彼は時々頭を使わずに私のコードをレビューします(彼はチームリーダーの2番目の指揮官なので、それは予想されています)。そのため、時々、彼は最終目標を完了する前に私の変更をレビューし、すぐに変更を加えます。 また、3か月以上前のコードの一部に不要な改善を加えた場合もあります。 これにはいくつかの理由があります。 間違いを修正する機会が常に与えられるとは限らない 彼は、彼が混乱しているときに私が何を達成しようとしていたかを尋ねる時間をとっていないので、テストや変更に影響を与える可能性があります 彼のコードが読めるとは限らない 期限は問題ではなく、彼の現在のワークロードは、コードの変更を確認する以外に私のプロジェクトでの作業を必要としません。 とにかく、私は過去に彼が私のコードの所有権を取得できるように変更したい何かを私の仕事で見た場合、私に投稿してくださいと言いました(多分私は「欠点」と言うべきでした)、彼は応答しませんでした。 彼に私に彼の変化を説明するように頼むとき、私は攻撃的になるかもしれないと恐れています。 彼は自分を守る静かな人ですが、彼の行動は続きます。私たちはチームであるため、私は彼にコードの変更を禁止したくありません(できませんでしたが)。 説明を追加: 1つの開発ブランチを共有しています。重要な作業を失うリスクがあるため、すべての変更が1つのタスクを完了するまで待機しません。したがって、変更を確実にビルドし、何も壊さないようにします。 私の懸念は、チームメイトが彼の変更の背後にある理由や目的を説明していないことです。私は彼が私の祝福を必要とするべきではないと思うが、私たちがアプローチに同意しない場合、私たちが長所と短所を議論し、両方が何が起こっているかを理解したら決定を下すことが最善だと思った。 これはチームリーダーとはまだ話し合っていません。必要でない限り、経営陣が関与することなく個人的な意見の不一致を解決したいからです。私の懸念は私たちの仕事に対する脅威というよりも個人的な問題のように思われたので、チームリーダーを煩わせないことにしました。私は、コードレビュープロセスのアイデアに取り組んでいます。これは、私のペットの気持ちをすべて気にすることなく、より組織的なコードレビューのメリットを促進するためです。

5
なぜGitやDebianのようないくつかの大きなプロジェクトでは、メーリングリストのみを使用し、問題トラッカーを使用しないのですか?
まともなサイズのプロジェクトのバグトラッカーは、私にとっては簡単なことのように思えます。問題が衝突したり混同したりすることなく、数百または数千の問題を非常に簡単に整理できます。 そのため、Gitのように、メンテナンスと開発を調整する主な方法としてメーリングリストを使用するいくつかの非常に大きなプロジェクトを見ると、少し圧倒されます。例: Git-コミュニティページ: ...バグレポートはこのメーリングリストに送信する必要があります。 WikipediaごとのDebianバグ追跡システム: ...そのユニークな機能は、バグレポートを編集するためのウェブインターフェースの形式がないことです-すべての変更は電子メールを通して行われます。 最新のバグトラッカーの多くは、電子メール(見ているバグや自分に割り当てられているバグに関するコメントや通知を受け取ることができます)やバージョン管理システム(問題を解決するなどのマークを付けることができます)と非常によく統合されています。)。この多くは、メーリングリストを使用して手動で行う必要があり、興味のないバグに関する大量の電子メールを受け取ることになります。 それでは、Webベースのバグトラッカーに対するメーリングリストの主な利点は何ですか?一部の大きなプロジェクトでメーリングリストのみが使用されるのはなぜですか?

5
タスクが思っているよりもはるかに長くかかる理由を非技術者に説明する方法は?[閉まっている]
ほとんどすべての開発者は、次のようなビジネス側からの質問に答える必要があります。 なぜ、この簡単な問い合わせフォームを追加するのに2日かかるのでしょうか? 開発者がこのタスクを見積もるとき、彼らはそれをステップに分割するかもしれません: データベースにいくつかの変更を加える DBの変更を最適化して速度を向上させる フロントエンドHTMLを追加 サーバー側のコードを書く 検証を追加 クライアント側のJavaScriptを追加 単体テストを使用する SEOセットアップが機能していることを確認してください 確認メールを実装する コードをリファクタリングして最適化して速度を向上させる ... これらは、基本的にタスク全体をHTMLをまとめてデータを保存するためのテーブルを作成するものと見なしている、技術に詳しくない人に説明するのは難しいかもしれません。彼らにとっては、最大で2時間です。 では、なぜ推定値が開発者以外にとって高いのかを説明するより良い方法はありますか?

18
コミュニケーション能力が低い開発者を管理する方法
私は、大企業内でライフサイクルの中間点にあるアプリケーションの小さな開発者チームを管理しています。残念ながら、これは通常、プログラミングタスクが「その他の技術的作業」に30/70分割されていることを意味します。この作業には以下が含まれます。 DBA / Unix / Network / Loadbalancerチームとのさまざまなタスクでの作業 異なる地域でのハードウェアまたはインフラストラクチャの注文と配置の管理 まだCIに移行されていないテストの実行 分析 サポート/調査 開発者はすべて、これらのより日常的なタスクを行うよりもコーディングを好むと言うのは当然です。そのため、楽しいプログラミングジョブをチーム間で均等に配布するようにします。 ほとんどのチームは、独自のコンパイラ/ゲームエンジン/高頻度取引システムなどを作成するためのエリートプログラミングスキルを持たないかもしれませんが、「物事を成し遂げる」ことができ、他のチームと協力する優れたコミュニケーターであるため、採用されました、そしてここで複雑な官僚機構をいくぶんナビゲートします。彼らは優れた開発者ですが、優れた総合的な技術スタッフでもあります。 ただし、チームの1人のメンバーはおそらく平均以上のコーディングスキルを持っていますが、平均以下のコミュニケーションスキルを持っています。従来、以前の開発マネージャーは、上記のより日常的なタスクではなく、プログラミングタスクを提供する傾向がありました。ただし、大企業のIT部門で一般的に必要とされるバランスのとれたスキルセットを開発する適性を示している他のチームにとって、これが公平だとは思いません。 この状況ではどうすればよいですか?彼にもっとプログラミングの仕事を与え続けると、それがより速く行われることを知っています(そして逆に、彼は他の仕事をより遅く完了すると期待しています)。しかし、それは私の原則に反しており、単にあなたが好きではないタスクに悪いことによって、あなた自身のために「快適なニッチ」を切り開くことができるという考えを促進します。 clarifyみが原因でこの問題に対処しようとしていないこと、または言及したように「肩に欠けている」ことを明確にしたいと思います。バランスの取れたチームを維持する方法についてのアドバイスを探しています。チームは幸せでやる気があります。この質問に対するさまざまな答えを観察することにより、これを達成する方法について多くの異なる意見があるようです。

21
リファクタリングを非技術者にどのように説明しますか?
リファクタリング(および技術的負債)を非技術者(通常はPHBまたは顧客)にどのように説明しますか?(「なんと、目に見える違いなくあなたの仕事に1か月かかるでしょうか!」) 更新これまでのすべての回答に感謝します。このリストは、適切な人を指すことができるいくつかの有用な類推を提供すると思います(PHBへの参照を編集するのは賢明かもしれません!)

8
職場でStack Overflowを提唱する方法[終了]
Stack Overflowを日常業務のリソースとして使用することについて、職場で短いプレゼンテーションを行うことを考えています。 これを行った経験は何ですか? 同僚にそれを伝えるのに有効なリソースだと思いますか、それともリソースとしてGoogleについて話すのに似ていますか? それを行うより良い方法はありますか? Stack Overflowの質問側に答えるのではなく、質問をすることに傾倒していました。 フォローアップとして。 もともと、私は質問を自分のケースに限定しすぎたくはありませんでした。私のプレゼンテーションは、わずか4分間の簡単なトークで、1時間かけてさまざまなグループに繰り返します。 Stack Overflowの講演の前に質問をして、プレゼンテーション中にそれを参照することがあります。うまくいけば、1時間の間にいくつかのアクティビティがあります。 また、すべての開発者ではないため、視聴者に適した他のStack Exchangeサイトについても簡単に説明します。スーパーユーザー、サーバーフォールト、プログラマーはうまく機能すると思います。 プレゼンテーションのスケジュールが変更されたため、今後2か月間はプレゼンテーションを行いませんが、更新方法を更新します。

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