Pull to refresh

Comments 88

Четко и по делу. Тоже около 2х лет в вебе.


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

Часто здесь на Хабре вижу в постах/комментариях точку зрения, что программисту нужно постоянно разносторонне развиваться в своей сфере. Поэтому хочу поподробнее узнать Ваше мнение о тех «многих ребятах», которых Вы видели много лет без роста.

Дело в том, что я сейчас нахожусь в раздумиях — стоит ли мне начать изучать программирование. Пока что смотрю на всё это издалека, так как не имею ни программисткого/математического образования, ни какого-либо представления о программировании (кроме нескольких примитивных попыток в HiAsm и в html — но ведь ни то, ни это, по сути программированием не является). У меня может назреть идея примерно на полгода-год уйти в абсолютно свободный отпуск и заниматься только изучением программирования. Такая идея появилась после того, как где-то прочитал статью о том как какой-то русский чувак полгода «посидел» на javarush.ru по 6 часов в день, и теперь зарабатывает по несколько сотен тысяч рублей в месяц. Хотелось бы попробовать точно так же. Проблемой для себя вижу то, что я по своему характеру вряд ли смогу быть тем идеальным кандидатом в программисты, который постоянно изучает что-то новое и совершенствуется. Мне было бы психологически комфортнее разово получить некий навык (хочу пройти весь курс на этом JavaRush.ru), и потом постоянно зарабатывать применением только этого навыка без какого-то особо активного роста и постоянного нового обучения.

Вот те ребята из Вашего примера — они точно так же живут и работают, как я планирую? Или они всё таки больше развиваются?
Вам точно не хватит «разово полученного навыка», потому что, ну, язык-то вы выучите один раз, а вот экосистема, новые паттерны, подходы — это все постоянно изменяется. Соответственно, вам придется все время примерять эти новые практики на то, что уже известно, да и вообще быть в курсе этого нового, чтобы не плавать, когда это встретится в коде, написанном коллегами.
А эти экосистемы, паттерны, подходы — они будут изучаться просто в процессе работы с ними?
Или это всё потребуется изучать отдельно от работы? (ну, типа, как если кто-то работает и дополнительно проходит курсы повышения квалификации).
Все зависит от компании, в которую вы устраиваетесь. На джуна, скорее всего, вас возьмут с базовыми знаниями, и вы всему научитесь в процессе. Но тут есть нюанс: если брать только рабочее время, то вы узнаете ровно про то, что уже используется в компании. Когда вы будете искать новую работу уровнем повыше, у вас уже кроме базовых знаний языка будут спрашивать что-то о работе конкретных технологий. Если вы ничего сверх работы не читали/учили, то вероятность того, что вас возьмут на совершенно новый стек, довольно мала. То есть, если вы начинали, например, с бэкенда на JEE+Hibernate, то перейти на какой-нибудь vert.x+noSQL будет сложнее.
Я сейчас говорю конкретно про java, но подозреваю, что для других языков (особенно в вебе и бэкенде) все более-менее так же.
При определении куда двигаться, имейте ввиду картинку в топе этой статьи. И ранее опубликованную на Habr, тоже очень показательную статью. Это конечно не повод замереть и стоять камнем. Но просто это нужно знать и учитывать.
Достаточно прочитать знаменитый список «что нужно знать с++ программисту» или список классики CS и что бы ни случилось в этом мире, пока существуют классические языки программирования, ты будешь вкурсе как разобраться хоть с чем.
Так что разового получения навыка хватает, вопрос в том, что надо найти побырому лет 7 из загашника.
Неверите мне, берете и вспоминаете последний изученный вами паттерн/идеому/фреймверк, немного гуглите и оказывается, что все изобретенно давным давно.
Даже язык не выучит, по своему опыту работы преподователем заметил такое — чем яростнее и фанатичней человека интересует ИТ, тем больше успехов он делает. А те кто приходили с мыслью получить навык и тупо работать — не заканчивали курс даже

Как мне кажется в программировании большинство людей в обучении идут от общего к частному. Загуглилы Вы топ языков программирования для новичков к примеру, выбрали для себя python. Пошли в интернет, как выучить пайтон, нашли видео уроки по основам. Через неделю две (как у меня это было) перестанете понимать что вы учите и зачем, и интерес пропадает.
Представьте, если ваша цель в другом, например вы хотите сделать простого бота для получения цены криптовалюты, начинаете смотреть видосы читать документацию. Возникает вопрос, ага а как зарегать бота, а как получить текст сообщения от пользователя, о как неудобно это делать через getupdates может может есть способ удобнее? Ага оказывается есть вебхук, хм нужен сервер для получения данных от телеграмма, ага это значит ставим фреймвор для пайтона чтобы запустить сервер/сайт потом используем тунель чтобы телеграмм смог его увидеть и отправить. Ага а как обработать, а как спрасить данные о цене.
Может не самый хороший пример получился, но я думаю идею вы поняли. У вас есть задача и вы пытаетесь загуглить как её решить. И так идёте от одной задачи к другой пока не получится проект (например тот же бот, о котором я писал выше). Это конечно мнение любителя, но я так вижу обучение программированию.

Представьте, если ваша цель в другом
Может не самый хороший пример получился, но я думаю идею вы поняли.
Да, у меня в жизни случались подобные кейсы, но всегда как-то так получалось, что на любые мои хотелки всегда находилось какое-либо уже готовое решение, либо почти готовое, которое я доводил до моих требований при помощи каких-то опять же готовых инструментов. Возможно, что стоит увлекаться какой-то экзотикой или чем-то относительно новым (криптовалюты, телеграм-боты), чтобы потребовалось создавать что-то относительно новое.
где-то прочитал статью о том как какой-то русский чувак полгода «посидел» на javarush.ru по 6 часов в день, и теперь зарабатывает по несколько сотен тысяч рублей в месяц

Не пойму, это нативная интеграция рекламы в комментарий? Я отвечу схожим образом: я позанимался два месяца на hexlet.io и теперь зарабатывают несколько десятков тысяч рублей в месяц. В разработке есть разные люди, можно и будучи формошлёпом получать больше сотки, множество факторов решает. Но мотивация идти в творческую профессию ради денег — это ужасно.

Прошу прощения, если мой комментарий похож на рекламу. Возможно, я сам стал жертвой маркетинга этого сервиса, но я на самом деле планирую начать знакомство с миром разработки именно с него. Казалось, что он уже давно не нуждается в рекламе.
мотивация идти в творческую профессию ради денег — это ужасно
В целом — да, согласен. Так, в принципе, про любую профессию можно сказать: одни только деньги могут и не удержать там, если всё остальное естество человека будет против. Надеюсь, что финансовая мотивация будет соседствовать с интересом к этому занятию.
И спасибо за Ваши примеры про десятки тысяч после 2-х месяцев, и про больше сотки для формошлёпа. Такие варианты выглядят привлекательными из моей глубокой провинции.
Не надо ориентироваться на чьи-то частные случаи. Реальность может оказаться куда более унылой.

Если вы твердо решили идти в программирование, то сразу настройтесь на то, что

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

если вы к этому готовы, «значит вам туда дорога» (с) — вы готовы заниматься программированием потому что вам это действительно интересно. А, значит, вы будете свой интерес постоянно удовлетворять новыми знаниями и навыками и таким образом расти.
Я сидел в банке 2.5 года и там никто никуда не растёт. Все сидят над одним проектом по 7-8 лет, допиливая новые фичи к нему. Естественно, набор технологий тоже не меняется. Там вполне себе можно после курсов java программиста сидеть на попе ровно и увеличивать процентов на 10-15 каждый год себе зарплату пока не упрешься в какой-то потолок. А потом также плавно перейти в менеджеры и расти дальше по карьере менеджера до пенсии. За пределами работы учить ничего не надо, а если что-то надо будет, то всему научат на курсах внутри компании и пошлют на оплаченные банком курсы.
И скажу даже больше, можно спокойно освоить достаточный уровень за 3-5 месяцев по 5 часов в неделю…
Спасибо за конкретные примеры. Значит мои предположения об этой профессии похожи на действительность.
Сильно зависит от. Как всегда, как везде.
Хотел бы я посмотреть на человека, пытающегося что-то написать под мейнфрейм «после курсов java».
Все интересное в банке происходит в бекенде. А на фронтах… Там по большому счету что банк что не банк — нужно сделать некий среднеудобный для всех фейс, дергающий предложенный беком набор вебсервисов. Естественно, особого роста в таких условиях трудно ожидать.
С таким подходом, лучше даже не пробовать, только время и деньги потратишь. Работая программистом, особенно без опыта, постоянно будешь сталкиваться с чем-то новым и непонятным. Соответственно, постоянно надо будет учиться. А тупо пройдя JavaRush скорее всего даже джуном не устроишься, без доп. подготовки.
Ну пока что мною движет только именно интерес познакомиться с миром разработки, поэтому если ничего не понравится, то потратится только время, так как в сети есть множество мест бесплатного обучения.
А как Вы думаете, если «тупо пройти JavaRush», то можно будет хотя бы если и не устроиться на фуллтайм джуном, то хотя бы фрилансить на каких-то простых заданиях?
Мир разработки очень многогранен. Одно дело вебразработка. Другое — разработка мобильных приложений. Третье — промавтоматизация (как встроенные системы, так и верхний уровень). Отдельная тема — мейнфреймы (большие коммерческие сервера на разных экзотических платформах типа той же IBM i (или z, хотя она ближе к общераспостраненным системам)
Или геймдев. Или еще что-то…

И в каждой сфере своя специфика. Где-то надо знать фреймворки (и уметь ими правильно пользоваться), а где-то надо вникать в тонкости платформенного API и архитектуры. Где-то придется всякими хитростями выживать максимум производительности из железяки и привыкать мыслить милли- и микросекундами и над каждым циклом думать «а нельзя ли его подсократить, а уложусь ли в таймаут, а что можно вынести за пределы отведенного таймаутом времени?»
А где-то голова болеть будет о том, а насколько вот эта операция нагружает систему? А нет ли тут лишнего переоткрытия файлов? А не закешировать ли прочитанные данные на всякий случай?

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

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

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

да, ибо без того вы скорее всего и джуном не станете.
Остальное притянуто за уши, я так скажу, даже если сидеть вечным джуном за условные 500-1500 денег это в любом случае лучше чем почти любая другая работа в снг.
Вопрос в том, а получится ли сидеть вечным джуном? И будут ли вечному джуну вечно платить 1500?

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

А в иных областях, где говнокод мигом приводит к ощутимым убыткам, уже сейчас или ты растешь (причем, растешь быстро), или «с вещами на выход». Вечные джуны там просто экономически невыгодны.
ну вечный джун не подразумевает что он вечно говнокодит. Просто он не знает ничего кроме пары фреймворков и не интересуется (нету времени\желания) новыми вещами. Для таких всегда есть места, все таки легаси никуда не пропадет, а молодежь туда не затянешь.
Ну не знаю… Может быть, конечно, но мне не кажется что таких позиций будет много и они будут хорошо оплачиваться.

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

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

— «Нет. Это не принесет здесь и сейчас денег. Это не нужно не рынке.»

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

И снова взгляд непонимания… И снова остаюсь в одиночестве, разгрызая очередной гранит спецификации \ паттерна \ алгоритма…

Ладно, не все так грустно. Некоторых людей уже сумел перетянуть на свою сторону. Теперь 2 пары, нет 3, 4, 5 пар глаз жадно поглощают информацию, осознавая что и зачем они учат. Увидели границы, выработали план, стремимся к мечте… стать настоящими программистами, а не кодерами.
UFO just landed and posted this here
Со временем становится без разницы на чем писать и какой фреймворк использовать. Просто используешь под задачу. В целом куда не глянь многие вещи похожи, где то алгоритм зашит, где то его можно применить сходу, синтаксис популярных языков в целом похож, открываешь спеку и пишешь, т.к. есть база. Многие коллеги, когда им задают вопрос на чем они пишут, отвечают что на всем.
UFO just landed and posted this here
А если нет фреймфорков? Ну вот нет и все. Есть платформа, есть язык (один или несколько), есть системные API, работающие с какими-то чудными системными объектами (типа *dtaara, *dtaq, *usrq, *usrspc, *usridx и т.п.) и все это крутится хрен знает где куда у вас доступ через эмулятор терминала:

image
image

И на все это навешано куча «нефункциональных требований». Что можно а что нельзя «иначе отключим газ».
Нужно решить задачу? А она занимает слишком много времени? Распараллель обработку. Но потоки использовать нельзя т.к. сопровождение их не может контролировать. Т.е. только запуском нескольких задач обработчиков. Но их придется контролировать, придется налаживать между ними межпроцессный обмен. Следить за ними как они работают. прибивать те, что перестали отвечать…

И все это на голимом системном API без никаких фреймворков.
Многие коллеги, когда им задают вопрос на чем они пишут, отвечают что на всем.

Лично я вот пишу на компьютере…
Прочитал и почувствовал вдохновение. Огромная благодарность за столь экспериментальный стиль письма. Я проникся идеей «основ» и прошу поделиться литературными источниками/названиями/авторами, которые дадут понимание фундамента!

Спасибо за тёплый отзыв! От себя могу порекомендовать следующие книги:


  1. "Чарльз Петцольд — Код. Тайный язык информатики" — это отличная книга для людей любого уровня, даже не являющихся программистами, но увлечённых технологиями.
  2. "Н. Поликарпова, А. Шалыто — Автоматное программирование" — по теме конечных автоматов, упомянутых в статье. Тоже достаточно легко читается и даёт повод для размышлений, но лучше совмещать изучение автоматов пополам с их реализацией. Поскольку я пишу на JS, то экспериментировал с "javascript-state-machine" и немного познакомился с "xstate"
    По алгоритмам "Грокаем алгоритмы", но её нужен не читать, а прорешивать и пока что я этого не делал, но она стоит в задачах на ближайшее будущее.
    Сам я обучался на ресурсе hexlet.io, где были упражнения в стиле чисел Чёрча и курсы, подготавливающие тебя к этому не столько морально, сколько физически :)

Если хочется окунуться в сложность и фундаментальность с головой, то "СИКП" (Структура и интерпретация компьютерных программ) — отличный вариант.


По Linux сложнее. Я едва-едва прочитал "Робачевский — Операционная система Linux", настолько по диагонали, что больше ничего не хочется. Основной опыт пришёл через общение с девопсами (они же сисадмины), Хабр и как-то косвенно. Поэтому тут порекомендовать ничего конкретного не могу, кроме самого факта, что надо немного понимать подкапотную линукса.

Спасибо Вам большое за информативность и обратную связь!
  1. Фундаментальные вещи имеют свойство устаревать. Всем уже пофиг, что ты знаешь XHTML 1.0. Важно, что ты умеешь верстать на HTML 5. HTTP спецификации тоже изменяются. Я сейчас подчеркнул то, о каких "фундаментальных" знаниях говорил автор статьи. Впрочем, когда-то и оператор goto не считался моветоном. И, да, раньше говорили "моветон", а не "антипаттерн". Таких примеров куча.
  2. Всем насрать какой паттерн ты сейчас изучаешь: выдай результат на фрэймворке! Знаю людей, которые, допустим, изучают Vanilla.js, игнорируют фрэймворки, их современные паттерны и умудряются писать медленный код на ванили. Медленно пишут медленный код. Нафиг оно не нужно! Современные паттерны будут использоваться ещё долго. Тот же подход, предложенный Redux. Не удивлюсь, если это скоро станет стандартом.
  3. Многие интервьюеры щеголяют тем, что опрашивают соискателей на предмет знания фундаментальных основ. Не знаю, где их так "трудно" искал автор, но большинство основ вполне себе находится на таких ресурсах, как Хабр и tprogger.
Я бы не стал относить HTML и подобные вещи к базовым.

База, на мой взгляд, это Вирт (Алгоритмы и структуры данных), Кнут (Искусство программирования) и подобные основополагающие вещи.

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

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

Пока еще на такое есть спрос. Но таких «разработчиков» с каждым годом будет все больше и цена их будет стремительно падать.

Я бы тоже не стал. Это ТС пишет:


Понимание алгоритмов, принципов работы HTTP, Linux и прочие вещи, которых избегают новички — это именно то, с чего нужно начинать.

Из всего, что он описал, к фундаменту относятся только алгоритмы. Спецификацию протокола новичку знать не нужно. Я повидал джунов, которые шарят в теории работы протоколов, а пишут говно. Linux? В зависимости от прикладной области. Знать теорию ОС — обязательно. Уметь настраивать рабочую среду — обязательно. А то будет джун трахаться с задачей по переименованию загруженной в программу картинки и её катологизацией.
Теория алгоритмов? Только если нет старшего программиста или он не проводит ревью. Основные алгоритмы учатся просто на ревью. За пол года можно вполне освоить ВУЗовский уровень знания алгоритмов. Можно, даже, UML выучить и применять. И всё — за счёт ревью. Но, если джун одинок, е у стоит самостоятельно учить алгоритмы. В перерывах между написанием сериалайзера и вёрсткой формы. Потому, что за знание сортировки пузырьком ему никто не заплатит.


Вообще, моё мнение таково: теория в программировании нихера не даёт без практики. Большинство студентов вообще не понимают того, что учат. В их голове не уложится ни один алгоритм, пока они не начнут писать код. Код надо писать на фрэймворках. Нужно читать код библиотек и применять паттерны. Даже ООП сразу человеку не даётся. Вот прямо из джунов монстров делают: говорят, что они не развиваются без знания фундаментальных основ. Да ни один современный гуру программирования без практики не осваивал фундамент! Какого автора не возьми: начинал с написания запросов к БД, закончил разработкой системы анализа больших данных. Начинал с написания простых программ, закончил созданием информационной системы. Нет, блин, ни одного гения, который в начале "выучил теорию алгоритмов", а в конце описал модель построения алгоритмов для квантового компьютера. Все теоретики от программирования давно ушли кричать "свободная касса"! Теория хорошо изучается между делом, если ты работаешь в команде. Целенаправлено изучать фундамент стоит тогда, когда ты уже начинающий миддл, знаешь основные шаблоны проектирования на своём фрэймворке и готовишься взять под опеку джуна. Тогда, да, ты открываешь свою кодовую базу, учебник теории алгоритмов, пособие по проектированию БД и начинаешь осозновать эту теорию через призму реального опыта.

Код надо писать на фрэймворках.


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

И без понимания базовых вещей, таких как списки, очереди, стек. Понимание основ межпоточного/межпроцессного взаимодействия и подобные вещи.

Даже ООП сразу человеку не даётся


ООП вещь более архитектурная. Если приподняться над тонкостями реализации, то ООП проявляется прежде всего на этапе проектирования — сначала мы проектируем объекты, олицетворяющие собой физические сущности предметной области, а потом проектируем взаимодействие между этим объектами. А потом уже из этих кирпичиков строим готовый работающий код. Это один из возможных подходов. Есть и другие (машины состояний, батчмашины и т.п.) Но все это тоже из разряда фундаментальных основ — умение перевести задачу в алгоритм. Уровень, правда, уже не джуна (и может быть даже не мидла), а скорее сеньора.

Вообще, моё мнение таково: теория в программировании нихера не даёт без практики.


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

Так что практика и теория связаны. И тут опять приходим к вопросы самообразования. Не искать в гугле какой бы фреймворк присрать для решения очередной задачи, а подумать головой — нужно ли вообще тут и сейчас что-то приделывать, не будет ли проще, быстрее и эффективнее применить что-то из стандартных алгоритмов и написать самому небольшой кусок кода для решения конкретной задачи.
Там, где они есть — да. А где их нет? Ну не ограничивается программирование одним веб фронтом на джаве и ей подобном. Есть очень большой пласт разработки, где нет никаких фреймворков, а есть системные API. Большая часть глубокого (по настоящему глубокого) бекенда пишется именно так.


Это не задачи для джунов. Джуны выбирают готовое решение и пилят на нём промышленные продукты.

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


На рынке вполне умещаются и билдеры на CMS, и программисты. Если брать именно зарплатный рост, то у билдеров он, со временем, останавливается. Но это другая категория специалистов. Они хорошо знают свой инструмент. По большей части, рынок требует именно инструменталистов. Зачем писать что-то с нуля, если есть готовые решения? Сектор индивидуальной разработки — это не слишком большая часть рынка, который начинается от сборки сайтов на Web-конструкторе. Говорить, что новичок не добьётся успеха в той же сборке сайтов на Wix — не совсем корректно. Просто, у них будет свой потолок роста и всё. Поэтому, не вижу ничего плохого в том, что на рынке есть специалисты, которые позиционируют себя, как узкие инструменталисты. В любом случае, я не претендую на ту зарплату, которую готов платить их заказчик.

Откровенно говоря, я тоже ощущаю себя инструменталистом. Есть некоторые решения, с которыми мне комфортно работать. Если рынок предлагает мне переквалифицироваться, то это уже отдельный вопрос. Просто знать свой инструмент в достаточной мере — это тоже важный навык. Без фундаментальных познаний его не освоить, на самом-деле. И всё же, это как качелька: учишь инструмент, значит, меньше времени посвящаешь фундаментальным знаниям и математике. Плохо ли это? Не знаю. Я лично не хочу быть универсальным программистом. Мне это скучно. Да и, говоря откровенно, код программистов, которые в совершенстве владеют именно базовыми знаниями и общими паттернами, для фреймворка может быть очень слабым. Человек просто берёт и херачит универсальный код там, где уже есть готовые утилиты в самом движке, либо, коммон-практис совершенно другая.
Ну тут субъективно.
Я вижу что определенный слой разработчиков зацикливается на конкретных фреймворках и без них шагу ступить не могут.
Соответственно, поиск работы сильно сужается — ищем только то, что уже знакомо, за незнакомое не беремся.

Мой личный опыт несколько иной. Да, я могу работать с библиотеками и фреймворками (есть опыт в VCL, MFC, QT...) Но оно меня не ограничивает потому что я могу и без них не хуже работать.

Был случай, когда за помощью обратилась некая команда — они инетмагазин делали и уперлись в то, что не могут сделать модуль общения с сервером ОФД, соответсвущий стандарту (несколько сотен страниц с описанием протоколов обмена, обработкой возможных ошибок, форматами данных и прочим). Соответствие стандарту требуется для успешного прохождения сертификации.

На стороне ОФД стоит TCP сервер — к нему нужно законнектиться через TCP сокет (никаих там рестов, соапов и прочих хттп нет — устанавливаешь TCP соединение напрямую и далее по протоколу обмен данными). Требования стандарта — обмен должен идти в отдельном потоке.

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

Далее. Когда менял работу позвали поговорить в банк. Шел без особых надежд — основное время работал под виндой, предметка — смежная с промавтоматизацией область — работа с удаленными контроллерами. А там финтех, AS/400 и свой пропертиарный язык (RPG как основной).

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

Да, первые два месяца было очень тяжело. Но выжил. А потом обнаружил что многие вещи, которые освоил на прошлой работе, применимы и тут. Например, межпроцессоный обмен данными. На прошлой работе была распределенная система с микроядерной архитектурой, здесь распарралелнивание обработки больших объемов данных. Там был датаграммный обмен через сокеты (между узлами системы) и майлслоты (внутри узла при многопоточной обработке), здась — датаграммный обмен между задачами (job) в рамках одного мейнфрейма. Там был обкатан принцип потсроения обработчика датаграмм на таблице коллбеков, и здесь он работает не менее успешно.

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

Прекрасно понимаю, что мое мнение расходится с общепринятым «осваивай фреймворки, гони код, руби бабло и будет тебе счастье».

Я бы сказал, что есть люди разного склада ума. Я буду либерастом, но я считаю, что даже знатоки одного фрэймворка имеют право работать так, как им удобно. Web отличается от разработки десктопных решений, либо от разработки мобильных решений. Здесь можно клепать сайты на вордпрессе и много лет рубить на этом бабло. А можно пилить целые информационные системы с интеграцией в управление складом или с микроконтроллерами, собирающими метрики. Что там в этой системе будет — никто заранее не знает. Специальная БД для анализа big data или микросервисы с нагрузкой в миллион обращений в минуту? Парсинг ста ресурсов одновременно или искусственный интеллект, принимающий решение на основе нейронной системы? Может быть, плеер, проигрывающий треки, защищённые самописной DRM? Или обмен сообщений со сложным шифрованием? В любом случае, это не большая доля рынка, на котором процентов 80 — 90 всех проектов — сайты, интернет-магазины, одностраничники и паблики в соцсетях. Разработчикам, покрывающим этот рынок, нафиг не нужно интегрироваться со сторонними сервисами или пилить часть обработки входящих данных в мультипоточном режиме. Они в любой момент могут взять заказ на вёрстку одностраничника очередной пиццерии.

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

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

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

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

В web не встречал чистой специальности архитектора. Именно в стэке python/ruby/js. Есть тим-лид и овнер. Соответственно, овнер — архитектор системы, тим-лид — архитектор команды. При этом, овнером нельзя устроиться — это административный этап роста, когда программный бегемот, которого ты высрал, начинает какать большими деньхами.
Второй момент: у многих заказчиков джун должен самостоятельно принимать архитектурные решения. Только они мельче, чем в случае с миддлом и сеньором. Это обусловлено спецификой разработки: здесь жёсткие паттерны и стандартные third-party пакеты. То есть, джун может свободно поставить, скажем, axios на js или DRF на Django. Стандарт же. Знаю проекты, где джуны сами выбирали стиль организации кода, архитектуру моделей. Просто потому, что их задача — запилить модуль. Полноценный, автономный, рабочий кусок кода. И сеньор лишь требовал тесты. Всё зависит от бизнеса: можно пилить модульную архитектуру и мириться с говномодулями только потому, что они приносят доход, превышающий стоимость их разработки всреднем качестве. Можно пилить монолит с жёстким стилем и правилами только потому, что важен сам продукт, а не его части. Это web, уважаемый. Ты даже не представляешь сколько у нас есть подходов, паттернов, технологий. Для нас нормально запилить систему анализа данных с несколькими десятками тысяч тестов, собранную лучшими инженерами баз данных и обработки данных… и заказать для неё промо-сайт на вордпрессе с говёным модулем, использующим 0.5% API, но покрывающим 20% рынка конкурентов. А пилить систему будет наш мидл (сам модуль) и сторонний сайтоклёп за 5000 рублей

Мы с вами живем в разных мирах. Я никогда не сталкивался с веб разработкой, вы, судя по всему, не сталкивались с глубоким беком на уровне ОС. Разные миры, разный спектр проблем.

В моем мире джун — это исполнитель. Кодер, которому даются типовые задачи и код которого обязательно ревьюится. Никакой самостоятеьности у джуна нет. Джун — это «дух бесплотный». Делает то, что скажет тимлид на основе утвержденного тимлидом FSD.

Мидл — уже самостоятельная боевая единица. Он не требует в общем случае кодревью со стороны тимлида. Более того, он уже сам может ревьюить код джунов. Он сам способен дать оценку затрат на разработку по данному FSD. И мидлу уже предоставляется некоторая свобода в принятии решений по реализации задачи.

Сеньор же еще более самостоятелен. Он принимает участие в осуждении заявок на разработку со стороны бизнеса. При написании FSD с ним советуются аналитики как лучше прописать тот или иной алгоритм. Он может вернуть аналитику FSD со словами «тут мы будем делать не так потому что...» В некоторых ситуациях он знает больше чем аналитики по тонкостям работы того или иного модуля.

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

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

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

Я в целом, чисто теоретически могу себе представить зоопарк паттернов и фреймворков на веб фронтах и связанных с этим проблемах, но и вы попробуйте себе представить проблемы бека на уровне ОС — насколько глубоко нужно ориентироваться в том, как оно все работает внутри для написания эффективных приложений. А вопросы эффективности стоят у нас очень остро т.к. при всей мощи мейнфрейма (сейчас это кластер из трех серверов, объединенных высокопроизводительной шиной данных, каждый сервер 16 12-ядерных SMT8 процессоров — в сумме 192 ядра, 1536 параллельных потоков исполнения на сервер) пиковая загрузка достигает 95%
Все это хозяйство обеспечивает порядка 3млрд изменений БД в сутки. И последний серьезный инцидент был когда сопровождению пришлось отключить один из модулей потому что там неправильно использовался varchar. В условиях пиковой нагрузки это вызвало резкое снижение производительности модуля в 100 раз. Отключение модуля привело к невозможности проведения операции с пластиковыми картами на несколько часов в масштабе страны.
Это как бы масштаб проблем, которые мы (разработчики бека) должны постоянно держать в голове.
Ну и другие вещи — некорректная работа модуля, скажем, комплаенса, может привести к прохождению платежа, который может расцениваться как «финансирование терроризма». А за это сразу штраф с очень многими нулями (и это в лучшем случае, могут и лицензии лишить). Это тоже наша головная боль и уровень ответственности.
Пока еще на такое есть спрос. Но таких «разработчиков» с каждым годом будет все больше и цена их будет стремительно падать.


я вот слышу такую фразу уже лет 20, сколько я в индустриии и около. Что-то не видно стремительного падения. Может, не там смотрю?
стремительного не будет. а расслоение на «кодеров» и «архитекторов» уже есть. И далеко не всякий кодер становится архитектором. Большинство так кодерами и остаются.
Даже само деление на джунов-мидлов-сеньоров есть проявление этого процесса.

База бесуловно важна. Но новичок может быстро интерес потерять. Без какого либо опыта ему тяжело понять, для чего все эти линуксы, знание протокола http, алгоритмы и прочее. Он видит примеры из документации vue и видит результат сразу. Просто не сможет сопоставить базу с этим. А вот когда шишек набьёт, в своём же коде заблудиться, тогда и придёт за базой, ооп, фп, позже может и алгоритмы. Либо в институте заставят сразу базу учить. Но самому до этого можно только через шишки прийти

А где же тут Symfony? Я, например, сразу начал карьеру в веб-разработке с Симфони и бэкенда. Вёрсткой на профессиональном уровне не занимался.
нужно было совмещать PHP с jQuery на легаси и одновременно актуализировать проект под новый фреймворк

Фреймворк — symfony, просто не стал уточнять.

Блаблабла, какой то аутотренинг, честно говоря.

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

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

С одной стороны статья в духе: нормально делай — нормально будет.
А с другой, за 2 года JS, UI, PHP, фундаменталка, SQL, NoSQL, Docker, документация, архитектура и еще, еще и еще? Извините, но нет, не верю.

Ну и соотвестенно о чем это все? И зачем?

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


Просто личный опыт, чтобы люди, которые ищут сравнения себя с людьми своего "уровня" могли сделать какие-то абстрактные выводы. Прямой цели я подобным форматом не преследовал :)

Автор снял с языка. У меня высшее купленное образование программиста. Средне специальное было хорошим в этой же сфере. Сейчас мне 30, 6 месяцев без работы, потратил на обучение, уже 6 месяцев работаю фронтенд разработчиком на vuejs. В итоге год в it, и теперь вернулся к изучение основ, потому что именно это двигает вперёд, а не модные фреймворки.

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

Там должно было быть "или", я поправил :)

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

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

29 лет, образование инженера-электрика (высшее), в веб я начал как фрилансер и год шёл к тому, чтобы войти в it, и вот в декабре 19го года было два года, как вошёл.

Прикольно, что советы для джунов зашли почитать 50% тех, у кого 5+ лет в IT.
Когда Вовочке стукнуло 40 он решил отписаться от рассылки "Секреты успешных людей"..

Не обламывай. Мы зашли поностальгировать. Джуны, один фиг, советам не внемлют и будут ещё лет пять работать за еду.

Люто плюсую, где мои 17 лет…
А я как только пытаюсь взяться за «изучение паттернов и алгоритмов», сразу засыпаю. Такая вот странная реакция организма :)
Т.е. если теория идёт в нагрузку к докам по языку/фреймворку — ни каких проблем, если голая теория — физически вырубаюсь, не помогает ни кофе ни энергетики :)
И как-то не мешает это мне в карьере и в жизни.

Это норма :) Я так читал Робачевского и ничего не усвоил. По разработке многую теорию можно совмещать с практикой, поэтому я старался прочитанное хоть на бумажке, хоть как-то, но набросать. Было и веселее, и укладывалось лучше (ну или я просто в это верю)

Привет всем! Сразу скажу: статья очень понравилась — ибо злободневно.
Одно не понимаю, что это самокопание или кризис возраста?
Может не стоит загонять себя; пытаться объять необъятное?
«Но мотивация идти в творческую профессию ради денег — это ужасно.» А разве это не связано? И потом, смотря о какой сумме идет речь. Мне например, достаточно 40-50 в месяц, чтобы думать только о работе полностью погрузившись в процесс. Я что много прошу?
Я с легкостью могу представить себя после 2 лет, может тоже напишу такую статью. :-)
Но в конце-концов, если я не буду чувствовать отдачи или буду ощущать себя как в этой статье — я просто брошу все и займусь чем-то другим!

Извиняюсь заранее. Может было слишком дерзко или я чего-то не понял. ;-)
Спасибо Автору и удачи!

смотря о какой сумме идет речь
Да, мой комментарий оставлен в контексте комментария другого пользователя, спросившего о нескольких сотнях тысяч рублей в месяц. Я сам в своём заМКАДье сумел поработать и за 15 тысяч в месяц в IT-компании, и мотивация была та же, что и за 50 — делать что-то крутое, интересное, помогающее людям. В основном, я работаю над продуктами в которые верю и про них не стыдно рассказать, даже если не взлетело. Поэтому и утверждаю что идти в разработку только ради денег не стоит.
а вот мне, например, по молодости очень нравилось на первой своей работе отделочником. Тут быстро и легко учишься, сразу видишь результат, радуешься красоте, не особо напрягаешься физически, и в общем даже делаешь полезную работу. Все точки над И расставлял день зарплаты. Я жил с родителями и будучи каждый день накормленным всё тратил на себя, но я также прекрасно понимал что у других работяг в нашей бригаде эти гроши были единственным источником дохода. Это понимание «деформировало» все мои личные предпочтения в материальную сторону — ради денег стоит идти туда, где они есть. Не впадая в крайности, конечно же.
утверждаю что идти в разработку только ради денег не стоит.
а куда стоит идти?
«Но мотивация идти в творческую профессию ради денег — это ужасно.» А разве это не связано?


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

Ну вот за себя скажу — программировать начал году в… 89-м вроде. Потому что было интересно. Никаких онлайн курсов, никакого гугля с интернетом тогда не было. Чудом удавалось найти какие-то книжки, статьи (в т.ч. из достаточно серьезных в те времена журналов типа Computer Science). Но очень многое постигалось методом тыка и многочисленными экспериментами и тестовыми программами.
В значительной степени помогло крепкое базовое образование — физтех (универсистетский курс математики по 200 часов в течении первых шести семестров + полный курс теорфизики + еще ряд физических и инженерных курсов). Ну и главное чему научили в институте — учиться самому. Искать литературу, вникать…

Профессионально в разработку ушел в 91-м волею случая. Просто позвали знакомые. Да, в тот момент по деньгам выиграл относительно предыдущего места работы. Зато потом было много чего. В том числе проект, который тянули (по нынешнему «стартап») с нуля небольшой командой с нуля, с разработки архитектуры, с уговаривания заказчика что им это надо (на тот момент рынка в той области не было совсем, потом уже конкуренты появились, но большинство шло по нашим стопам уже). Работали часто без зарплаты (на жизнь приходилось на стороне зарабатывать). Но проект вытянули. Поому что считали его своим делом, которое мы должны сделать, бросать было стыдно.
Вообще считаю что тот проект сформировал нас во многом как разработчиков.
Сейчас да, все ровно, спокойно, банк (из топ-10), бэкенд, мейнфрейм от IBM, сложная но интересная платформа, замысловатые порой задачи, жесткие сроки, жесткие требования по качеству, зарплата примерно 2х от средней по городу плюс всякие плюшки. Хороший рейтинг в коллективе.

Но не поработав бы тогда на том проекте, не знаю, получилось бы у меня тут быть столь же эффективным — очень многое из того что постигли там (на уровне идеологии, подходов к разработке, алгоритмических решений) работает сейчас. Хотя и платформа совсем другая и предметная область совсем не та…
Какая средняя зп в Екатеринбурге? У нас средняя 25-30, но разработчики такого уровня 4х-6х могут найти спокойно.
Официально где-то 37-38 вроде бы по городу. У меня порядка 2х от средней не считая годового бонуса (15% от годового оклада помноженный на личный коэффициент и коэффициент банка — по банку в прошлые годы было порядка 1.1, личный… ну больше единицы :-) Т.е. где-то еще пара окладов в год.

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

Кстати, банк это сильно не только счета-проводки, но и много чего всего еще. И очень жесткие требования по нагрузке. Казалось бы — три сервера в кластере, каждый по 16 процессоров, 192 ядра в сумме, каждое ядро в 8 потоков работает, но бывают ситуации когда пиковая нагрузка под 95% достигает. А это значит очередной аудит, выискивание узких мест и раздача разработчикам задач на оптимизацию (это поверх обычной текущей нагрузки, а там то у регулятора новые правила, то новый ФЗ, который надо соблюдать… и поверх периодически случающихся дефектов промсреды).

В общем, тут скучать не дают и на бэке все достаточно интересно (за подробностями — в гугль на тему AS/400, i5/OS, IBM i)
И как получилось что вы, имея такой опыт, работаете пусть и за хорошую, но еду? Для человека с 30+ лет стажа в IT это странно.
Потому что работаю не только ради денег, но и за интерес.
Уровень дохода с лихвой покрывает все текущие потребности, но при этом очень комфортная работа (в плане коллег и организации процесса) и весьма интересные задачи на весома интересной системе.

В целом я ценю на только деньги, но и уровень комфорта в работе.
Че-то как-то сурово, неужели правда? Грубо говоря, со всеми премиями ну пусть сотня в месяц — и это в банковском бэкенде с ibm и всем вот этим вот? В Новосибе, например, это з/п хоть и вменяемого, но все же мидла, причем вебщика, а не, скажем, джависта или сишника. Как-то не укладывается в голове.
Да, правда. См. выше.

Уверен, что можно и больше зарабатывать. Просто гнать код под более дорогие проекты. Но будет ли это интереснее с точки зрения приложения ума? будет ли там комфорт с точки зрения взаимоотношений с коллегами?
Будут ли там дополнительные плюшки в виде ДМС, страхования НС, всяких скидок типа бесплатных страховок в при выезде за рубеж, льготных условий по кредитам и ипотеке?
Будет там 100% белый гарантированный оклад без премий? Я уже наелся всяких «оптимизаций» когда при нормальной сумме на руки более 50% от нее оказывается разными премиями, которые в любой момент могут отменить.
UFO just landed and posted this here
Ну могу. И что с того?
Я написал ниже — меня не только деньги интересуют. И не столько деньги. Хочется еще чтобы интересно было. Я не хочу сидеть и тупо гнать стандартный код на стандартных фреймворках на уровне джуна или начинающего мидла. Мне надо большего — работа на уровне сеньора. А это уже плюсом знание предметной области и понимание архитектурннх решений. А на это уходит время.

Вообще, сейчас посмотрел еще раз заголовок и подумал — если человек за два года не поднялся из джунов хотя бы до среднего мидла — ему нечего делать в разработке. Он с таким же успехом может быть и менеджером по продажам и бог знает кем еще.
У нас человек из джунов до мидла поднимается за год максимум. Иначе от него избавляются. Потому что любой джун (по крайней мере у нас) это лишняя нагрузка на тимлида (которой он охотно делится со всеми остальными). Т.е. терпеть джуна готовы полгода-год, дальше или «с вещами на выход», или расти до мидла.
Еще добавлю. К этому посту и к посту выше.
Когда менял работу (это было лето 17-го), то уже было готовое предложение на удаленку. Там была некая система архитектурного проектирования для которой нужно было писать плагины (главным образом для осмечивания и выдачи данных в 1С). Инструментарий — Visual Studio + QT. Тестовое задание выполнил без проблем, уже договорились о начале работы, дали доступ в репозиторий. По деньгам там все было вполне.
И тут приглашение из банка на собеседование (с туда ничего не посылал т.к. в финтехе себя не мыслили совсем — до этого все мои интересы лежали в области промавтоматизации, построении распределенных гетерогенных систем и тому подобное. Ну и немножко ГИС).
В банк пошел просто поговорить. И… Зацепило. Было очень хорошее собеседование, никаких HR, только свои. Никакого формализма, олимпиадных тестов. Просто рассказал чем занимался, мне рассказали чем занимаются в банке. И я понял что хочу. Вот хочу тут работать. Потому что тут все новое. Совершенно непохожее на то, что делал раньше. Другая платформа, другой инструментарий, другие языки (хотя по ходу работы потом оказалось что опыт и знания С/С++ тут тоже очень кстати и вполне применимы и полезны равно как и многое из того, чем занимался раньше).

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

С тех пор прошло более 2.5. лет. По деньгам выросло на 25% от первоначального оффера. Чем глубже погружаюсь в AS/400, тем все это интереснее. Типовых задач уже меньше (для этого есть молодежь :-) Больше задач замороченных, требующих нестандартных подходов и решений (типа «у нас тут есть SQL запрос, он работает, но долго — нужно что-то придумать чтобы было быстрее»).

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

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

Да и пересмотр ФЗП тут каждый год.

Так что… Писал выше — не надо идти в IT только за деньгами. Работа должна быть интересной и что-то давать еще. Кроме денег. Как кто-то сказал «Если вам нравится ваша работа, вы никогда не будете работать».

Ну как-то так.
О, и у нас в офисе такие кресла стоят, очень удобные )
Сначала хотел написать, что третий пункт универсальный, но четвертый и пятый тоже подходят к другим сферам)
Хорошая статья, но отнюдь НЕпохожа на пацанский цЫтатник

P.S.
P.S. а зачем в конце котик
Вашу КДПВ надо в обратную сторону развернуть и тогда все будет правильно. И даже статья не нужна будет.
Sign up to leave a comment.

Articles