emile-perron / Unsplash
私は経験豊富なジャーナリスト、編集者、そして意欲的な開発者(JS、ノード)です。9か月前に、ロシアのIT企業で技術者および開発者として働き、数百人の最強の開発者と一緒にソフトウェア開発に真っ向から突入すると言われたとしたら、信じられなかったでしょう。
ここでは、私がどのようにしてメディア分野からITに移行したかを説明し、開発を計画している人々にアドバイスを提供し、私のようなプログラミングに不慣れな人々とリソースを共有したいと思います。
転職したかった理由
2019年の秋、私の編集部は突然解雇され、私の前にチャンスの地平が開かれました。
私の人生にはすでにデザインとマーケティングが多すぎました。私は20年間、ComputerPress Publishing Houseで印刷および出版技術について執筆し、かつて最高の出版社であるIndependent Mediaで働き、主要ブランドのブランドメディアを作成し、最もクールなヨガマガジンを作成し、HSEで学術誌を発行しました。ファッショナブルなメディアのスタートアップで、SUP-Mediaで料理をし、強力な編集局を管理しました。
しかし、印刷物やメディアプロジェクトへの熱意は徐々に消えていきました。紙の流通が減少し、メディアのスタートアップが閉鎖されるか、交通機関になり、広告予算への依存が不況を引き起こしました。
私は何か他のものが欲しかった:
- , . — .
- . IT .
- , . , .
- . . , , reddit.
- . , , IT .
- . , — . .
// $$$ , IT. . - , .
— 80 . 80 , .
, UX-, , , - . //
ここでは、開発に参加するための私の意見でより効果的な一連のアクションを書きます。コースの選択とトレーニングの形式に真剣に注意してください。そうしないと、時間とお金を失う可能性があります。
しない方法
IT — (200+ 12 ). , . , . , . . — .
そして、それを行う方法を考えてみましょう。
言語と方向の選び方
goran-ivos / Unsplash
何をどの環境でプログラムするかを決定します。しかし、あなたは長い間選択にとらわれるべきではありません。どちらの言語を選択しても、深淵があなたの前に開きます。そして、あなたが毎日数時間を勉強に費やすならば、深淵は減りません。
それぞれのタスクで、あなたは再び無知と誤解の深淵に陥ります。これは開発者の通常の状態です-何かを知らないので、それに慣れる必要があります。あなたに疑問を投げかけるすべてのものを冷静にグーグルに続けてください。
開発に関するビデオをご覧ください。明らかに、開発はコーディングだけではありません。開発者ブロガーが何をどのように話しているかを見て、聞いてください。これは、環境に没頭し、職業の落とし穴を感じるのに役立ちます。
// . 0. , , . , .
IT- : (IT-) , .
ビアードのビデオの下にこれらの人のそれぞれへのリンクがあります。誰が、何が一番好きかを理解するためにみんなに会いましょう。これはまた、無限のオプションと選択の必要性に直面してあなたを地面から離すはずです。//
ポッドキャストを聞いてください。これまでの私の個人的なトップ5(ApplePodcastsリンク):
さて、これがITポッドキャストと詳細な説明を含む最もクールな選択です。ここでは、さまざまなプラットフォームへのリンクを含め、私のトップがあります。
プログラミングに関する本を読んでください。 SOLID原則の著者であり、ライター兼開発者であるRobertMartinの本から始めることをお勧めします。プログラミングのアーキテクチャ、文化、哲学を理解するのに役立ちます。理論的な知識がなければ、インタビューは1回も行われません。理論の知識は、職業に入る法則であり、職業の成長を保証するものです。
適切なリソースのテキストを読んでください。このリソースでこのテキストをすでに読んでいる場合は、開発に取り掛かっています。また、Tproger、vc.ru、Codeマガジン、およびMediumの無限の広がりがあなたを助けます。 Mediumプラットフォームは、コードを使って賢明なチュートリアルを作成するのが好きな外国のブロガープログラマーのおかげで、特定の問題を解決するのに役立ちます。
js開発者として、MDNリソース、StackOverflowブログ(learnJavaScript、Metanit、Telegram、開発者Vladilen MininによるYouTubeなど)からもサポートを受けています。
英語を習う。まだの場合。問題を解決するために必要な情報のほとんどは英語で書かれています。英語を知らずに開発に飛び込むのは長くて苦痛です。
英語なしで集中的なヌーブに来てくれた人たちに心から申し訳ありませんでした。彼らは、私がどれほど退屈であるかを見て、私を気の毒に思いました。この状況でのペアプログラミングは常に成功しています。
自分でチューターを見つけてください。メンター、メンター、チューター、コーチ-彼はあなたが望むものなら何でも呼ぶことができます。生きている人は最も愚かな質問への答えを手伝ってくれるでしょう、そしてこれが彼の仕事なのであなたは彼らに尋ねることを恥じることはありません。
メンターは、問題を解決して思考を設定する方法を学ぶのに役立ちます。少なくとも、方向を決定し、問題を解決するための最初のステップを実行する方法を教えるのに役立ちます。しかし、何を隠すことができるか、メンターはグーグルの方法を教えてくれます。最初は、ブラウザーの検索バーに何を書くべきかさえ理解できないからです。
メンターの選び方
adi-goldstein / Unsplash
メンターを探してください。あなたに適した。彼らがあなたに何を説明しているのか理解できないなら、すべてがあなたに大丈夫です、それはこの人があなたに合わないということだけであり、彼の考えはあなたに近くありません。はい、あなたのメンターを見つけることは、最初は解決されないかもしれない仕事です。ちなみに、私はメンターを探しています(js、node、react、あなたも行くことができます)。
あなたは人道的な頭脳を持っていると言う人々から逃げてください、そして開発はあなたのためではありません。これは、教育能力がなく、不安定なPSVで説明できない開発者です。あなたは学び、この段階であなたはルールを決定します-誰がそしてどのように聞くか。
アップルを調理技術と呼ぶ人々から逃げる-あなたが低レベルになる前は、悪い意味で、oldfagと彼の教師は、アップル/マイクロソフトホリバーをプレイするのが大好きなセクシストでした。テクニックが必要な目的を理解し、目的に応じて使用することが重要です。
メンターにとらわれないでください。メンターはあなたがあなたの考え方を設定するのを助けます、しかしあなたはあなたのガイドのクローンになるべきではなく、そしてそうすることはできません。1つのプログラミングの問題は、さまざまな方法で解決できます。プログラミングには単一の正しい解決策はありません。
プログラミングは複雑な思考プロセスであり、数式の複製ではないため、常にそれらの数があります(ここでは完成したコードの断片については説明しません)。ポンピングには、必ず異なるソースとフォーマットを使用してください。
自分をポンピングする方法
timothy-dykes / Unsplash
チュートリアルをコーディングしたいユーチューバーを見つけるか、いくつか、またはそれらの後に繰り返します。 ToDoリスト、カレンダー、天気予報アプリ、家の予算で筋肉の記憶を構築します。
英語を話すプログラマーと一緒にこのようなコピー貼り付けを行うと、言語も向上します。インドのコードは機能しないことが多く、苦痛を伴う可能性があることを覚えておいてください。さて、インドのアクセントはとても面白いです。
codewarsソリューションをgithubで自分自身に公開します。そして、はい、codewarsの問題を解決します。はい、githubでアカウントを作成します。
2番目のモニターを購入します。快適です。
スタープロジェクトをgithubにコミットします。それはあなたにクレジットされます(しかしこれは確かではありません)。
アヒルと話してください。無視しないでください問題を解決するためのアヒルの子の方法。彼は本当に助けてくれます。
たくさんの授業料を払いたいという誘惑に抵抗してください。すべてがインターネット上にあります。彼の説明があなたによく合っている場合、あなたのチューター/メンター/メンターに個人的に過払いすることは理にかなっています。
そのような生活の数ヶ月とプログラミングに少なくとも1日2時間を費やした後、集中的なコースを受講することは理にかなっていますが、すぐにインターンまたは会社の6月に就職し、インタビューで問題を解決し始めることができます。
コースの選び方
上記の演習を数か月行った後、githubのポートフォリオに独自のプロジェクトがあり、codewarsである程度のポンプを使用している場合は、6月にかなり合格します。しかし、この段階では、詐欺師症候群にかかるリスクが高くなります。
これはITではそれほど珍しい病気ではありません。集中的な(そしてそうではない)コースは、他の不確実性と同様に、それに対処するのに役立ちます。コースの準備をするとき、おそらくトレーニングと、勉強や仕事を探すときに役立つエアバッグの両方を節約できるでしょう。
今説明した背景で、あなたは集中的な初心者コースのヨーダになります。しかし、説明が不十分だったり、やりたくない場合は、自分がすでに知っていることを知らない人に激怒し、集中的なコースが来る可能性は低くなります。ペアとグループのプログラミングでは、あなたは過度に有毒なキャラクターになるからです。
初心者は知識を交換してスキルを向上させることができるため、コースは優れています。経験豊富な初心者は、知識の説明と伝達のスキルを向上させます。
ちなみに、コースでは、自分がどんなチームプレイヤーなのか、ソフトスキルがどれだけ優れているのかがわかります。これは非常に重要な知識です。コーディングは開発のごく一部であり、おそらく一部の人にとって最も楽しいものだからです。ITプロセスの大部分は、人々の間の相互作用、交渉してチームで作業する能力に基づいています。
コースを選択するときは、以下を参照してください。
プログラム。テクノロジースタックに注意を払い、学生が実行する実際のタスクを確認するように依頼します。商用開発者として勉強した場合、ターミナルで10週間のtic-tac-toeを楽しむことはまずありません。そして彼らは6月までにすぐにいくつかのIT企業に就職することを考えました。少なくともいくつかの問題を尋ねてください。カリキュラム全体が表示される可能性はほとんどありません。
教材。貧弱なロシア語で書かれ、視覚化のレベルが低い5年前の問題に直面しないように、トレーニング資料に慣れるように依頼してください。あなたはそれが好きなはずです。
学生として情報がどのように提示されているかを見てください。問題の説明を読んだときに、目の前にあるalikから中国の真空クリーナーの説明が表示されていると感じてはいけません。
そうでなければ、あなたはプログラミングと技術的な執筆を教えるという低い文化を維持します。タスクの説明の曲線の作成者は、仕事でさらに悪化するという言い訳をすることができます。この腐ったものにだまされないでください。あなたはクールな仕事が必要です。
教師の経験。インストラクターが何かを説明するビデオを求めます。グーグルすべてのインストラクター。これは、彼らがあなたを訪問するかどうかをよりよく理解するのに役立ちます。まったく新しい宇宙があなたのためにどのように配置されているかにあなたの目を開くのはこれらの人々だからです。
インストラクターがどこで働いたのか、そして彼らが開発においてどのような専門知識を持っているのかを調べてください。銀行で生涯プログラマーとして働いてきた教師は、美しく高速なアプリケーションを求める商用顧客とのフロントエンドアウトソーサーとして働く準備をする可能性はほとんどありません(ただし、これは確実ではありません)。
コードレビュー。レビューがどのように進んでいるかを調べるようにマネージャーに依頼します。トレーニングの3週目だけで、週に1回、それが何であるかを確認していることがわかりました。レビューでは、教師は、たとえば、ランダムペアプログラミングでどれだけ降りたかについて話し合うために、何か抽象的なことについて話すことを好みました。コードに関する議論はまったくありませんでした。
そして、これから、欲求不満は増加しただけでした。私のコードは非常に悪かったので、それについて議論することすら意味がありませんでした。私の研究の途中で、この教師は文字通り空中で靴を着替え、難解な実践の第一人者として教えを残しました。
残念ながら、今日、アプリケーションプログラミングを短時間で教える方法はどこにも誰にも教えられていません。したがって、コーディングの技術を理解するのに個人的に安心できるメンターを探して選択してください。
学生の実際のプロジェクト。学生の実際のプロジェクトを要求し、受け取った情報を2つに分けます。最高のプロジェクトが常に表示されますが、ストリームで最高のチームにいることは事実ではありません。
組織的なプロセス。コースが良い会社でのプログラマーの仕事の本当の雰囲気を作り出すなら、それはとてもクールです。朝はスタンドアップで始まり、ペアとグループのプログラミング、レビュー(通常)、機敏なアプローチがあります。これにより、新しい職場のワークフローにすばやく統合できます。
開発に入る最初のステップを要約しましょう。
- 他の分野から開発とプログラミングに移行する場合は、自分で多くのことを習得する必要があることに注意してください。
- 勉強に行くことにした場合は、学校のように通常の資料の暗記を学習から期待するべきではないことを知っておいてください。たくさん払っても。
- — . , . -, , , . , . , , .
- — , . . , .
- , . , .
- - . .