Знайшов цю статтю про те як стати хорошим програмістом. Колись її уже читав тому збережу ще собі, щоб в майбутньому знати де знайти, якщо все таки виріше ще раз перечитати.

У наш час все більше і більше людей вчать програмування, причому багато беруться за цю складну справу самостійно, без будь-якого плану дій, що суттєво зменшує продуктивність навчання. Google склав список того, що потрібно знати, щоб стати хорошим програмістом, а також ресурси, де можна поліпшити свої знання в необхідних областях. Всі наведені нижче рекомендації не гарантують вам роботу в Google.

  • Якщо ви тільки збираєтеся робити свої перші кроки в програмування і не знаєте, з чого почати, то пройдіть курс за напрямом «Computer Science». Там вас навчать азам програмування, так що після їх проходження ви будете відносно непогано знати будь-якої мову програмування і писати якісний код. Такі курси можна знайти тут і тут.
  • Об’єктно-орієнтоване програмування зараз є стандартом в промисловому програмуванні, тому вивчіть принаймні одну об’єктно-орієнтовану мову програмування, і хороша зарплата вам гарантована. Прикладами таких мов є C ++, Java, Python. Курси для новачків можна знайти тут, тут і тут, а для продовжують навчання тут і тут.
  • Розширюйте свій програмістський кругозір, не варто обмежуватися одним ООП, освоюйте інші парадигми, вчіть інші мови, пробуйте себе в різних сферах. Наприклад, якщо ви хочете розробляти веб-додатки, то однозначно варто звернути увагу на такі мови, як CSS + HTML, JavaScript, PHP, Ruby. Хочете екзотики? Присвятіть трохи часу Haskell, Clojure, Prolog. Курси для закріплення своїх знань і отримання нових можна знайти тут і тут. Окремо радимо звернути увагу на ресурс Codecademy.
  • Безліч помилок в коді не подобається нікому: ні вашому тімліду, ні тестувальникам, ні замовнику, ні кінцевим користувачам. Тому тестируйте свій код. Курси по цій темі тут і тут. Від себе ще додам що unit-тести реально потрібна штука. Не можна недооцінювати їх. Коди набагато легше рефакторити і переписувати, якщо буде впевненність в тому що він не поломається після змін. І тут реально допомагають тести, які будуть підтверджувати роботу коду.
  • Розвивайте в собі логічне мислення, вивчіть дискретну математику: якщо ви хочете робити в своєму житті щось більш цікаве, ніж до кінця днів писати сайти, то без цього вам не обійтися. Курси: від MIT, по логіці, лінійної і дискретної оптимізації, графічних моделях, теорії ігор.
  • Неможливо уявити собі хорошого програміста без доброго знання Computer Science, яка стоїть за ним, тому вчіть алгоритми і структури даних, а також всю ту теорію, яка стоїть за ними. Курси: тут, тут і тут. Також радимо почитати книгу по дизайну алгоритмів.
  • Будь-яка програма взаємодіє з ОС, тому виробіть розуміння того, як влаштовані операційні системи, хоча б на базовому рівні. Відмінний курс по темі на YouTube.
  • Вивчіть UX-дизайн, якщо хочете, щоб вашим додатком було зручно користуватися, а значить, щоб його купували. Курс від Udacity.
  • Людство з давніх пір мріє про штучний інтелект, і сьогодні ця мрія близька як ніколи. Якщо ви хочете взяти участь в її здійсненні, то станьте фахівцем в області машинного навчання – молодій, але активно розвивающійся науці. Курси з робототехніки, обробці природних мов і машинного навчання.
  • Багато програмістів пишуть код і навіть не замислюються, як він перетворюється в зрозумілі комп’ютеру інструкції. Якщо вам це цікаво, то вивчіть те, як працюють компілятори. Зробити це можна в цьому курсі на Coursera.
  • У сучасному світі з багатоядерними процесорами нікуди без паралельного програмування, тому обов’язково навчіться працювати з потоками в мовах програмування. Курс по темі.
  • Практика життєво важлива для всіх, хто хоче бути програмістом, тому у вільний час працюйте над своїм проектом: наприклад, створіть або підтримуйте веб-сайт або зберіть робота.
  • Беріть участь в open source-проектах, це допоможе вам набути навичок роботи з чужим кодом, та й врешті-решт ви просто будете приносити користь людству. Ідеальним місцем для open source-діяльності є GitHub.
  • Працюйте над проектами разом з іншими програмістами. Це допоможе вам навчитися працювати в команді, що є невід’ємним навиком в сучасному світі, а ще ви зможете навчитися від них чогось нового.
  • Беріть участь в змаганнях з програмування і вирішуйте алгоритмічні завдання, адже це допомагає тримати ваш мозок у формі, поглиблює розуміння алгоритмів і структур даних, та й взагалі це непоганий спосіб провести час.
  • Знайдіть собі учня в області, в якій ви непогано розбираєтесь. Як не дивно, але навчання когось якогось предмета допомагає самому поглибити знання в цьому предметі, а ще непогано розвиває навички комунікації.

Ну і все. Це реконмендації зі статті від Гугл, хоч і не факт) Зі свого досвіду скажу, що якщо все це робити – то звичайно будеш крутим спеціалістом, але це забере весь вільний час і все життя. А взагалі дещо з цього таки можна вивчити, особливо корисно буде пройти курси, які тут згадувались.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Схожі статті

Leave a Reply

Your email address will not be published. Required fields are marked *