どのプログラミング言語では、最高のですか? (プログラマや開発者にとって重要なキャリアアドバイス)

による

あなたはトラブルを顧客に支払うことにソーシャルメディアのリードに変換をしている? CoupSmartあなたはソーシャルメディアの連絡先リストは、 "インサイダー·クラブ"でクーポンマーケティングを使用することができ非常に巧妙なツールです。

CoupSmartの現在のCTOであることに加え、トロイ·デイビスは彼の後ろの成功の長いリストを持つ経験豊かな開発者です。 ソフトウェア業界での彼の年間を通じて、彼はいくつかの主要キャリアの動向に注目している潜在能力に到達しないものとは別の成功した開発者がいる。

トロイは私と一緒に座って、彼の洞察力の一部を共有するのに十分な良いされています。 以下のインタビューをお楽しみください。

あなたは私自身とCoupSmartに関する背景のビットをお願いできますか?

私は1995年に広告代理店のウェブマスターとして始まった、私のキャリアが進むにつれて、いくつかの企業のITマネージャ、ソフトウェア開発者およびデフォルトとして働いていました。 私が働いて一つの製品は、2008年に一部の投資資金を持って、それ以来、私はCTOとして、スタートアップ企業のために取り組んできました。 私は私のキャリアのほとんどのWebアプリケーションに主に集中してきただけでなく、ほかのアプリをいくつかのデスクトップを開発し、組み込まれています。 2001年に私はシンシナティプログラマギルド、ほとんどの技術グループはかなり異なっている特定の技術を支持しないことによって、そのメンバーの知識を広げることに焦点を当てた教育の非営利と呼ばれるグループを開始しました。 代わりに、フォーカスが新しいアイデアをどのような技術が使用されたに関係なく学習しない上に配置された。 我々は、5または6年間の一貫した月例会があったが、それは素晴らしい経験でした。

CoupSmartは、最高経営責任者(CEO)ブレイクシプリーによって2009年に開始しました。 もともとiPhoneアプリを中心に、我々は、クーポンの経済、ビジネス、社会的な力学に関する思い付いたいくつかの興味深いアイデアを試して昨年末にフォーカスを移した。 我々はここ数ヶ月のカップルのためのWeb / Facebookのプロモーションシステムを提供してきましたが、それは価値の高い提案を得るために人々が友人とのオファーを共有することができます。 お客様は、現時点でシンシナティに大抵あります。 私達は私達の顧客のために物理的な世界にソーシャルメディアを結びつけるに焦点を当てて、最近ではこの努力を支援するために、販売のポイントのハードウェアデバイスを開発しました。 これは現時点では少数の顧客と共同でベータテスト中です。

ソフトウェア開発コミュニティの考え方とあなたの最大の牛肉とは何ですか?

それはあまり問題を提示するソフトウェア開発者のコ​​ミュニティですではなく、探し出し、他のプログラマーと話をする努力をほとんどの人は知識そのものを求めて、通常、他の人が彼らの課題を満たす方法を学習したいと考えています。 これは、しばしば複数の言語、ベンダー、プラットフォーム、等を試みにつながる、それがすべて良いことだ。

私は議論している問題がより頻繁に孤独な開発者で見られます。 求人広告は、それらの経験を持つ開発者のためのより高い初任給を示すという理由だけでそれらが使用する技術は、当初は魅力的です。 いくつかのクラスと試行錯誤の末、開発者はソフトウェア開発の狭い面での最低限の有能になり、土地も開発者を選別することができない非技術系の人事の人と(しばしば)面接によって仕事。

数年後には、開発者はしばしば、自分に割り当てられたタスクに習熟一定のレベルを実現し、ソフトウェア開発の専門家であると仮定されます。 彼らはこのレベルでできますが長い間、彼らはしばしば海岸。

いくつかの時間後に、新しい人は、部門を引き継ぐと、その前身で使用される技術のために気にしません。 ので、移行作業が開始され、誰もが迅速に新しい技術に適応するか、それ自体の作業のいくつかの他の種類を見つけることが期待されています。 開発者が仕事の彼らのフィールドで最新の状態で維持することに興味を取った場合、それらに貢献する新しいシステムのための勧告を持っているだろうし、おそらく新しい構造で快適な場所を見つけるだろう。 しかし、彼らの栄冠に休まれた人は、しばしば、彼らは単にそれを恐れているので、変更を妨害、守備対応しています。 そして最終的に彼らは、ピンクのスリップを得る。

私はシンシナティプログラマギルドでアクティブだったとき、私は波に解雇された多くのメインフレームの開発を見て、一度失業つのキーアイデアは、彼らがためにやっていた同じことをやって別の仕事を得るために必要があることをピックアップして必死だった最後の15年か20年。 これらの人々の多くは、書かれたCOBOLやFortran彼らの全体のキャリアを持つ彼らの最初のギルド会議に来ました。 彼らは何かを学ぶためにわざわざことはありませんでした。 そしてそれらのほとんどは、ただ一つの新しい言語を学ぶことは彼らが以前の役割と地位を回復するために必要なことすべてだという考えを持っているように見えた。

いくつかは彼らのキャリアを再起動して数千ドルを費やして、。NetまたはJavaで資格を得た。 いくつかは新しい仕事を得て、私は再びギルド会議でそれらを見たことがない、彼らは私が思う彼らの孤独な存在に戻った。 しかし、それらのほとんどは、彼らは一時仕事でそれを買う余裕があったとして、このクラスまたはそのクラスを取って、年間の失業にたたずんでいた。 それらの非常に少ないか、フリーランスを行ってみました。 彼らはすべての大企業に戻って欲しい、それが見えた。 雇用保障の幻想は、会議に出席し同じようなキャリアの難問を持つ人々のすべてを意味反して、明らかに証拠にもかかわらず、流行していた。

開発者は特定のプラットフォームや言語の下で成功を収めている場合は、その特定の領域の専門家を専門となることと間違って何ですか?

研究の特定の領域の専門家になる問題は何もない、それが問題だ過度の特殊化です:他のすべての排除への技術の一組を中心に。 だからあなたが書き込みを好きに起こるので、C + +、Linux上でそれがまともなソフトウェアを記述する唯一の方法だようにあなたはふりをすべきという意味ではありません。 あなたはあなたを信じるように少数の人々をだますかもしれませんが、最終的にあなただけの自分自身をだましています。

例:私は絶対に嫌われ、Windowsとそれと一緒に行ったすべての操作に使用するプログラマ。 ちょうどそれと同じ部屋にあると立つことができませんでした。 私はMac上で働いたので、私は何らかの形で免除されました。 しかし、我々はすべての主要ブラウザと互換性があるために必要なWebアプリケーションを持って、それが計画だった。 この開発者は、単にSaaSの会社のための自殺のほぼ一定の行為だったでしょうInternet Explorerをサポートしていないようにスタッフのちょうど約皆と戦った。 私は、このグループの担当していたので、それだけで互換性の仕事は彼女の良心の呵責にもかかわらず、完了させるために彼女を説得しようとする私の仕事だった。 それは非常にうまく動作しませんでした、いくつかの叫びの発作と怒りは、人や電話での両方が起こった。 私はいくつかのアイソレーションが役立つだろうが、それはなかったし、最終的に彼女は解雇されたかどうかを確認するために、しばらくの間だけフリーランサーとして彼女と一緒に動作するように促した。

別の例:Linuxの開発者は、私が90年代後半で働いていた最初の広告代理店で私と一緒に働いた。 彼は選ばれた技術があったか偉大な、若い、非常に独断的であった。 彼はそれを見たように、彼は頻繁に彼らの技術的無能のために同僚を侮辱し、彼はスタッフと人気がありませんでした。 しかし彼は会社で誰もが一度に記述する方法知っていて、それが重要なコードでしたので、彼の社会的な噴火が許容されたコードを書きました。 私はその時点で、LinuxとCについての詳細を決定し、数ヶ月以内にこの男は毎日何をやっていたのはかなりよく理解していました。 それは言えませんでした。 技術的優位性の彼の主張は、松葉杖になっていた、彼はすべてに一生懸命働いていない正当化するために知識の他人の欠如を使用していました。 最終的に彼はいくつかの同僚と、特に厄介な交換の後に行かせました。 翌日、彼は自宅からクライアントのサーバにログインし、そうすることで、彼が示唆されているかもしれないいくつかのログファイルと共に、それらのWebサイト全体を削除しました。 しかし、彼は一つを逃し、それは我々がその時点で彼のログインに割り当てられる彼のISPでその日後に確認されたIPアドレスを持っていた。 私たちは、とにかくクライアントを失ったが、彼はその後長年の法執行当局による特別な監督を得た。 まだ監視されるかもしれないが、私はよく分からない。

多くは、それがスマートな賭けと最強か最も支配的なプラットフォームで、あなたの努力を調整するスマートキャリアの移動だと主張します。 この考え方で何が悪いのでしょうか?

あなたは何をに焦点を当てていると、ちょうど月の現在の味であり、必然的にいくつかの点でいくつかの他の技術に置き換えられますことを理解している限り何もない。 だから、それがスイッチする時が来た前に、代替案について学習することによって調製することができます。

私のポイントは、そのプログラミングはすべての重要な能力が添付され、有効期限を持っているキャリアパスである、時間がたつにつれて、その有効期限は短くなる。 これが変化しているどのくらいの速ハードウェアに見合った、マイクロプロセッサ業界は今、30年以上にわたってムーアの法則の予測に非常に近い宿泊された、多くの学者は、これは我々はコンピューティングのまだ始まったばかりであることを示す証拠であると言う。 それは、我々はまだこれらの技術と持続可能な高原の任意の種類に達したと仮定することは賢明ではありません。

ので、私は前述したメインフレームの人々は15年か20年の同じタスクは、その種類の最後である可能性が高いていた。 今日のフィールドを入力して唯一の、overspecializedプログラマは5-10年に設定された彼女の現在のスキルで済むかもしれません。 新しく学んだコンピューティングスキルの寿命は、この継続的な減少は、技術的特異点の概念にチェックアウトする価値があるかもしれないものを同意する。

http://en.wikipedia.org/wiki/Technological_singularity

起こることができる最悪何ですか? "十分な"、より精通している技術に固執して何が間違っているのでしょうか?

私は(大企業が数十年のハイテク労働者のビザ数の増加を正当化するために、このクレームを使用している)と、お金の膨大な量が下支えする不必要に費やしたので、今では時代遅れの技術の過度の特殊化が可能なプログラマの広範な欠損を含む可能な危険性を参照してください。変更するには、内部抵抗に起因する技術を熟成。 これらは最終的に経済全体が生産性の低い/収益性を確認します。 その代わりに、実際に予見可能な将来のために必要なもの発明の様々なサイズ及び組成物のコップの嵐をキャッチしようとすると、貴重な資源を非生産的な努力に費やされ、全体として皆のためのより少ない仕事や小さな経済を意味します。

と "十分に良い"の技術は本当に限り、あなたもあなたのオプションを知っているように、十分に良好であることを長期の開発者の哲学がありません。 しかし、これは継続的な学習の値とオッズではありません。 ほとんどの時間、 "十分"は、より複雑な問題を解決するには、対の欠点を知っていたより簡単な方法を選択を実装するのにかかるどのくらいの時間の判断で行う必要がありますが、問題としてなるかもしれないマニフェスト。 より速く目的の機能を提供するために、古い技術は本質的に間違っていない使用して、それは必要に応じて動作中のシステムを取得するための最良の方法かもしれません。 しかし、その決定のための代替手段を知らないであることは開発者とその雇用者よりも多くの人々のために高価なことができます。 ソフトウェアの不備は、人々の増加数で何度も繰り返され、一人の開発者のための悪い決定は、時間の経過とともにより多くの人々の生活に過度に大きな影響を与える可能性があります。

しかし、より多くのポイントに、私はそれが単一のソフトウェア技術は、長い時間スパンでの多様な問題に対処するために "十分に良い"になるという主張をバックアップすることはできないと思う。 我々はまだ技術開発のその段階でだけじゃない。

何CoupSmartで作業するときの開発哲学であり、それがどんな結果をもたらすのですか?

私はCoupSmartに参加したときに、ソフトウェア開発作業は、すでに言語がすでに選択されていたが、それはPHPだったので、二つのパートタイムの開発者によって開始されました。 それは私の好きな​​言語ではありませんが、それは近代的なWebアプリケーションのために完璧に適したので、私が懸念されていません。 の利点もありだと多くの開発者が大学の外に新鮮な少数の変数が異なっていた場合、私は選ばれたかもしれない言語はRubyに精通しているのに対し、PHPの実用的な知識を持っている。

そしてそれが我々のプログラミング言語の選択は企業としてCoupSmartの成功に直接影響があった場合教えておそらく時期尚早だが、我々はしばしば友人の私たちのサークル内の他の起業家によって賞賛され、それらのソフトウェア開発チームは。NETまたはJavaで作業していると、同じリソースを明らかにはるかに生産性が与えられます。 だから私は、暫定的な勝利としてその数を数えるでしょう。

なぜあなたは他の開発者が新しいアイデアに非常に耐性があると思いますか?

私はあなたが人々は一般的には変化に抵抗するのと同じ理由でこれを答えることができると思います。 未知の、自己不信、圧倒的な選択肢の恐怖など、それは本当に変わりません。 それは一つ一つの過去の意思決定を再考するよりも簡単なので私達は習慣を開発し、それだけで速くなります。 しかし、あなたが余りに長くのための事前の決定を再評価に失敗した場合、あなたと社会のドリフトの残りの部分は別にイデオロギーとしての結果が常にあります。

私はギルドを介して会った一人の女性は、すべての作業日同じ種類のコードを書いて20年以上の後にレイオフされたCOBOLのメインフレームのプログラマーだった。 彼らはより現代的なシステムとフレームを交換し、彼女は新しい仕事をやってチームに転送されていませんでした。 彼女は、彼らのプロジェクトは明らかに、失敗するだろうと思った。 それは確かに可能性があり、ソフトウェア·プロジェクトの多くは失敗します。 しかし、この1つはなかったし、メインフレームを退役した直後に、彼女は解雇された。 彼女は、オブジェクト指向(別名OO)、それは容易に大規模なソフトウェアシステムを設計することができる抽象化層であった彼女の仕事で欠席していた現代的なプログラミング言語でので、新しいあったものと判断しました。 私は彼女がオブジェクト指向の概念に習熟するために、新しい言語を学ぶことを奨励するが、彼女は何とか恐れだった。 ヵ月後、彼女は最終的に。NETのクラスに登録されたことを教えてくれました。 それは確かにOOのトピックをカバーするので、私はいくつかの肯定的な補強を与えることを試みた。 しかし、私は彼女がそれを理解するまで、この概念は、単にそれを使用して、彼女のようになったかもしれませんされたか小説の彼女の概念を考える。 彼女は5年以上後に、この日に仕事の外のままです。

私は、競合する広告代理店のために働いた開発者と知り合いだ。 私は昼食をとりながら、彼と一度話をしましたが、彼は引き続きColdFusion、間違いなく非常によく熟成されていないプログラミング環境で、彼の作品のほとんどをやっていたことは、むしろ恥ずかしそうに認めた。 彼は新しいプロジェクトのためのより近代的な何かをしようと考えていた場合、私は彼に尋ねた、彼はいくつかの他のオプションを検討していると主張したが、ちょうど彼が愛し、非常に快適に感じた彼のお気に入りの環境を、あきらめることを望んでいた。 約2年後、私は彼の会社は彼の部門をシャットダウンしたことを聞いて、彼を解雇し、十分でないクライアントは自分の仕事はそれ以上のColdFusionで行われたかったし、開発者は単に何かをしようとする意思はなかったので、新たな取得を停止しプロジェクト、および後の彼らは古いアプリケーションのメンテナンス作業のためにフルタイムで彼を維持し正当化することができませんでしたた。

関連記事:

  1. コミュニケーションスキルは、ITキャリアでの成功に不可欠である
  2. 将来のCIOやCTOが:受賞情報技術キャリアプランの作成 ​​と実行の秘密
  3. 卸売テレセールスとTeleprospecting(B2B CRM)のためのCRMの質問箱で質問する
  4. 最初のサーバールームを構築するための実世界質問
  5. なぜマルチコアそれほど重要なのでしょうか。

応答を残しなさい