プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

優れたプログラマーになることは、コードを書くことだけではありません

あなたの心の中で、理想的なプログラマーを構成するものは何ですか? 7歳の時からコーディングをしていて、数百万ドルのアプリを作っているのはコンピューターの達人ですか?それは、ビジネスで10年または20年の経験を積んだ開発者であり、すべての言語を知っており(もちろん、良い言語だけです)、コーヒーをもう1杯飲むのにかかる時間内にWebサイトを構築できますか?誰もが畏敬の念を抱きながら同時に歯を食いしばるほど美しいコードを書くことができるのは、コードアーティストですか?

えー、多分?まあ、それらすべての夢のプログラマーはかなりいいですね。しかし、私が狂ったコーディングスキルを持っていることがすべてではないと言うとき、あなたは私を信じますか?そして、その優れたプログラミングは、優れたプログラマーの半分にすぎませんか?

コーディングの方法がわからなければ、明らかに優れたコーダーになることはできません。しかし、プログラマーであることのコンピューター以外の側面が少し見過ごされているように感じることがあります。コーディングとはまったく関係のないプロの開発者になること、そしてプロになることとはすべて関係があることには多くのことがあります。真の専門家とは、時間どおりに仕事をこなし、チームプレーヤーになる方法を知っており(急降下してその日を救うヒーローだけでなく)、最終的には雇用主やクライアントにとっての資産となります。

では、優れた開発者であることの証は何ですか?これが私が集めたものです–もっとたくさんあると確信しています。

1。クリーンなコードを書く。

はい、これは実際にはコーディングに関するものです。コーディングはその一部だと言いましたね。 🙂基本的に、優れたコードはまず第一に機能し、他の開発者にとって理解可能であり、あまり多くの苦痛を引き起こすことなくリファクタリングすることができます。コードはコンピューターと通信しますが、人間とも通信することになっています。何ヶ月も前のコードに戻って、私が過去に何を考えていたかを思い出すだけで、あまりにも多くの時間を費やさなければならなかった回数はわかりません。よく名付けられ、よく整理された機能、コメント、およびドキュメントは、将来、他の人(あなたを含む!)を救う時間の10倍の利益をもたらします。

優れたコードの記述に関する詳細情報(アフィリエイト以外のリンク、心配しないでください!):
クリーンなコード
実用的なプログラマー
リファクタリング:既存のコードのデザインの改善

2。トレンドを常に把握してください。

最近のWeb開発のめちゃくちゃ速いトレンドがどのように変化するかは誰もが知っています。私はあなたがカササギのコーダーであり、最新の新しい暑さを追いかける必要があると言っているのではありません。しかし、スペクトルの反対側では、快適になってから満足すると、恐竜のコーダーになります。これははるかに悪いことです。いくつかのコアスキルを上手に習得することに取り組んでいるが、少なくとも進行中の他のトレンドやニュースに精通している幸せな媒体があります。

変化し続ける業界のトップを維持するのに役立つ出版物をいくつかご紹介します。気軽にチャイムを鳴らして、他にも役立つと思われるものにコメントしてください。

ハッカーニュース
AList Apart
Smashing Magazine
CSS Tricks

3。新しいことにオープンになり、それらをすばやく学びましょう。

コーディングの学習の最初の部分にまだいる場合は、自分自身に過度の負担をかけないでください。 1週間でAngularをマスターできるようになるとは言っていません。ただし、特定の問題については、解決策がまだわからない可能性がある可能性があります。そして、「まだ」は重要な違いです。あなたが知らないことだから?これは、実行方法を学習してツールキットに追加できるものにすぎません。

できるだけ早く効率的に新しいことを学ぶようにすることが重要です。何かをすばやく拾うほど、コーディングして他の新しいことを学ぶ時間が長くなります。コーディングスキルを学ぶことは、それ自体、あなたが学ぶことができるスキルです。

4。集中して効率的に作業します。

私たちの脳は単一のスレッドで動作するため、人間にとってマルチタスクは不可能であることは誰もが知っています。私たちにできることは、あるタスクから別のタスクに切り替えることですが、それはあまり効率的ではなく、正直なところ理想的ではありません。ただし、仕事や状況によっては、中断が日常生活の一部にすぎない場合があります。そのため、コーディングにかかる​​有限の時間を最大限に活用することがますます重要になっています。

仕事と非仕事の時間をできるだけ分けて、お互いに溢れすぎないようにしてください。たとえば、数分ごとに常にFacebookにアクセスすると、生産性が低下します。作業中は、他のブラウザタブを閉じて、妥当なベンチマークに達するまで着実に作業を試みることで、集中力を高めることができます。ポモドーロタイマーを使用して25分程度のバーストで作業することも、目の前の1つのタスクに集中するのに役立ちます。

追加資料:
CalNewportによる詳細な作業

5。タスクを完了するために必要な時間を正確に見積もります。

これは難しい問題であり、確かに私自身もまだ改善に取り組んでいます。しかし、時間の観点からあなたの能力を正確に評価できることは非常に貴重なスキルです。あなたが会社で働いているか自分で働いているかにかかわらず、悪い見積もりはプロジェクトのタイムラインを台無しにし、あなたの周りの他の人のために仕事を生み出すでしょう。最悪の場合、プロジェクトの完了にかかる時間を大幅に過小評価すると、あなたやあなたの雇用主のお金がかかります。

これに関する簡単な注意:石に設定されたX時間までの時間を常に正確に特定できる必要はありません。通常、範囲を指定することも、プロジェクトパラメータに関する詳細情報が必要なため、実際の見積もりを指定することはできないと言うこともできます。プロジェクトの完了にかかる時間を見積もることができる1つの方法は、コーディング時に時間を追跡することです。 (これは#4とも密接に関連しています。これは、Redditを半分の時間閲覧していない方が見積もりが良くなるためです)

6。技術的な概念を技術的でない人々に説明できるようにする。

はい、イライラしますね。コードブロックとメソッドを楽しく泳いでいるとき、現実の世界に出て、プログラマーではない人々にすべてを説明する必要がありますか?なぜ彼らはあなたのソースコードを見てそれを入手できないのですか?

ステレオタイプのコーダーは、外の世界に煩わされることなく、地下の洞窟に潜り込み、キーボードをハックすることだけを望んでいる孤独な人です。私自身、特に厄介な問題を理解しようとしているときに、邪魔されると自分の歩みが途切れて不機嫌になる可能性があることを認めています。しかし、あなたと同じように、あなたが一緒に働く非技術者には重要な機能があります。 (初心者の場合、彼らはすべての人と話すので、あなたはそうする必要はありません!)

チームの全員とうまく連携するということは、コードの内容を彼らに説明し、彼らがそれを理解できるようにする必要があることを意味します。これの最初のステップは、修正するコーディングの問題の観点から世界を見るかもしれないが、他の人はお金、締め切り、クライアントなどの原則に基づいて動作することを理解することです。

あなたが彼らの言葉で、そして彼らの語彙で他の人と話す方法を理解することができれば、あなたは素晴らしいチームプレーヤーになるのに大いに役立つでしょう。プロジェクトに機能を追加するように求められたとします。叫ぶ代わりに、「いいえ、私はしたくないのはばかげています!」洞窟に戻って、その機能によってさらに20時間の作業が追加され、期限を延期する必要がある可能性があることを説明します。

7。エゴを働かせないでください。

これを毎日100%達成することは、私たちの最善を除いてすべての人にとって不可能です。しかし、少なくとも、仕事に関しては、エゴに純粋に駆り立てられないようにすることはできます。これは何を意味するのでしょうか?つまり、見栄えを良くするだけではありません。あなたはあなたのプロジェクト、あなたのチーム、そしてあなたの会社も同様に見栄えがすることを望んでいます。あなたが他の人を助け、あなた自身だけでなくすべての人の成功を確実にするために一生懸命働くなら、人々はあなたと一緒に働くことを愛するでしょう。

自分が望むことを達成するために他の人を踏みにじるのを邪魔するなら、あなたは橋に火をつけていることになります。そして、それが崩壊するとき、あなたはその真ん中にいるでしょう。確かに、あなたは短期的な利益を得るかもしれませんが、あなたは本当に他の誰もが一緒に働くことを嫌うその嫌いな人になりたいですか?

8。間違いを隠さないでください。

だれも台無しにするのが好きではありません。それは人間だけです。しかし、プロになることになると、私たちは自分の過ちを世界から隠したいという非常に人間的な衝動を克服しなければなりません。

プロジェクトに悪影響を与えるような間違いを犯した場合、自分自身や一緒に仕事をしている他の人のためにできる最善のことは、すぐにきれいになることです。上司に伝え、クライアントに伝える必要のある人に伝え、トリアージに取り組み始めます。自分の間違いを隠蔽し、誰にも気づかれないことを期待することは時々うまくいくかもしれませんが、それがわかった場合、それは深刻な信頼を失い、プロジェクトや仕事さえも危険にさらす可能性があります。

今、あなたはすべての小さな小さな混乱を報告する必要はありません。ただし、修正に余分な時間がかかる、または重要な何かを壊すような間違いについては、自分自身とすべての人に好意を持って「大騒ぎしてください。長期的にはより良いでしょう。

9。他の人に助けを求めたり、他の人に助けを与えたりすることができます。

行き詰まったり、何かがわからない場合は、恐れずに質問してください。期限のあるプロジェクトに取り組んでいる場合は、1時間以内に助けを求めて解決策を見つけることができるときに、自分で何かを理解しようとして何時間もかかることはありません。

Google、StackOverflow、またはSlackを使用して、自分でできる限りのことを行うこととバランスを取る必要があります。しかし、特に会社にいる場合は、自立したい、助けがなくても何でもできるようになりたいという傾向があると思います。それは本当にあなたに時間を費やすことができます。大変ですが、プライドを飲み込み、助けが必要であることを認めてください。学習して、作業をより迅速に行うことができます。

もちろん、これの裏側は、何か助けが必要なときに他の人を助けることです。私がWeb開発者として始めたばかりのとき、私は会社の経験豊富な人々に多くを頼りました、そしてそれは私が本当に良くなるのを助けました。私が経験を積むにつれて、新しい人々はしばしば私に助けを求めてきました。中断されることはプログラミングの最も楽しい部分ではありませんが、チームプレーヤーであることの一部でもあります。深いコーディングの最中であれば、数分で戻ってくると伝えることができます。 (彼らの問題が本当に緊急でない限り)

誰かがあなたに助けを求めたとき、次に成功するために彼らを準備する方法で彼らを助けるようにしてください。彼らに答えを与えるだけでなく、彼らに少しの文脈を与えて、彼らが根本的な原則と問題がどのように修正されているかを理解できるようにします。ご存知のように、全体が「人に魚を教える」ことです🙂

これらのアイテムのいずれかがあなたと共鳴したり、家に帰ったりしましたか?それらのいずれかに同意しませんか?以下にコメントを残してください!


  1. 移動中にコーディングするiOS向けの5つの最高のコーディングアプリ

    ほとんどの開発者はMacでXcodeやSublimeTextなどの一般的なIDEを使用していますが、iPhoneやiPadがコーディングアプリも処理できることを認識している開発者はほとんどいません。デスクトップ版ほど強力ではないかもしれませんが、プライマリデバイスの強力な補助IDEとして機能する有能なモバイルIDEが確かにいくつかあります。 iOS向けの5つの最高のコーディングアプリを見てみましょう。 1。スウィフトプレイグラウンド Appleのプログラミング言語を学び始めたばかりでも、経験豊富な開発者でも、SwiftPlaygroundsアプリはあなたを驚かせます。このアプリは、Swift

  2. 封鎖中に子供にコードを教える方法

    世界がどのように技術的に進歩しているのかを考えると、子供にコードを教えることは彼らの教育の重要で必要な要素です。ここでは、子供が封鎖されている間にコードを教える方法を紹介します。ここでのアドバイスは、「その場にとどまる」注文が現在の場所で解除された場合でも、お子様のコーディング知識を向上させるために同様に有効です。 お子様がコーディングすることが重要な理由 コンピュータは、古い世代の間でやや否定的な評判を持っています。これには多くの理由があります。これは、間違いなく、コンピュータに対する一般の認識が歴史的に低いためです。 「ジェネレーションZ」に生まれていない人の多くは、コンピューターが人