web-dev-qa-db-ja.com

経験を積むには?

これは多くの人が非常に一般的だと思う問題であり、この辺りの専門家ユーザーからのガイダンスはありがたいです。

背景

基本的に、私は6人のチーム(すべてのジュニアも)のジュニアWeb開発者です。 6か月前、チームリーダーとプロジェクトマネージャーが退職しました。現在、私たちは非技術者によって管理されています。

新しいマネージャーは、会社がより経験豊富な人を雇うまで、チームの他のメンバーの技術リーダーとして行動することを選びました。

問題

私は良い開発者ですが、会社のニーズにソリューションを提供する私の経験はやや不足しています。私は問題がないことを意味します実装ソリューションまたは新しいモジュールをシステムに追加しているのは、すでに2年前からPHPおよびMySql。

問題は、新しい重い機能を設計するとき、または試行錯誤を許容できない重要なモジュールを構築するときです。

私が最近実装しなければならなかった設計の問題については、このリンクを確認してください: https://stackoverflow.com/questions/10529459/building-a-cron-job-scheduler

投稿で言及されたすべてのソリューションを簡単に構築できます。唯一の問題は、私はそれらの1つを選択するのに十分な経験がないということです。私の元チームリーダーは難しい決断を下していましたが、実際には彼から多くのことを学びました。しかし、今では彼は去っており、私は一人で取り残されています。

ソリューション

今私が私にとって最善だと思った2つの解決策があります:

  1. できるだけ早く会社を辞めて、私に良い経験を提供し、私の知識を増やすことができるより良い会社を見つけてください(さまざまな理由により、すぐに会社を辞めることはできませんが)。
  2. 大規模なプロジェクトやプロのWeb開発者向けのテクニックに関する書籍、参考資料、または入手可能な資料を検索します。基本的に、単純なアプリケーションを超えるもの。これは私が現在持っている唯一のオプションです。

注:

PHP、MySql、フレームワーク、ORM、デザインパターンを学ぶためのリソースを探していません。経験豊富なプログラマーからの知識の伝達を望んでいます。

7
Songo

あなたが求めていることは、経験を積むことでしか得られません。今、あなたは厳しい状況にありますが、それはあなたが学ぶ機会です。正直に言うと、経験豊富な技術リーダーのいないソフトウェア会社は困っています。

問題は、新しい重い機能を設計するとき、または試行錯誤を許容できない重要なモジュールを構築するときです。

重要な機能を構築するときは、試行錯誤を繰り返す必要があります。いくつかのソリューションの概念実証を実装し、どれが最適かを確認する必要があります。フレームワークXとフレームワークYに関する記事を読んだ人ではなく、何が機能し、何が機能しないかを本当に理解している人たちです。

確かに、本はあなたを助けるでしょう。しかし、最終的に重要な選択に直面しているときは、破棄するプロトタイプをしばらくの間「失う」必要があります。ワークフローに適合しているものを見つけてください。 Stack OverflowのようなブログやWebサイトからのアドバイスは素晴らしいですが、特定のニーズがあるために無効になる場合があります。

したがって、私はこれについて透明性を保つことをお勧めします。経験がないことを伝え、プロトタイピングを考慮に入れるために長い見積もりを行います。別の方法として、会社が経験豊富なプログラマーを採用するか、技術者ではない人が技術的な決定に責任を持つことが考えられます。

7
Simon Bergot

私はサイモンと一緒ですが、以下を追加することが重要だと思います。

チームに少し寄りかかります。 少なくとも 6-10年のグループの経験があることを私は喜んで賭けます。彼らは、優れた指導者たちは自分たちよりも賢い人々に囲まれていると言います。これが理由の1つです。

したがって、例として、次のようにアプローチできます。

  1. 潜在的なソリューションを調査します。
  2. 誰かが以前に解決策の1つを書いたかどうか、チームに事後分析を依頼し、他の解決策を認識していて意見を持っていたかどうかをチームに尋ねます。
  3. チームの他のメンバーにどう思うか尋ねます。
  4. 開発POC /プロトタイプを最も有望なソリューションにしてください。
  5. ニーズと、POCを作成した開発者からのフィードバックに基づいて、より適切なものを選択してください。

正直に言うと、1〜3は毎日の開発会議で15分かかります。

5
Steven Evers

実際の問題の解決策ではありませんが、現在、より効果的な方法の1つで経験を積んでいます。

経験は、本で習得できる知識ではありません。経験とは、自分の深みの外で過ごした時間です。人事担当者が別の方法で考えていても、快適ゾーンで過ごした年は経験ではありません。

あなたはおそらくライフガードとして誰かが利用できるとより落ちるでしょう(一部の人は言う経験は悪い先生です、それはレッスンの前にテストを提供しますだからライフガードは良いです)そして会社は確かに必要な経験を取得するためのリスクの少ない方法でより良いですが、それを取得しています。

3
AProgrammer

あなたが経験を探しているなら、あなたが何か新しいことに取り組み始めなければ、それは来ないでしょう。

フリーランスの仕事をすることを考えましたか?

仕事の範囲外でいくつかの新しいプロジェクトを行うと、仕事の経験に大きな影響を与える可能性があります。これは、フリーランスのように非常に動的な分野で他の人々の要件を確認するのに役立ちます。

たとえば、自分の仕事にPaypal APIを統合することは考えていませんでした。しかし、最近、自分の仕事の1つを余儀なくされました。

2
John Raya

私が@ saba7saba7に同意するのは、あなたが何か新しいことに取り組み始めない限り、経験は得られないということです。

読書は、物事の新しい方法について学ぶのに役立つことがわかりました。新しい方法で何かをすることは、私が以前にやったことと似たようなことを新しい方法で行っている場合でも、新しい経験になることがあります。

この本の多くのアイデアはすでに私に馴染みのあるものですが、「The Pragmatic Programmer」で説明されているアイデアに従っていくつかの火花が発火するのを見ました。この特定のテキストを読むことは、新しい方向にあなたを送ることができるいくつかの新しい考え方に触れるための素晴らしい方法だと思います。

0