Саморазвитие программиста и вопрос «Зачем?»

С какого-то возраста появился вопрос: «Зачем?».

Вот раньше ты встречал упоминание, например, о популярной технологии. И ты сразу начинал ее изучать. Если бы тебя спросили: «А зачем?», ты бы сказал: «Ну как зачем? Ты что, дурак? Новая для меня технология. Популярная. Пригодится ж наверняка. Изучу, опробую, ну!». А сейчас…

Тебе предлагают изучить, а ты думаешь: «Какая-то технология. Очередная. Сложность обучения у нее высокая. Это ж изучать ее надо, разбираться, пробовать. Я там далеко не первый буду, значит уже многие знают ее куда лучше меня, конкуренция. А потом что? То ли использовать, то ли забыть, а ведь еще работа есть. Ну и зачем?..»

Известным монологом навеяло. Эту проблему пока для себя не решил. А может, и не надо ее решать?
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 44

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

    Например я вообще за задачи не берусь если не смогу использовать получившийся результат в 2-3 вариантах

    Например никогда не работал в веб
    Приходит заказчик — говорит хочу реализацию под веб
    Ок. Договариваюсь что это будет дешевле но по затратам времени больше так как технология новая
    В итоге заказчик получает продукт дешевле
    я получаю новые знания
    я получаю деньги
    ну и конечно же я пишу проект сразу так чтобы можно было либо продать проект кому то еще ( если заказчик не против ) либо использовать данные наработки в других проектах которые так же продам

    В итоге и технология изучена и деньги заработаны и разработка на будущее осталась
    А изучать технологию ради технологии — бред
      +5
      А изучать технологию ради технологии — бред

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


      А то я видел исходники, например, в которых SQL запросы составлялись конкатенацией строк, причем без экранирования параметров. И эти исходники были написаны не в 1999 году, а всего лишь 3-4 года назад. Просто человек как один раз научился, так до сих пор и шарашит одно и то же десятилетиями, даже не в курсе таких банальных вещей, как sql инъекции.

        0

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

          +2
          SQL запросы составлялись конкатенацией строк

          Если запрос уходит за пределы CRUD и использует специфические фичи СУБД для большей производительности, то его Raw представление в коде/ресурсах это нормально.
          без экранирования параметров

          А вот это уже халатность.
            +2
            Сейчас только языков программирования столько, что если меня спросить, не факт, что смогу все перечислить

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

              +1
              >Сейчас только языков программирования столько, что если меня спросить, не факт, что смогу все перечислить
              Еще примерно в 1985 году мы с коллегами составили список тех языков, про которые не просто слышали, но написали хоть что-то, пусть даже Hello, world!.. И для которых были доступны компиляторы живьем. Так их уже тогда было порядка 50-ти. И смысла изучать их все ради постоянного применения не было никакого, так что мы вполне субъективно подошли и выбросили из списка Кобол.

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

              >А то я видел исходники, например, в которых SQL запросы составлялись конкатенацией строк
              Я вам по секрету скажу — в Apache Spark и в Hive, просто для примера, механизм bind variables просто не поддерживается. Поэтому все запросы составляются именно так. И во-вторых, вы в курсе, что нельзя, например, подставить в запрос имя таблицы, потому что подстановка в этом месте не поддерживается вообще никем?
                0

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

                  0

                  Конечно, код, о котором я говорю, не работает с Apache Spark/Hive. В нем напрямую передаются параметры из GET/POST запросов в MySQL запросы.


                  Такого кода за жизнь приходилось видеть сотни раз. Взломать подобные сайты тривиально — это не делается лишь по причиние того, что они никому особо не нужны. Хотя script-kiddie может каким-нибудь станадртным инструментом взломать их ради лулзов, но пока видимо проносило — сайтов в интернете десятки миллионов, если не сотни, на всех script-kiddies'ов не хватает пока.

                    0
                    Ну, просто в контексте расширения кругозора тема инъекций выглядит немного странно. Это уж скорее не узкий кругозор, а просто низкая квалификация, расширением кругозора она в моей практике не лечится. Вполне реальный пример: мне как-то дали в проект разработчика, чтобы переписать кучу legacy кода на VBA на более современные технологии. И первое, что его попросили сделать — это положить весь код в Git. Прямо как есть — т.е. файлы .vba или .cls.

                    Отвлекся на другие дела, а когда вернулся к этой задаче, обнаружил в git исходные файлы .vba (без истории), файл .xls (с бесполезной историей), и инструкцию вида «скопируйте файл .xls туда-то, выполните git add *, git commit, git push» в jira в виде комментария к задаче.

                    А это чудо, между тем, называло себя «C# разработчик». Ну и как вы думаете, поможет ли тут «расширение кругозора»? На мой взгляд, тут налицо отсутствие самого базового образования по профилю, и тут надо не кругозор расширять, а пороть ежевечерне на конюшне за факапы, пока не проникнется.
                    0
                    Ну я вовсе не имел в виду, что конкатенация это хорошо. Я всего-лишь хотел сказать, что binding тоже не универсален, и без уточнения контекста в конкатенации ничего плохого нет. И конечно же, шаблоны еще лучше.
                  –1
                  Ну вот я как то пытался в небольшом городе (500 тыс населения) нанять программиста
                  зп была от 30 до 90 тыс ( при средней по городу 25 ) Сумма завесила исключительно от опыта и знаний соискателя

                  В итоге я нашел ( исходя из требований )

                  — Студента который 3 месяца назад получил диплом ( и потребовал сразу 45 тыс — на вопрос а что умеешь то? Ответил списком из 5 языков программирования + веб + что то еще. Не выполнил не одно из 3х ( оплачиваемых! тестовых заданий )
                  — Программиста на c# c 7 летним опытом и списком знаний на полтора листа — который на просьбу поставить и настроить 2-3 виртуалки, сказал что это задача системного администратора, а он разработчик и будет работать только с кодом (просил 60 тыс)
                  — еще около 5 человек которые отваливались сразу же на первом тестовом задании ( оплачиваемом! ) либо требовали от 60 до 80 тыс сразу же без показа наработок (Повторю при средней зп в городе 25 тыс)
                  И у всех был в резюме стек технологий пунктов на 20
                  Новинки — новые технологии — умные слова

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

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

                  Те я не призываю не в коем случае сидеть на попе ровно и не изучать новинки — их нужно обязательно изучать! но делать это нужно не бездумно а с пользой (см первый пост)
                    +4
                    который на просьбу поставить и настроить 2-3 виртуалки, сказал что это задача системного администратора, а он разработчик и будет работать только с кодом
                    Простите, а что с этим не так? Я понимаю, использовать это как дополнительный плюс, но отказывать соискателю потому, что он не может прямо с ходу сдать зачёт по не профильной для него дисциплине...?
                    От того, что что вы платите слесарю в 2 раза больше рынка, как то не следует, что он должен уметь работать ещё и за электрика.
                      –4
                      Вот отличный ответ! Теперь я понимаю что рынок в заднице ))
                      Вот по этому я не могу найти специалистов
                      Виртуалку нужно было поставить для свой же работы — собственно задача была связаная с управлением api виртуальной машины.

                      Не профильная тема )) Б%; Сами понимаете что говорите?

                      как то не следует, что он должен уметь работать ещё и за электрика.


                      Нет это значит что слесарь с руками из жопы как и большинство Программистов )) которым поставить среду это непрофильноая задача ))

                      Вот по этому они и зарабатывают 30-40 тыс а не 200 например как нормальные спецы.
                      Спасибо — буду знать в чем разница
                        +2
                        Не, ну а чё бы его тогда ещё не попросить лампочку поменять или машину починить, раз у руки не из жопы?
                        Я вам даже так скажу, чем у спецов выше квалификация, тем у них меньше желания изображать перед вами цирковую собачку за «ЗП в 2 раза выше средней по городу».
                          0
                          у спецов


                          Какие там спецы
                          Раньше таких называли говнокодерами а сейчас это мидл ))
                      +3
                      который на просьбу поставить и настроить 2-3 виртуалки, сказал что это задача системного администратора

                      Он и прав. Задача поставить и настроить 2-3 виртуалки это не задача для
                      нанять программиста

                      Хотя многие обычные люди и настройщиков компьютеров называют «программистами».
                      Так что, я в таких случаях говорю или платите как за 2 ставки разработчик+сисадмин или «счастливо оставаться».
                      А 90 тысяч для провинции это не такие и большие деньги для разработчиков с опытом +5 лет, т.к. сейчас их профессия совершенно не на орбите одного города.
                        –2
                        это не задача для


                        Придет к вам сантехник сделать кран и скажет
                        — Я специалист только по холодной воде, горячая вода не мой профиль

                        Вы вообще понимаете о чем речь или нет?
                        Это не программист тогда ) Это недоучка

                        А 90 тысяч для провинции это не такие и большие деньги


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

                          Корректный пример:
                          К Вам приходит сантехник из УК/ТСЖ/ЖЭО чтобы устранить течь, а вы его просите за одно и автоматы на щитке сменить. А что, он представитель организации у которой в название «коммунальное хозяйство» и электроэнергия туда входит.
                          С другой стороны, сантехник сможет «во внеурочное время» и это сделать, но справедливо попросит дополнительную плату.

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

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

                            Но конкретно в данной ситуации (программист идущий на проект завязанный на api виртуалок, и отказывающийся настроить пару виртуалок для тестов) я пожалуй поддержу silvestr22 — как минимум это странно и печально.
                              +1
                              Тут еще вопрос в том было ли в вакансии описано что нужно будет делать. Если было — тогда согласен, странный человек. Если же просто был перечислен какой нибудь стандартный для C# стек — то тогда соискатель вполне в своем праве, он немного на другое шел.
                                +1
                                Ну это да, в изначальном комментарии тема не раскрыта, но судя по строчкам
                                собственно задача была связаная с управлением api виртуальной машины
                                вот из этого комментария — я предположил что человек был готов работать с апи виртуалок, но не был готов поднять парочку машин для тестов. Опять же — возможно там были специфичные требования по конфигу/взаимодействию этих машин. В общем тема не раскрыта, контекст не ясен, зато уверенный спор уже ведется )
                                0
                                и если доп просьбы выполняются в рабочее время — то за что собственно доплачивать?


                                По профилю доп. просьбы. А то так программиста можно загнать в свой частный дом роутер настроить.
                                  +1
                                  А то так программиста можно загнать в свой частный дом роутер настроить.
                                  ну так если это в рабочее время, и с доставкой, то в чем вопрос? Давайте попробуем еще раз.
                                  Дано:
                                  Сотрудник работает в компании программистом и получает зарплату X
                                  Компания не может найти себе эникейщика на зарплату Y = X/2
                                  Компания предлагает программисту настраивать тестовую среду/сервера/роутер дома у начальника самостоятельно, но, конечно, в рабочее время.
                                  При этом за работу 4 часа в день программистом и 4 часа админом ему предлагают все тот же оклад X (а не X/2+Y/2=0,75X ).
                                  Что-то я все еще не понимаю за что доплачивать?

                                  Нет, понятно что это общая ситуация с дефолтными условиями, а на деле каждый такой кейс очень индивидуален и надо больше подробностей.
                                  И, понятно, что речь сейчас исключительно о материальной составляющей, не касаясь мотивации и этической стороны вопроса (попробуйте менеджеру предложить заканчивать работу на пол часа раньше, и в оставшиеся пол часа мыть пол в офисе, конечно без потери оклада).
                                  Но возвращаясь к исходному кейсу — программисту сказали что он сам должен настроить себе специфичное для задачи на которую его брали дев/тестовое окружение, а он сказал что брезгует. На мой взгляд это как если бы программист придя на работу требовал админа для установки на его тачку линукса/шторма/докера/гита — я бы такого гнал подальше ссаными тряпками.
                                0

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

                            0
                            Ну вообще даже в провинции платить мидлу ниже 70-80 как то странно. Не забываем что сейчас удаленка вполне распространена. Конкурировать не со средней зарплатой по городу нужно, а со средней зарплатой программистов по городу (и если мы говорим про нормальных программистов — не с зарплатами в веб студиях клепающими одно и то же и 1сных конторах вам придется конкурировать).
                              0
                              Они не могут конкурировать ни с кем ) Для них это непрофильная задача
                                +2
                                Ну вообще специализация, к сожалению ли или к счастью, все более популярна становится, и эффективна в глобальном плане. Чистый прикладной разработчик, особенно если он больше по UI и бизнес процессам, вам вряд ли что виртуалку поднимет, что базу. А если и поднимет — то поскольку он этим редко занимается — результат вам вряд ли понравится. А тот кто профессионально работает с виртуалками, базами и подобным — скорее всего вам такого напроектирует в UI и бизнес процессах — что только держись.
                                А универсалом быть не выгодно, усилий тратится много, а денег по факту получаешь столько же, а то и меньше чем специалист в узкой области.
                                  0
                                  Развернуто и понятно. Спасибо
                                    0
                                    Это конечно только мой личный опыт, но я по себе вижу, а так же часто слышу от знакомых разных что если бы я или они выбрали бы одну технологию, одно направление, и копали вглубь а не вширь — получали бы заметно больше, и более эффективными бы были с точки зрения бизнеса.
                              +1
                              И у всех был в резюме стек технологий пунктов на 20
                              Новинки — новые технологии — умные слова

                              Вы спорите с немного другим тезисом.


                              Можно изучать новые технологии и иметь в резюме список из пяти пунктов


                              например

                              image


                              Надо бы, кстати, выкинуть машинное обучение, не позиционирую я себя так больше, и заменить C++17 на 20.

                            +4
                            А изучать технологию ради технологии — бред

                            А ради любви к технологиям норм?

                              0
                              Ну если у вас есть свободное время — пожалуйста
                              У меня например нет

                              — Семья
                              — Работа
                              — 2 свои проекта
                              — Спорт
                              — Книги
                              — Путешествия

                              Я к сожалению не могу даже поддержать разговор людей о сериалах — я не смотрел не один сериал полностью — нет на это времени

                              И тратить его просто чтобы тратить — такого к сожалению позволить себе не могу
                              А совершенствоватся в том что знаешь и то что нужно по проектам и работе — конечно же нужно

                              Изучать технологию просто ради изучения новой технологии — бред (либо у вас очень много свободного времени, что означает что вы чем то не тем занимаетесь )
                                +3
                                У меня например нет

                                Ну, значит, это вопрос приоритетов. Для меня новые технологии (впрочем, это не новые фреймворки) интереснее спорта, книг и путешествий.


                                А совершенствоватся в том что знаешь и то что нужно по проектам и работе — конечно же нужно

                                Совершенствуюсь в том, что нафиг не нужно по текущей работе.


                                Изучать технологию просто ради изучения новой технологии — бред (либо у вас очень много свободного времени, что означает что вы чем то не тем занимаетесь )

                                Свободного времени у меня… Ну, 9 часов в будний день на работу с учётом времени туда-обратно, да и всё.

                                  +1

                                  Слишком категорично "чем-то не тем занимаетесь", чтобы бы правдой. Вот допустим из вашего списка мастхэв семья и работа. Но некоторые вместо ваших проектов, сортов и путешествий изучают технологии и книги о них же читают. Или проекты занимают столько же времени что и ваши, но они чисто учебные, для освоения интересных (но не заведомо полезных) технологий.

                                    0
                                    Слишком категорично «чем-то не тем занимаетесь»


                                    это скорей отсюда

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

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

                                      Зачем каждую? Более того, зачем новую?


                                      Я как раз вчера начал читать книгу по, э, технологиям, написанную в 89-м году.

                                        0
                                        Да тут в общем-то даже спорить не о чем — изучение новых технологий в вашем списке фигурирует под более обобщающим пунктом «книги».

                                        Хотя знаете, я даже немного перефразирую:
                                        потребление структурированной информации определенной тематики, неизвестной или малоизвестной лицу, потребляющему данную информацию, и, как следствие, представляющей интерес для данного лица.

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

                                        Но ведь не мастхэв. Это тоже вопрос приоритетов.

                                          0

                                          "допустим"

                                  +3
                                  значит уже многие знают ее куда лучше меня, конкуренция

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

                                    +5
                                    По-моему если возникает вопрос «зачем», значит, незачем. С опытом развивается интуиция, в каких штуках стоит разобраться, а какие можно пропустить.

                                    Выучить все языки программирования и фреймворки не получится всё равно, как не получится посмотреть все видео в ютубе, или прочесть все на свете книги.
                                      +5
                                      «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!»© (кэрролл) — вот зачем:)

                                      Если серьезно, то учить «очередной js фреймворк» без нужности его реально использовать на практике бессмысленно. Умнее уходить глубже в своей области.
                                      Однако изучить что-то из немного другой области, скажем выучить функциональное программирование в дополнение к императивному или допустим на досуге научиться вышивать крестиком — крайне полезно, изучение даже не связанной области зачастую помогает продвинуться в основной, у гессе в «игра в бисер» это в доступной художественной форме неплохо рассказано — то что в современном мире отчасти называют биг-дата.
                                        +6
                                        Вопрос больше подходит для Тостера, а не для Хабра.
                                        Профессионал работает разными инструментами. Выбирает инструмент под задачу. Чтобы выбирать, нужно знать то, из чего выбираешь. Чтобы знать, нужно знакомиться.
                                        Кроме того, инструменты развиваются, улучшаются. Хочешь улучшений — знакомься с новым.
                                        Кроме того, на рынке появляются все новые профессионалы, которые решают задачи всё эффективней, что приводит к повышению требований. Хочешь не отстать от рынка — догоняй, знакомясь с новым.
                                        Если эти ответы не очевидны, то имеет смысл рассмотреть смену сферы деятельности на что-то более консервативное. Например, у настройщика роялей инструменты не меняются десятилетиями.
                                          0

                                          Ну не знаю. Сейчас большинство инструментов может решить те задачи которые ставятся. И выбираешь не то что лучше подходит, а то что знаешь лучше всего. Даже сейчас, зная язык, нет смысла изобретать свой велосипед. Всё придумано до нас. Берём язык и то что подходит под задачу. А не выбираем язык под задачу.

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

                                        Самое читаемое