引用
「なんてことだ。他の開発者に比べて私は愚かで準備ができていない。上司は私がどれほど無能であるかを知って、私は解雇されるだろう
この種の考え方は、ソフトウェアとしては。」開発者 これは、開発者が最初に仕事の世界に入ったときに非常に一般的です。私も例外ではありません。この種の考え方は、人々が他の開発者に対して劣等感を感じたり、自分のスキルを偽っているだけであると感じたり、コードを書くことに関しては万能の愚か者であると感じたりする可能性があります。
わずか数か月後、Web ベースの研究プラットフォームの改善と保守という、初めての本格的なプログラミングの仕事に就いたときの興奮は、ついに完全な恐怖に変わり、そのようなネガティブな考えが頭の中にずっと残り続けました。 。私がより大規模でペースの速い組織に移り、最終的に自分のビジネスを始めた後も、これらのアイデアは私を蝕み続けました。
私が書いたコードの一行一行はとても面倒で非効率的だといつも感じています。もしそれを他の才能ある開発者に見せたら、間違いなく批判されるでしょう。私は愚かだと感じましたが、彼らにバレるのも時間の問題でした。
懐かしいですね?あなたが私と同じように考えているなら、そしてほとんどのソフトウェア開発者がこのような考えを持っているなら、おそらく一日中パニックに陥るでしょう。
以下では、新進気鋭の開発者としてあなた自身とキャリアの見通しを向上させ、キャリアを進める上で健全な考え方を維持するのに役立つ、私が見つけた重要な戦略をいくつか取り上げます。
新進の開発者として自分自身とキャリアの見通しを向上させましょう
初めての仕事を探している場合でも、昇進の可能性を狙っている場合でも、ある程度は他の開発者と競争する必要があります。確実に目立つために、成功に役立つ重要な手順をいくつか紹介します。
1. 仕事で使いたい言語を見つけます。
より良いプログラマーになるには、定期的にプログラミングを練習し、さまざまな言語やテクノロジーの経験を広げる必要がありますが、言語が多すぎるため、どこから始めればよいのかわからないことがよくあります。どこから始めるべきか。解決したい問題のスタイルに最も適した言語を選択してください。
特定の言語をまだ決めておらず、まず試してみたい場合は、Stack Overflow Careers、Indeed、Monster などの求人サイトを検索して、どの言語が最も人気があるかを確認することをお勧めします。希望する場合、または現在の役割で必要な場合は、特定の言語をしっかりと理解して、調査と実験を開始できます。
私が最初の仕事、つまりウェブベースの研究プラットフォームの開発者を始めたとき、私は学習キャンプに落ちました。面接中にプログラミングテストに合格するのに十分なスキルを持っていたにもかかわらず、この仕事は私に強化を必要とします私のPHP、JavaScript、SQLのスキル。そのため、仕事が終わった後や週末にこれら 3 つの分野のスキルを磨いて、仕事で良いパフォーマンスを発揮し、Web 開発に基づいてより多くの機会を得ることができるようにします。これは、私が今自分のビジネスを所有し、管理する上で非常に重要です。 Web 開発会社は多大な貢献をしています。
どの言語に出会っても、どの言語を選んでも、重要なのは定期的に練習することです。さまざまな言語を試し、いくつかの小さなサンプルをコーディングして、それらから小さなプロジェクトを構築します。自分の心に響く言語や一連の方法、および問題へのアプローチ方法を見つけたら、それを使い続けて定期的に練習してください。
2. 怒りを感じる問題や何かを見つけます。
私のキャリアが前進したちょうどその頃、私はウェブ開発者として大規模なホスピス組織に加わりました。私の仕事はオンライン請求システムと CRM システムの改善と維持に重点を置いていますが、多くの医療スタッフがよく不満を言います。患者は常にシステムの動作が非常に遅いと報告します。それは私を怒らせますが、従業員もさらに怒らせます。それを直さなければなりません。
ホスピスケアはほぼ純粋に Microsoft テクノロジーで実行されており、データベースも例外ではありません - Microsoft SQL Server (MSSQL)。クエリ言語は私にとって最も使いやすい言語ではありませんが、今でも自宅で勉強したり、読んだり、小さな MSSQL プロジェクトを構築する練習をしています。私の努力の結果、データベース管理者にレポートをどのように改善できるかを示すために、いくつかのサンプル レポートを徐々に作成できるようになりました。時間が経つにつれて、私が実装を支援した最適化が昇進につながり、その問題を解決することで学んだスキルがデータベース管理の仕事に就くのに役立ちました。
言語を使って成長し、学習への情熱に火をつける最善の方法は、学んだことを使って、つまずいている問題を解決することです。言語自体を学ぶだけでなく、その言語を現実の問題にどのように適用できるかを学びます。
3. Github または他のパブリック コード プラットフォームに公開します。
誰も使用しない、気に入ってくれない、あるいは見てくれないと思う場合でも、実稼働標準に達していると感じたら、コードをリリースしてください。あなたのプロジェクトが世界を変えることはないかもしれませんが、それはあなたを際立たせ、他の人があなたの仕事を見て批判することに安心感を与えることができます。さらに、履歴書に魅力が加わります。
4. 何を学んでいるのか、その学習方法とその理由を示すブログを書きます。
あなたが学んでいること、そして積極的に学習意欲があることを世界 (および将来の雇用主) に示すことで、同じ業界の 95% 以上の開発者よりも優位に立つことができます。また、ライティングスキルを練習することもできます。また、このプロセスは、問題への取り組み方、問題を分解して解決する方法など、自分自身について多くのことを学ぶことにもなります。また、普段どのように考え、どのように学び、成長し、どのように進歩していくのかを整理する必要もあります。
5. ソフトウェア開発コミュニティに積極的に参加します。
問題を解決し、他の人がどのように問題を解決するかを見て、自分の声や意見を表現してください。私はこれを Stack Overflow とプログラミング コミュニティを通じて行っています。これは最も寛容な文化ではありません。なぜなら、疑似コード内の括弧を忘れると非常に鋭い観察力を持つ開発者に怒鳴られることになるからです。しかし、そのおかげで他の開発者と対話し、正直にオープンになることができます ( 時々の経験残忍な)批判と、他の人が問題にどのようにアプローチするかを知ることで、問題についての新しい考え方が開かれます。
6. 技術者と非技術者に簡潔に説明する方法を学びます。
職業上の成功を達成する上で、コミュニケーションは習得するのが最も難しく、最も重要なことの一つだという人々の声をよく聞きます。初めのうちは、それはナンセンスだと思っていました。電話で人々と話したり、会議中に話したり、電子メールを送信したりするだけで、どれほど難しいでしょうか?専門的なコミュニケーションの経験がある人なら誰でも、この概念を嘲笑するでしょうし、私は今でもそうします。誤解がいかに早く生じ、ワークフローがいかに複雑になり、プロジェクトの進捗がいかに長引くかに驚かれるでしょう。
効果的なコミュニケーションを真にマスターするには、実際に取り組む必要があるもの(チャールズ・ペッツォルトの「コード」を強くお勧めします)について基本的に理解し、相互に対話する必要があります。ブログを書いたり、プログラミング コミュニティと交流したりすると、コミュニケーション スキルを効果的に向上させることができます。
簡潔で、事実に即した、理解しやすい(必要な場合)コミュニケーションをマスターし、複雑な問題と解決策を理解しやすい小さな塊に分解できれば、ソフトウェアの分野で地位を確立できるでしょう。無敵の展開。プロジェクト マネージャー、他のプログラマー、経営幹部などが、あなたをチームに加えようと争っていることに気づくでしょう。
健全な精神を維持しましょう
プロのソフトウェア開発者の成長の道にはとげや困難がいっぱいではないため、不健全な自己思考やキャリア選択の罠に簡単に陥る可能性があります。誰もが抱える職業上の不安を理解することで、自分に自信を失ったときに、より適切に自分を奮い立たせることができます。
1. 誰もが嘘つきだと感じていることを知ってください。
あなたが仕事や人生で出会う人は皆、詐欺師症候群と闘っています。私たちは皆、自分が詐欺師であることが発覚し、無能であると公の場で非難される寸前にあると感じています。これを理解すると、スピリチュアルな領域では公平であると感じることができ、また、自慢に値することを行った人は皆、かつては今あなたと同じように考えていたことを理解するのにも役立ちます。
この考え方が忍耐力につながります。新しい言語、開発方法、問題解決方法を学ぶという建設的なチャネルアプローチと組み合わせると、あなたのキャリア全体が大幅に強化され、すぐに自分の技術の達人になることができます。
2. トラブルに巻き込まれることを知ってください。
私が人間であるという事実を最終的に受け入れたのは、プログラミングをしていたことに疑いの余地はありません。私も混乱し、不器用で、頻繁に間違いを犯します。はい、あなたもそうです。期限を守れなかったり、「全員に返信」を何度も押したり、重大なバグを見つけるためにスワイプしたり、アプリのアーキテクチャの隙間から信じられないほどのバグを見逃してしまったりする可能性があります。
幸せで健康でいたいなら、自分の間違いを分析し、そこから学び、次回より良くするために学んだことを応用する必要があります。
3. 誰かの立場になって考えてみましょう。
初めて上司に叱られたとき、私が何をしたか知っていますか?私は急いでオフィスに戻り、ドアに鍵をかけ、泣きました。私は自分が史上最悪のプログラマーであると感じ、解雇されるのではないかと心配し始めました。しかしその後、プロジェクトマネージャーが私のオフィスにやって来て、私のプロセスとプロジェクトはこれまでのところ良好であると説明しました。ちょうど彼女の娘が重病であることを上司が発見したばかりで、上司は彼女の落ち度を責めたばかりで、さらに追い打ちをかけるように彼女は離婚を求めて訴訟を起こされた。よし。
上司の経験を知ったとき、私自身に対する自信のなさや心配はすぐに消えました。もし私がそのような状況に陥ったら、おそらく同じように反応するでしょう。
共感はプログラマーとして、そして人として成功するための基礎です。顧客やユーザーの本当のニーズを理解すること、または上司が受けているプレッシャーを知ることは、なぜ彼らがそのような行動をするのかを理解するのに役立ちます。また、価値のある問題解決ソリューションを提供し、自分の能力を実証できる方法もわかります。
始めたばかりのソフトウェア開発者として、私の提案に従えば、あなたの前にはすでに明るい道が開けているでしょう。優れたコードを作成し、業界の規制を遵守するには、ほぼ毎日自分の弱点に直面し、常に自分自身を改善する必要があります。
他の皆さんと同じように、あなたもおそらく時々つまずくことがあるでしょう。これまでに説明したいくつかの手順や戦略にもかかわらず、依然としてネガティブな考えに囚われてしまうことがあります。それはまったく正常のことです。
継続的な改善に専念し、自分が単なる個人であることを認識し、他の人の立場に立つことができる限り、あなたは業界で最も尊敬される、熟練した開発者の 1 人になれるでしょう。
W3C プログラマの成長パスは次のとおりです:
ステップ 1:
html、css、html5、css3、javascript、jquery を詳細に学習します
各部分を学習した後、学んだ内容を使用するテキスト ツールを見つけます 知識を思い出して書きます。それは良い学習効果です。
最初は知識構造と各構造に含まれる共通知識を段階的に学び、覚えていき、使用する際に各構造の詳細な知識を参照することができ、使用することで徐々に慣れてきます。
ステップ 2:
知識ポイントの製品レベルのアプリケーション学習を見つける
js の知識構造と一般知識を学習した後、ナビゲーション バー、ドロップダウン リスト、スライドなどの js 特殊効果のソース コードに移動して、自分の文章を研究して真似してください。一方では、js の使用についてより深く理解できるようになりました。また、重要なことに、これらの製品レベルの特殊効果を作成する方法も学びました。作業し、脳力と時間を節約します。
ステップ 3:
コードの品質を向上させ、言語をより深く学ぶ
コードの最適化とパフォーマンスの最適化方法に関する 2 冊の本を読むことを選択します。私は、js 言語の本質と js の習熟度を選択しました。
ステップ 4:
オープンソース フレームワークを研究する
アプリケーション レベルの製品ではなく、汎用ツール製品を作成する経験を学びます。考慮すべきは、その製品の市場がどれだけ大きくなるかではなく、ツールがどれだけ使いやすいか、パフォーマンスがどれだけ優れているかなどです。研究しながら、同様のフレームワークを作成してモデルを作成します。それは蓄積であり、フレームワークの書き方を学ぶ経験でもあります。
5. 自分のフレームワークを書いてみる
様々なビジネスからフレームワークを抽象化して書いてみましょう。