実際に構築しているものよりも、何かの構築方法に関心があることを心配することはありますか?


11

プログラマーとして、私は自分のツール、他の人々のコード、私のコード、一般的な世界に固有の厄介な迷惑を持っています。常に改善したいです。だから私はリファクタリングし、最新のテクニックを常に把握しています。私はパターンを学ぼうとしますが、車輪を再発明しないようにフレームワークを使用しようとします。絞り込めるパターンの量で靴下を吹き飛ばす技術仕様を書くことができます。

しかし、最近は、成功するソフトウェアを実際に実装する方法よりも、使用しているツールについて実際によく知っていると感じています。

ヒューマンファクターのスキルが不足しているように感じます。成功するソフトウェアエンジニアになるには、最もクールなフレームワークを知る以上のことが必要だと思います。次のスキルセットも必要だと思います。

  • インタラクションデザイン
  • ユーザー体験
  • マーケティング

一緒に仕事をしたことのある人々や、これまでに取り組んだ素晴らしいプロジェクトから学んだことは少しありますが、これらのスキルを「所有」しているとは感じません。

私は正しいですか?これらのスキルをさらに発展させようとするべきですか、それともキャリアのためにこれらを行う人々に任せるべきですか?

あなたが何かをしている方法に縛られすぎないようにし、「ユーザーを素晴らしいものにする」ようにするにはどうすればいいですか?

プログラミングの観点からこれらのスキルを学ぶための優れたリソースを知っている人はいますか?


2
はい、それらは大したことです。あなたが一人の会社だったら、すぐにピンチを感じたでしょう。新興企業は、あなたが生き残るために戦っていることを理解しておらず、彼らが来月ベータ品質のものを押し出すか死ぬ必要があるため、または顧客と話すときに真実を少し広げることができないため、あなたを雇わないかもしれません。しかし、誤って管理されている大企業では、おそらく利己的な自己利益を追求する方が良いでしょう。とにかく管理者は常にそうします。
ジョブ

私は「すごい、それはスムーズに動作する」と思う素晴らしい製品を使うことを楽しんでいます。したがって、そのような「すごい」製品の作成に参加しようとするのは自然なことです。これがあなたにとって自然ではない場合、多分これを楽しんでいて、良いお金を払って喜んでいる人を念頭に置いてください(Apple製品を考えてください)。
レニープログラマー

2
結果指向のワーカーではなく、プロセス指向のワーカーになる道を進んでいるようです。それはあなたが精通していることなので、プロセスに集中します。プロセスを手放し、結果に集中することを学びます。あなたが言ったように、設計パターンやものは単なるツールです。あなたの主な関心事は、あなたが作っている製品がどのような問題を解決するかということです。
-whatsisname

1
@whatisname、それほど単純ではないので、「結果」は、そのようなアプリケーションが一緒にハッキングされたアドホックコードを使用してバージョン1.0でうまく機能するように見えますが、バージョン2.0では大きな変更が必要です再作業を必要とする以前の努力の「結果」にこだわるつもりです。ユーザーの観点から見たアプリケーションの機能が氷山の一角にすぎず、できる状況だと思います」 tはちょうどという「結果」を制約する
programmx10

@whatisnameもしそれが答えであったなら、私はそれを受け入れたでしょうが、リックにも同意します。私が目指しているのは、2つのスキルセットの1つがバランスしている点です。そのため、最高のツールとテクニックを使用しながら、優れたユーザーエクスペリエンスを設計することができます。どちらかが苦しんでいるようです。両方のスキルセットを第二の性質にする必要があります。
ロブスティーブンソン-レゲット

回答:


5

私のアドバイス:できるだけユーザーと話します。あなたが大企業にいて、ユーザーとは異なる大陸にいるのか、フリーランサー型のポジションにいるのかはわかりませんが、可能な場合はユーザーと話してください。

私は何度も座って、世界がこれまでに見た中で最高のコードを構築すること、または最小のサイクルと時間を使用する関数を構築することは私の仕事ではないことを覚えておく必要があることを知っています技術的に可能な最短時間ですが、ユーザーが仕事をするために必要なものは何でも作ります。そして、その効果のために、私は、とにかく技術的な能力を超えて、(とにかく)持つべき最高の2つの特徴は、ユーザーのビジネスに関する優れた実用的な知識と、それらとの良好な仕事上の関係であるとわかります。

私は小さな会社(50人以下)で働いており、誰のキューブにも歩いて行って、私が彼らのために作った/修正した最新のことについて話すことができるのが好きです。私が仕事から得た絶対的な最高の気持ちは、彼らが彼らの仕事について話しているのを聞くことができ、技術的解決策が存在することさえあり得なかった問題を解決する何かを提案することができるときです。私が彼らのビジネスを理解しておらず、彼らとカジュアルな会話をすることができなければ、それは不可能でしょう。


ユーザーと話すための+
ゲイリーロウ

5

それはあなたがどこで働いているか、そして将来どのようなタイプの会社に移動するかによって決まると思います。これは本当に自由な議論です。

中小企業では、多くの帽子をかぶることがあります(ただし、自分の製品を販売するつもりでない限り、マーケティングがこのリストにある理由はわかりませんが)。

大企業では、これらのことに特に焦点を当てる人々がいる傾向があります。

本当に、それはあなたが自分自身がどこへ行くのか、そしてあなた自身のためにより多くの扉を開く可能性があるということについてのすべてです。


2
ありがとう-興味深い点。私はより多くの販売よりも、私は開発のブログ、彼らは、などを統合する方法SEO、アフィリエイト、考えているとしてマーケティングを表示
ロブスティーブンソン・レゲット

2

記述するコードの各行について、バグの可能性を紹介します。

そのため、最良の設計では、おそらくDRY(Do n't Repeat Yourself)の原則により、導入されるコードの量が最小限に抑えられます。ただし、スタートアップはYAGNI(You Ai n't Gonna Need It)アプローチを好んでおり、これによりMVP(Minimum Viable Product)がより迅速になります。

あなたの目的が、ユーザーが望むものを正確に実行する、クリーンで使いやすい製品を作成することである場合、YAGNIは究極のデザインパターンです。作業コードに直接貢献しないものはすべて捨ててください。それには、純粋なビルドプロセスとパターンの強迫観念的な使用が含まれます。

いくつかの読み物

ユーザーインターフェイス設計に関する優れた本である「考えさせないでください」を読むことをお勧めします。また、Gitomerシリーズの書籍(特にThe Little Green Book)は、販売、ネットワーキング、マーケティングのスキルを支援します。


1

開発者としてのあなたがインターフェイスを実際に使用する最初の人であり、それが使用可能な状態になる数週間または数か月前に、大企業でもある程度のインタラクションデザインとユーザーエクスペリエンスの知識が非常に役立つと思いますテストするテスター。

初期段階では、計画されたほど使いやすいインターフェースや、見落とされている可能性のある設計原則を指摘することは非常に役立ちます。何か具体的な仕事をする前に、これらのことを見ることは難しい場合があります。そして、あなたは常に、具体的な仕事をする最初の人です。


私は大企業ではなく、過去にインタラクションデザイン会社で働いていました。私の知識が時々不足していたため、私はそれを延期することに気付きました。リソースや書籍の推奨事項はありますか?
ロブスティーブンソン-レゲット

1

絞り込めるパターンの量で靴下を吹き飛ばす技術仕様を書くことができます。

その声明だけで、ソフトウェア開発の他の側面に取り組む必要があると信じさせられます。


その中に皮肉がありました:)おそらくこの質問ではあまりうまく行きませんでした。
ロブスティーブンソンレゲット

@Rob、あなたが言ってくれてうれしいです、私は大きな赤い点滅パターン乱用ライトが至る所で消えていました。
オコド

1

会社のソフトウェアのあらゆる側面に責任を負うことは決してないかもしれませんが、多くの主題にわたって幅広い知識を持つことは非常に貴重です。他に何もなければ、それはあなたがインタビューで落とすことができるより多くのものですので、あなたはあなたのキャリアを前進させ続けることができます。

仕事の一部の分野で十分なチャレンジを受けていない場合は、自宅で自分のプロジェクトを開始して、面白いと思うことをしてください。または、オープンソースプロジェクトに参加してください。


1

いいえ、そうではありません。構築するものを心配するのは私の仕事ではなく、クライアント/雇用主が定めた仕様に合わせて構築することです。彼らはすでに彼らが何を望んでいるかを知っており、それを適切に実装して保守できるようにするのは私次第です。ソフトウェアに機能を追加する最善の方法がよくわからないと伝えることができれば、機会があればアドバイスをします。

おそらくいつかは自分のプロジェクトを作成して、自分が構築しているものを心配したいと思うでしょうが、ソフトウェア開発のキャリアを始めるときは、物事を行う正しい方法を常に学習することが常に重要です


興味深いことに、あなたは少数派です。時々他の人が間違っているかもしれないと思いませんか?
ロブスティーブンソンレゲット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.