Обложка канала

Блог программиста S0ER. Мысли, ранний доступ к видео, фоточки, короткие посты. Ничего конкретного, но что-то будет полезным.

SOER

3 года назад
Открыть в
Опыт против знаний Опыт и знания – это две стороны одной медали, знания – нужны для того, чтобы наметить путь решения, а опыт помогает минимизировать количество ошибок, которые могут возникнуть на этом пути. Лучший способ приобрести опыт – это практика. Поэтому на рынке ценятся специалисты, которые имеют практический опыт разработки и хорошие теоретические знания, позволяющие решать принципиально новые задачи. В повседневной жизни мы привыкли к тому, что с опытом на достижение результата тратится меньше сил, а качество становится лучше. В программировании все немного иначе, многие программисты сталкиваются с ситуацией, когда приобретенный опыт за короткое время становится никому ненужными. Большая часть работы современного разработчика связана не с созданием новых алгоритмов, а с поиском готовых и наиболее подходящих решений, с последующей «подгонкой» результата к нуждам проекта. Существует огромное количество ресурсов, где готовый код решает поставленную задачу и все что требуется – это скопировать его в свой проект и адаптировать к своим условиям. Общество не стоит на месте, появляются новые требования, идеи и вызовы. Одна технология сменяется другой, появляются новые библиотеки и фреймворки, которые конкурируют между собой за долю на рынке. В какой-то момент возникает хрупкое равновесие, которое очень быстро нарушается появлением нового «игрока». В целом это напоминает игру «хозяин горы», когда ни один из участников не может задержаться на «вершине» слишком долго, так как его теснят другие участники. И здесь программисты оказываются в сложной ситуации – чтобы получить опыт работы, необходимо освоить новую технологию на практике, но скорость развития индустрии такова, что времени на это освоение практически нет. Путей решения в такой ситуации не так уж и много, я предложу всего два. Первый вариант заключается в том, чтобы остановиться на наиболее развитой технологии и сосредоточиться на ее изучении. При этом не тратить время на изучение альтернативных решений. На рынке всегда есть предложения для узких специалистов, которые работают со старым кодом. Обычно такие разработчики требуются в больших компаниях, где обновление кодовой базы идет медленно. В такой ситуации программист становится заложником своего опыта. И продолжая углубляться и развиваться по выбранному направлению он теряет новые знания, но продолжает приобретать опыт. Второй вариант заключается в постоянном развитии и изучении всего нового, частой смене проектов и ориентации на перспективные стартапы. В этом варианте недостаток опыта компенсируется новыми знаниями. Ориентация на стартапы выбрана не случайно. Отличительной особенностью молодых проектов является использование современных решений и технологий. Обычно использование всего нового позиционируется как конкурентное преимущество. Так как на рынке нет в достаточном количестве разработчиков с опытом работы со всеми новыми решениями, появляется шанс попасть на работу обладая только знаниями, без опыта. Рано или поздно придется выбирать на какой технологии остановиться. Потому что прибывать в состоянии постоянного ученика очень некомфортно и со временем приводит к состоянию эмоционального выгорания. Наиболее удачной стратегией развития для программиста будет совмещение первого и второго варианта развития. Безусловного это требует постоянно держать «руку на пульсе», но если вы решили быть программистом, то нужно быть готовым к тому, что накопленный опыт постоянно обесценивается, как и приобретенные знания.