65 вещей, которые я не знал, когда начинал программировать (а жаль)

Перевод статьи «65 Things I wish I knew when I started to Code».

Photo by Alphacolor on Unsplash

Каждая история успеха уникальна. У всех у нас в процессе учебы были свои взлеты и падения. И у всех есть список вещей, относительно которых люди жалеют, что не узнали их раньше, в начале карьеры.

Если вы начинающий разработчик или только подумываете им стать, вам пригодится знание фактов, которые я собрал в этой статье. Они помогут вам сократить путь становления.

1. Программирование — это решение задач

Быть программистом — это гораздо больше, чем просто сидеть перед компьютером и беспорядочно нажимать на кнопки на клавиатуре. Умение писать код — мощный инструмент для решения множества проблем и облегчения жизни людей. Если у вас есть этот навык, ваши услуги всегда будут пользоваться спросом.

2. Золотое правило: все надо планировать

Каждый успешный проект начинается с тщательного планирования. Убедитесь, что вы определили цель, поставили задачи, изучили свою аудиторию и т. д. На бумаге (или при помощи онлайн-инструментов) начертите четкую схему того, как будет выглядеть ваше решение.

3. Главное — это контент

Без контента ваш сайт пуст. Если вы имеете дело со статическим контентом, проследите за тем, чтобы он был хорошо представлен. Если контент динамический, всегда старайтесь сначала определить, контент какого типа вы будете создавать или получать. На основе этих данных можно проектировать макет, код и структуру базы данных.

4. Написание кода должно быть последней фазой проекта

Новичкам может показаться, что любой проект всегда начинается с написания кода. На самом деле это просто техническая реализация того, что было запланировано ранее. Написание кода должно стать не первым, а последним шагом в решении проблемы.

5. Все нужное — у вас под рукой

Сейчас не 50-е или 60-е, когда для поиска информации по какой-то теме нужно было идти в библиотеку. Вся необходимая информация теперь всегда под рукой. Используйте свой мозг и Интернет.

6. Для программирования не нужно супермощное оборудование

Новейший процессор, огромное количество оперативной памяти и 5 мониторов — все это необязательно. Ноутбука среднего класса более чем достаточно для начала.

7. Необязательно хорошо разбираться в математике

Когда говорят о программистах, люди часто представляют себе каких-то гениев с IQ больше 200. Виной всему просмотренные голливудские фильмы. Но на самом деле все не совсем так. Да, математика может очень широко использоваться в отдельных областях, например, при работе в сфере искусственного интеллекта, робототехники, криптографии и т. д. Но для начала вам хватит базовых знаний.

8. Найти подходящий рабочий процесс непросто

У всех нас разные вкусы. Поэкспериментируйте с разными расширениями и настройками. Потребуется много времени, чтобы понять, что вам подходит и как связать все вместе. Но позже это будет очень полезно для вашей продуктивности.

9. Идеальное время — сейчас

Сохранение в закладках — это проявление прокрастинации. С точки зрения продуктивности, лучше делать все нужное сразу.

10. Синхронизация позволяет вам быть мобильным

Синхронизируйте все расширения и настройки браузера и IDE / редактора кода на всех машинах, на которых работаете. Это гарантирует, что где бы вы ни находились, вы всегда будете работать в одной среде.

11. Достигнуть цели можно разными путями

Когда я начинал программировать, я думал, что логика в коде очень строгая и должна следовать определенному шаблону. На самом деле единственной строгой переменной является синтаксис используемого языка.

12. Нейминг — это сложно

Поначалу придумывать имена для переменных, функций, файлов может показаться легкой задачей, но постепенно вы поймете, насколько это может быть сложно. Особенно, если речь идет о крупном проекте.

13. Воспринимайте ошибки как уроки

Какую историю успеха ни возьмите, вы быстро обнаружите, что на самом деле это паттерн из проб и ошибок. И чтобы эта история стала историей успеха, понадобились непременные составляющие: настойчивость и любознательность.

14. Переделывать в 10 раз проще, чем писать с нуля

Когда вы переделываете существующее приложение, у вас есть четкое представление о макете и принципах построения проекта. А это зачастую самые сложные части.

15. Важно найти свою нишу

Блуждание от ниши к нише ни к чему не приведет. Определите свою сферу интересов и исследуйте доступные возможности, прежде чем остановить свой выбор на чем-то одном.

16. Интересуйтесь, как все работает

Всегда пытайтесь изучить, что скрывается под капотом. Вам должно быть недостаточно просто знать, что вещи каким-то волшебным образом работают.

17. Инструменты — залог вашей производительности

Потратьте время на формирование подходящего набора инструментов. Это дает потрясающий результат!

18. Увлекательные проекты заставляют двигаться вперед

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

19. Это марафон, а не спринт

Сфера разработки постоянно развивается, поэтому приготовьтесь к непрерывной учебе. Если будете сильно быстро гнать на старте, слишком быстро устанете.

20. Люди, на которых вы подписаны, — это информация, которую вы потребляете

Обратите внимание на людей, на которых вы подписаны в социальных сетях. От этого зависит качество ленты, которую вы читаете, и получаемой информации.

21. Не изобретайте велосипед

Прежде чем приступить к работе над проектом, посмотрите, что другие разработчики использовали для решения подобных задач. Практически для всего есть готовые решения, вопрос лишь в том, насколько вы хороши в поиске.

22. Не будьте слишком падки на новинки

Быть активным в сообществе это здорово, но имейте в виду, что это часто приводит к знакомству с более оптимизированными технологиями, более современными пользовательскими интерфейсами и т. д. Однако наличие новинок не всегда означает, что ваш текущий стек плохой и вам следует его сменить.

23. Учебные руководства часто вводят в заблуждение

Туториалы создаются на основе предварительно заготовленного и проверенного кода. Когда вы начинаете работать самостоятельно, вы понимаете, что не можете придумывать решения так же быстро, как тот программист в туториале. И код вы не можете писать сразу чистый. Но имейте в виду, что в видео вы смотрите на конечный результат, а чтобы к нему прийти, автор тоже немало трудностей преодолел.

24. Туториалы не сделают вас самостоятельным

Просмотр видеоурока или чтение руководства может быть полезным для ознакомления с технологиями, но они не помогут вам встать на ноги. Попробуйте читать официальные документы, чтобы развить аналитическое мышление и попытаться найти свои собственные решения.

25. Нет идеальных технологий

У каждой технологии есть свои преимущества и недостатки. Если сомневаетесь, исследуйте и сравните альтернативные варианты, присмотритесь, как они решают конкретные задачи.

26. Большое значение имеет способность схватывать знания на лету

Устраиваясь на работу в какую-либо компанию, вы скорее всего не будете знакомы с их технологическим стеком. Но важно не то, сколько технологий вы знаете, а насколько быстро сможете освоить конкретную технологию, с которой столкнетесь.

27. Контроль версий — это необходимость

Клиенты часто просят вернуть предыдущий дизайн и не так легко определяются с нужным функционалом. В подобных случаях контроль версий — просто спасение. А еще он обеспечивает постоянное резервное копирование вашего кода, что тоже немаловажно.

28. Ошибки могут принимать пугающие масштабы

Будьте готовы к серьезным ошибкам, на исправление которых могут уйти часы или даже дни. Вы будете напуганы низким уровнем продуктивности в эти периоды, но как только исправите ошибки, все наладится.

29. Нужно знать, что не стоит изучать

Заблудиться в огромном океане технологий очень легко. Иронично, но сегодня один из лучших навыков — уметь определять, что не стоит изучать.

30. Чтение кода тоже очень полезно для развития навыков

Когда вы пишете собственный код, вы размышляете о том, что знаете. Поэтому важно также читать код других разработчиков. Это поможет вам изучить различные шаблоны проектирования и наилучшие подходы.

31. Будьте скромным, и окружающие будут уважать вас

Радуйтесь своим достижениям про себя, но внешне проявляйте скромность. Хвастовство до добра не доведет.

32. Перфекционизм замедляет

Стремление ставить качество превыше количества похвально. Но не переусердствуйте, иначе у вас останутся сотни незавершенных проектов.

33. Открытый исходный код — это здорово

В движении open source участвуют и отдельные энтузиасты, и крупные компании. Открытый код — замечательная вещь, и я верю, что вместе мы делаем лучшие проекты. Обязательно изучайте передовой опыт и паттерны проектирования, используемые другими людьми.

34. Диплом необязателен

Клиентам зачастую плевать на ваш диплом. Для них важно ваше практическое умение решать их проблемы.

35. Если случилось застрять — разбивайте задачу на более мелкие части

Часто решение проблемы кажется трудным, потому что проблема слишком объемная. Разбейте ее на части и решайте их одну за другой.

36. Корпорациям вы нужны для осуществления CRUD-операций

Сердце корпораций — это в основном операции CRUD. Изучите их и будьте готовы работать с ними ежедневно, если планируете устроиться в крупную компанию.

37. Проект никогда не бывает полностью завершен

Всегда найдутся способы улучшить и оптимизировать любой проект. Поэтому лучше сосредоточиться на том, чтобы проект отвечал заявленным требованиям и был достаточно хорош для выпуска.

38. Хороший код легко читать и поддерживать

Независимо от того, работаете вы один или в команде, всегда старайтесь писать код так, чтобы с ним смог затем работать кто-то другой. В более сложных частях оставляйте комментарии, объясняющие принципы работы.

39. Первый язык всегда самый трудный

Люди часто спрашивают, какой язык сложнее всего выучить. На самом деле сложность зависит от вашего опыта.

40. Искать в Google и пользоваться Stack Overflow — нормально

Эти ресурсы созданы для того, чтобы помогать вам. Не стесняйтесь гуглить или читать Stack Overflow в чьем-то присутствии. Будьте уверены: все остальные тоже и гуглят, и форумы читают.

41. Коммуникативные навыки часто недооценивают

Не всегда наш успех определяется качеством нашего кода. Важно практиковать взаимодействие с людьми.

42. Учитесь торговаться

Знание всех передовых технологий бессильно обеспечить вам высокие заработки, если вы не умеете торговаться. Не забывайте, что это вы нужны компаниям, а не наоборот.

43. Нужно присутствовать онлайн

Десятки личных проектов бессмысленны, если о них никто не знает. А чтобы продвигать их, вам потребуется засветиться в интернете (соцсети, статьи в блогах, видео на YouTube, ответы на форумах и т. п.).

44. Всегда помните о правиле 20/80

Имейте в виду, что последние 20% проекта занимают 80% времени. Так что дважды подумайте, прежде чем сообщать клиенту о прогрессе проекта.

45. Не усложняйте код без причины

Нужно стремиться к состоянию, когда больше нет фич, которые можно убрать, а не фич, которые можно добавить.

46. Фреймворки приходят и уходят

Поэтому куда более важно изучить технологию, на которой они основаны. Благодаря этому вы сможете быстро освоить любой фреймворк, если возникнет необходимость.

47. Хорошо знать что-то одно лучше, чем все понемногу

Вместо того, чтобы пытаться освоить все подряд, проведите небольшое исследование в интересующей вас области. Изучите доступные стеки, выберите один и овладейте им на достойном уровне. Если будете пытаться стать мастером на все руки, в конечном итоге можете не стать мастером ни в чем.

48. Тестирование существует не без причины

Заведите себе хорошую привычку писать тесты. Сначала вам может показаться, что вы выполняете ненужную работу, но это не так. Тесты помогут вам сэкономить много времени, особенно в больших кодовых базах.

49. Мотивацию больше всего улучшают достижения

Цените все эти «ага!»- моменты и во время учебы, и когда получаете, наконец, сложные функции для работы. В общем, все случаи, когда вам удалось своей работой произвести впечатление на окружающих и почувствовать себя ценным сотрудником. Относитесь к таким моментам как к топливу для вашей мотивации.

50. Не беритесь за непосильные задачи

Задачи, над которыми вы работаете, должны быть достаточно сложными, чтобы вам приходилось изучать что-то новое. Но при этом они должны быть доступными, чтобы вы в принципе могли их решить.

51. Не сравнивайте себя с другими

Если постоянно сравнивать свои достижения с достижениями коллег, легко расстроиться. Помните о том, что все учатся в своем собственном темпе, и это прекрасно.

52. Не считайте критику личным оскорблением

Конструктивная критика — это ценная обратная связь. Благодаря ей вы узнаете об ошибках или возможных улучшениях, которые сами не заметили. В конечном итоге это позволяет создавать более качественный продукт.

53. Каждый программист когда-то писал плохой код

Не бойтесь посмотреть на код, который вы написали несколько лет назад. Вы можете глазам своим не поверить, вам даже может стать стыдно, что вы такое написали. Но на самом деле это яркий показатель того, насколько далеко вы продвинулись вперед.

54. Один законченный проект лучше 10 незаконченных

Старайтесь работать не больше чем над 1-2 проектами одновременно и следовать паттерну «идея-реализация». Помните, что готовыми считаются только проекты, прошедшие стадию деплоймента, проекты, которыми уже можно пользоваться.

55. Лучший способ учиться — обучать других

Чтобы научить других какой-либо концепции, вам придется сначала изучить ее самому. В результате вы и сами основательно в ней разберетесь, и с кем-то еще знаниями поделитесь.

56. Ощущение, что теперь-то вы точно готовы устраиваться на работу, не придет никогда

Обучение программированию — это путь, а не пункт назначения. Поэтому вы всегда будете чувствовать себя на пути к достижению чего-то. Не позволяйте этому ощущению вводить вас в заблуждение и начинайте искать работу, даже если думаете, что не готовы.

57. Не поддавайтесь хайпу

Следите за новинками и трендами, но только на уровне ознакомления с принципами их действия и вариантами использования. Так вы будете знать, какие проблемы та или иная технология решает лучше всего, и, когда возникнет необходимость, сможете подобрать подходящий инструмент.

58. Мастерство приходит с практикой

Повторение — мать учения, а один из самых надежных способов овладеть чем-то — настойчиво это практиковать.

59. Фокусируйтесь на содержаниях, а не на контенте

В современном мире важно уметь быстро находить информацию. Если вы знаете, что вам нужно и где это искать, изучение этой темы — лишь вопрос времени.

60. Впитывайте знания, как губка

Чтобы сохранять конкурентоспособность на рынке труда, развивайте привычку учиться ежедневно. Обратите внимание на то, на кого вы подписаны. Качество важнее количества.

61. Научитесь говорить «нет»

Если вы никогда ни в чем не будете отказывать людям, окружающие рано или поздно начнут этим пользоваться. Это приведет к тому, что вы будете работать больше, чем следовало бы.

62. Заметки — ваше спасение от творческого кризиса

Что бы вы ни делали и где бы вы ни находились, всегда старайтесь записывать свои идеи. Создайте для них какой-то бэклог. Он вам весьма пригодится в периоды, когда вдохновение вас временно покинет.

63. Составляйте расписание на неделю и расставляйте приоритеты

Постарайтесь выделить время на планирование. Это позволит вам заранее определить все задачи, над которыми вы намереваетесь поработать, и порядок их выполнения.

64. Перерывы творят чудеса

Если вы застряли, попробуйте какое-то время не делать ничего, связанного с программированием. Проведите время с семьей, займитесь своим хобби или совершите пробежку. Часто бывает так, что после перерыва вы возвращаетесь к работе и моментально находите верное решение.

65. Спорт и полноценный сон повышают продуктивность

Когда дело доходит до продуктивности, зачастую можно добиться большего, если поспать восемь часов, а поработать четыре. И если добавите к этому регулярные физические нагрузки, результаты будут еще лучше.

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх