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

Берем Даля и ищем… Крутой — сильный.

Окей. А «хороший» там тоже «сильный»? «Крутой»/«сильный» — это для меня уровень синиора, а «хороший» может быть даже джун, если необходимо закрыть позицию джуна и он хороший.
1) Куда берём, кого, что? Не могли бы вы ссылочку привести? А то если вы про того Даля, что я думаю, то я у него такого не вижу.
2) «закопайте стюардессу», живой великорусский за 150 лет несколько изменился

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

Вот я понимаю, что для этого не нужно полностью сортировать массив (только не знаю, как это отобразить в резюме), но при этом даром никому не нужен.
Отсекают еще совершенно «чистых незамутненных» кандидатов такими грязными приемчиками: «какова сложность вставки в вектор целых чисел v?» и пока кандидат не опомнился говорят: рассмотрим такой пример:
for (int i = 0; i < 10000000000; ++i)
    v.push_back(i);

не ожидающий подвоха честный кандидат ответит «линейная» и его мгновенно отсекут как «юниора».
Интервьюёры иногда напоминают наперсточников, которые разводят «лохов». Причем чем именитее компания, тем более эта аналогия прослеживается.
Почитал про push_back, время вставки — константа, в общем случае, ну и на выделение памяти ещё время может потребоваться. Сложность вставки в вектор зависит от того, куда вставляем, если я правильно понял подвох) Или вы про то, что время отработки цикла не имеет ничего общего с единичной вставкой в вектор?
Вы тоже попались, хотя было время подумать. :) Не злорадствую, высмеиваю типичных интервьюёров. Сложность вставки в конец конечно константа, сложность вставки в таком цикле линейна, если бы вообще этот цикл работал, но он, к сожалению, зацикливается и будет почти гарантированно bad_alloc. Если же цикл не зациклится, потому что MAX_INT > 10000000000, то будет все равно bad_alloc, потому что не хватит памяти. Если же памяти хватит, то интервьюируемый молодец, а интервьюер остался в дураках, но этого не произойдет.
Сложность вставки в конец конечно константа

Амортизированно, но даже не в случае реаллокаций.

Но вообще, конечно, с учётом такого сценария разговора, очень хочется посчитать плотность UB/LOC в реальном коде таких интервьюверов.
Отсекают еще совершенно «чистых незамутненных» кандидатов такими грязными приемчиками
Вы представляете интервьюера, как какого-то мудака, который только спит и видит, как вас завалить? Вы сами хоть раз с той стороны сидели?
Да, сидел и прекратил эту лживую вакханалию еще в 2013 году. Представляю одной из первейших задач интервьюёра сбить цену интервьюруемого. Не знаете RVO? Вы что, батенька, с ума сошли? Да вы просто юниор!
Ну вот вы сбивали цену, а я просто ищу хороших специалистов. Не судите всех по тому, как лично вы проводили интервью
Я так не проводил никогда интервью. Мы-то искали юниоров в основном. И смотрели главным образом на то, что человек проходит минимальный ценз, и ориентируется в технологии и проблематике в общем, никогда не подлавливая его на каверзных вопросах. Никогда. Никакого чувства, что кандидата «облапошили» нет. И второе непременное условие — чтобы человек как личность был вменяемый и хороший.
В основном все, что я видел в отношении себя — это «наперсточничество». Сбивка цены на подлове. Честнее просто дать задачи, как в Яндексе, и все. Не с подвохом, а просто задачи. Ведь человек должен уметь решать задачи, так? Но устное интервью, где нужно найти «лучшего среди тех, кто знает все примерно одинаково» — превращается в вакханалию с ударами ниже пояса. У нас типо одно простое интервью, и все. И оффер. Никаких задач. А на деле это вакханалия.
Как вам удается в формате интервью искать хороших специалистов? Это вообще возможно? Все будут отвечать на ваши общеизвестные вопросы, ловить вафлю на вопросах с подвохом, и просто не отвечать на «сложные» вопросы о незнакомых тонкостях в технологиях.
На самом деле абсолютное большинство приходящих на собеседования кандидатов не может ответить и на базовые вопросы без подвоха.
Если это конечно не вопросы уровня хелловорлдов
Вы и без всяких таких задачек можете ставить цену какую хотите — рынок же.
Я ставлю какую хочу, а мне открытым текстом говорят, что наши удивительные программеры обладают замечательной способностью оценивать релевантность финансовых ожиданий путем проведения волшебных собеседований. Система оценки запускается — и — бац — магическим образом оказывается, что я не соответствую своим же ожиданиям.
О, обожаю эти вопросы про «какова сложность алгоритма»…
К реальной работе имеет отношение чуть больше чем никак. Т.е. кандидат должен знать что вариант А будет работать быстрее варианта Б (и желательно почему), но вот знать что тут именно «линейная» сложность, а не «квадратическая» ему знать совсем не обязательно. Дело в том, что в реальных проектах не пишут своих сортировок массивов, а используют готовые решения и библиотеки, а значит скорее всего они используют один из самых быстрых алгоритмов (если конечно у вас не специфические данные). А позвольте спросить зачем вы добавляете миллионы записей в вектор?! В реальной жизни такого не будет и если я увижу такой код, то я попытаюсь оптимизировать его ещё до прихода в этот цикл.
В реальной жизни люди пишут запросы к базе в цикле в цикле. Ну типа:

for (foo => first.count) {
  for (bar => second.count) {
    insert_unique(foo_objs, db.query('select * from foo where id=$foo'))
    insert_unique(bar_objs, db.query('select * from bar where id=$bar'))
  }
}


Пример, конечно, утрированный, но основы понимания сложности алгоритма нужны не только для сортировки массивов
В реальной жизни относительная «стоимость» каждой микро-операции может сильно различаться на x86 и ARM, например. А на ре-аллокацию вектора по ходу вставки может вообще не найтись подходящего куска свободной памяти.
Основы понимания сложности алгоритмов нужны, но они нужны уровня «лучше-хуже», «быстрее-медленнее», «можно-нельзя». Но никак не «линейная», «квадратическая», «логарифимическая» и т.д. Большим плюсом будет умение работать с профайлером, находить «горячие» функции и анализировать планы SQL запросов. К сожалению вопрос о сложности алгоритма при вставке в вектор в цикле не сможет помочь отличить хорошего кандидата от плохого…
И «линейная», «квадратическая», «логарифимическая» тоже нужны. Даже при работе с SQL если вам предложат сортировать результат выборки по неиндексированному полю, а то и по случайному числу. На 100 записях условно без разницы какая там сложность, а вот на 100 000 очень влияет.
Ага, а потом фигачат квадратичные алгоритмы вместо линейных или логарифмических, потому что на маленьких объёмах данных те быстрее. А потом удивляются: как же так, ведь было всё быстро?! А при увеличении данных в 10-100-1000 раз ВНЕЗАПНО стало медленно, и вон тот ранее тормозной алгоритм вдруг всех уделал.
Дело в том, что чаще всего фигачить алгоритмы не нужно. Для массивов есть Sort(). Для SQL есть ORDER BY. Умение избежать лишних циклов и выносить весь ненужный код за циклы — вот основа алгоритмов для программиста. Для SQL — умение читать планы запросов и знать как работают индексы. Пользуясь этими правилами можно избежать основных косяков, а дальше в дело вступает профайлер и в случае если код работает медленно — можно подумать как оптимизировать…
Умение избежать лишних циклов и выносить весь ненужный код за циклы — вот основа алгоритмов для программиста.

К сожалению понимание зачем это нужно есть далеко не у всех. Хотя бы интуитивное представление о сложности алгоритмов нужно.
Для SQL есть ORDER BY
ORDER BY RAND()?
Вы про вот такой (валидный) SQL-запрос?
SELECT *
  FROM table1
  ORDER BY RAND()
В чём именно состоит ваш вопрос?
Считаете, что с ним всё равно какая сложность у сортировки, линейная или квадратичная?
А что значит «с ним всё равно»? «Всё равно» для написания такого запроса или «всё равно» в том смысле, что время его исполнения не будет зависеть от сложности сортировки?
Для написания всё равно — и так очевидно, что если сортировка у SQL-сервера будет «честная», а не оптимизированная под случайное перемешивание, то время будет больше оптимального.
А для оценки времени выполнения (если сортировка «честная») — очевидно, что не всё равно, если время выполнения этого запроса критично.
Вы про вот такой (валидный) SQL-запрос?
Я про такой валидный запрос:
SELECT *
  FROM table1
  ORDER BY RAND()
  LIMIT 1

Вопрос сами найдёте?
Это решение какой-то олимпиадной задачи вида «как в одну строку на SQL получить случайную строку из базы»?
Вопрос не найду, у меня самого вопрос — зачем такое вообще через ORDER BY делать, и какое это имеет отношение к порядку сложности сортировки?
Это решение какой-то олимпиадной задачи вида «как в одну строку на SQL получить случайную строку из базы»?
Нет, это довольно популярное у новичков решение для получения случайной строки.

отношение к порядку сложности сортировки?
Вы даже слегка не представляете, какое это имеет отношение к сортировке и её сложности?
Да, не понимаю. Очевидно, что сортировка больших данных — ДОЛГАЯ.
Знать, кубично, квадратично или линейно она долгая — не обязательно. Нужно знать только, что сортировка применяется после выборки, а LIMIT — после сортировки, поэтому сначала прочитается вся таблица (долго и много данных), а потом к ней применится долгая операция.
Я знаю, что вы понимаете. Вы и O-нотацию понимаете. А люди такое пишут и не понимают. Честно признаюсь, я такое писал и даже не задумывался. У меня образование не прогерское и в первый год даже мысля не было, что тут сортировка, что сортировка — n*logn, что с ростом данных оно работает слишком медленно. Просто я даже не предполагал, что такие вопросы задавать нужно.
Вопрос не найду, у меня самого вопрос — зачем такое вообще через ORDER BY делать, и какое это имеет отношение к порядку сложности сортировки?
А как правильно? Не холивара ради, а образования для. Просто я SQL не знаю, и однажды, когда мне нужно было выбрать случайную строчку из базы, написал именно такое решение. Не потому, что не знаю, что долго, а потому, что база все равно небольшая, а по-другому я не умею.

На самом деле, это хоть и быстрое решение, но весьма неточное. Простейший контр-пример: [1, 2, 3, 4, 5, 100000]. При неравномерном распределении ID, такой подход, конечно, не годится. А неравномерное распределение ID совершенно рядовая ситуация. Неужели в недрах SQL нет чего-то более подходящего?

Да, не спорю) Я давно уже SQL не писал, но реально вменяемых решений оттуда не помню.
Можно попробовать через RowNumber решить — но не уверен что будет достаточно быстро

Вот для SQL Server:

DECLARE NUM AS INTEGER
SELECT NUM = count(*)*RAND() from tbl
select * from (select ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) as ROWNUM, t.* from tbl t) t2 WHERE ROWNUM=@NUM

SELECT TOP 1 * FROM tbl
ORDER BY NEWID()

Для 300 000 строк первый запрос у меня отработал в 2 раза быстрее второго…
То же, вроде бы, можно написать и для MySQL, но вместо row_number() использовать LIMIT с двумя параметрами.
Примерно так (за синтаксис не ручаюсь):
SELECT * FROM tbl LIMIT @num, 1
Лимит переберет первые num записей, а потом отберет одну.
Переборка по индексу должна быстро работать:
SELECT t.*
FROM (
  SELECT id
  FROM tbl
  LIMIT @num, 1
) q
JOIN tbl t
ON t.id = q.id
Но вообще, мне кажется, SQL для таких операций не очень-то приспособлен, это уже бизнес-логика.
Не вижу в этом ничего плохого, особенно если табличка на 10 строк, а ORDER BY RAND() даст стабильную сортировку (в чём я, правда, не уверен).
Конечно ничего плохого, если вы понимаете, когда можно применять, а когда нет. Т.Е. понимаете, по сути, сложность алгоритма
С этого-то и началось обсуждение (а именно мой комментарий по поводу «нужно понимать», а не «знать» что тут «квадратичная, а не линейная сложность». Чрезмерное зацикливание на сложности алгоритмов ведёт к частой проблеме хороших программистов, а именно к преждевременной оптимизации. Поэтому ORDER BY RAND() имеет смысл, пока не обнаружится, что этот код является бутылочным горлышком в производительности. Да и представить необходимость делать выборку случайной записи из миллионов я с трудом могу представить — чаще всего будет какое-нибудь ограничение, которое уменьшит выборку до десятков-сотен записей…
Чрезмерное зацикливание на сложности алгоритмов ведёт к частой проблеме хороших программистов, а именно к преждевременной оптимизации
Мы ведь всё еще о собеседованиях говорим? Лучше взять того, кто вообще сложности алгоритмов не знает, лишь бы преждевременной оптимизацией не дай бог не занимался? А как узнать, понимает ли человек, если у него не спросить?
А где грань, 10, 11, 100, 1000, 1000000? Сможете дать оценку, не запуская реально запрос, когда время исполнения превысит 50 мс, если при 10 даёт 1 мс?
А где грань, 10, 11, 100, 1000, 1000000?

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

Сможете дать оценку, не запуская реально запрос, когда время исполнения превысит 50 мс, если при 10 даёт 1 мс?

Тут квадрат, только у нас нет константы, от которой плясать. Так что оценку дать нельзя, потому что у нас есть одно уравнение с двумя неизвестными — y2 и C.
Оценку константы можно получить по данным «при 10 даёт 1 мс». Если принять ваше допущение, что «тут квадрат», то константа в формуле C*N^2 порядка 0.01 мс, то есть где-то на 70 записях уже время выборки превысит 50 мс. Понятно, что формула грубая и скорее всего запас побольше, потому что реальная формула скорее ближе к C1+C2*N^2, но понимание того, что тут не линейная зависимость, а более крутая, даёт нам право предпологать, что крайне маловероятно, что выборка из 500 записей уложится в 50 мс.
Оценку константы можно получить по данным «при 10 даёт 1 мс»

Каким образом? Мы знаем, что сложность квадртичная. Окей, значит она описывается формулой y = c*x^2 + b. Дальше у нас есть только одно уравнение 1 = c*10^2 + b. Как мы отсюда можем c и b получить?

Каким образом?
Из личного опыта. Например, более или менее любой, занимавшийся олимпиадным программированием, знает, что в 2 секунды можно сделать около 100 млн операций (тех самых, что в формуле асимптотической оценки), с редкими исключениями алгоритмов или структур данных с большой константой, вроде фибоначчиевой пирамиды или алгоритма Штрассена. Думаю, в работе с базами данных так же.
что в 2 секунды можно сделать около 100 млн операций


Это разве не зависит от железа?
Железо на олимпиадах все примерно одинаково производительное. Да, если взять задачи десятилетней давности, придется изменять ограничения на размер входных данных или на время работы.
При чем личный опыт? При чем тут олимпиады? Мы про решение задачи, которое должно быть единственным. Ответ в стиле «ну я когда в 12 году был на олимпиаде от нашего универа, там были четвертые пни которые делали столько-то операций, так что ответ такой-то».

С двумя свободными параметрами одной точке на плоскости (10,1) соответствует бесконечное множество парабол с разными c и b.

Плюс

Думаю, в работе с базами данных так же.


А я вот так не думаю. И без формальной разрешающей процедуры у нас нет шанса установить, кто прав. Т.к. в аналитической задаче всегда есть один ответ, а тут зависит от того, чей олимпиадный опыт больше видимо.
В комментарии, с которого началась ветка, сказано
Оценку константы,
а не «точное значение константы». Личный опыт, в том числе в смежной сфере — вполне приемлемый вариант для того, чтобы получить грубую оценку производительности.
Для оценки производительности на личном опыте недостаточно данных. А что за движок СУБД? А сколько ядер/процессоров? А является ли таблица inmemory? Если нет, то какие там индексы? Нет ли оптимизатора, который развернет ORDER BY RAND() во что-то иное? Все это влияет на ответ, причем сильно. А если оценка может скакать на порядки в ту или иную сторону, то не очень-то это оценка хороша.
Ну так человек, работающий в конкретной компании с конкретной базой, скорее всего, имеет личный опыт, который покрывает как раз все эти данные. А применительно к тому, что я выше писал — в олимпиадном программировании у вас одно ядро и все операции в памяти.
А вот вид используемого индекса и написанный код как раз заключены в асимптотическую оценку.
Как-то после такого меньше хочется думать о том, чтобы брать олимпиадников.

Скрытый текст
По крайней мере, кичащихся этим.
Мы знаем, что сложность квадртичная. Окей, значит она описывается формулой y = c*x^2 + b.

Хуже того, на самом деле y = cx^2 + bx + a, и c может быть 1e-10, а b — 1e10. Асимптотика всё равно будет квадратичная, но достигнется она не сразу.
Не у всех программирование ограничивается вбиванием запросов к БД, знаете ли.
В ваших «чаще всего» примерах крайне желательно перед использованием Sort() или ORDER BY понимать, что на больших объёмах относительно случайных данных скорее всего и там, и там средняя сложность скорее всего будет N*log(N), а никак не N или 1.
Да даже без разницы нужны или нет, по моему даже те кто на непрофильной специальности учился могут сложность оценивать. Так или иначе если программирование интересно натыкаешься рано или поздно.
Имеет смысл иногда, кстати. Например, если очень быстрое кэширование и медленная реальная выборка. Единственное, конечно строку с foo вынести из внутреннего цикла, если побочных эффектов нет. С другой стороны, сложности это не изменит :)
Не утрировано, я подобное видел в продакшен коде, те самые настоящие индусы писали.
В реальной жизни, более того, найти одну из строк во входе прямым сравнением с memchr при теоретической сложности O(mn) может быть эффективнее, чем городить Ахо-Корасиков и потом по ним бегать, ломая все кеши и branch predictor'ы.
О, обожаю эти вопросы про «какова сложность алгоритма»…
К реальной работе имеет отношение чуть больше чем никак

В который раз могу привести реальный пример из продуктового кода:


List<SomeType> list = GetSomeList();
foreach (var item in list)
{
    int i = list.IndexOf(item);
    // do something with item and i
}

Таки вы по-прежнему считаете, что сложность алгоритма не имеет отношения к реальности?


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


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

Я ещё видел реальный код с LINQ головного мозга.
Это когда простой код с for (int i = 0; i < list.Count; i++) заменялся чем-то непонятным и монструозным.

Таки вы по-прежнему считаете, что сложность алгоритма не имеет отношения к реальности?

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

Я считаю, что чтобы понять, что такой код писать не надо, знание сложности необязательно.

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


Что касается вопросов на "сложность", насколько понимаю, тому две причины:


  • Во-первых, можно усмотреть, что в разные периоды возникала разная мода на то, что спрашивать (зачастую такая мода необоснована с точки зрения сути предстоящей работы).
  • Во-вторых, применительно к .NET-сфере, насколько помню, такие вопросы стали возникать, когда появились дженерики и реализации типизированных Dictionary/SortedDictionary/SortedList (то того был только нетипизированный Hashtable и DictionaryBase, от которого наследовались узкоспециализированные коллекции), и когда затем появился LINQ.
    Т.е., когда появились стандартные средства, предполагающие понимание сложности, тогда и появились вопросы.
Не совсем согласен, потому что такая разница между линейной и квадратичной сложностью может очень сильно роялить на больших объемах данных.
Я бы даже сказал между линейной и константной, когда список можно заменить хэшсетом. Мы сталкивались с такой проблемой при обработки больших исходных файлов на несколько мегабайт.
Это вы для хэшсета сложность добавления в него считаете константной? А как же неравномерность распределения хэш-функции, разрешение коллизий, переполнение вёдер и перестройка хэша? Раз уж мы о больших объёмах данных говорим.
Так амортизированно все равно константа получится, разве нет? А что в худшем случае линия, для большого числа запросов не особенно важно.
Зависит от того, есть ли у вас достаточно места, чтобы изначально выделить под него, и все данные влезли туда без большого процента коллизий.
Впрочем, я ненастоящий сварщик, спорить не решусь.
Понятно, что «в худшем случае» у нас могут все элементы попасть в одну корзину, и нас ничего не спасет, хеш-таблица хороша именно в среднем случае, когда все хеши более или менее разные.
Тогда у нас среднее число элементов в одной корзине получается n/k, где n — число элементов, а k — число корзин. И до тех пор, пока эта величина порядка O(1), добавление, удаление и поиск элементов будут работать за O(1). Поэтому если n/k превышает некий константный порог, мы увеличиваем k, перестраивая всю таблицу. Очевидно, что эта операция (проитерироваться по всем элементам и добавить все по одному в новую таблицу) работает за O(n), ведь новая таблица побольше и все добавления в нее константны. Поэтому операцию перестроения мы будем делать редко, каждый раз экспоненциально увеличивая размер таблицы.
Если, например, стоимость перестроения таблицы размера x равна a*x, и мы увеличиваем размер вдвое каждый раз, то при добавлении n элементов в изначально пустую таблицу мы потратим O(n) времени на добавления, и дополнительно a*n + a*n/2 + a*n/4 +… + a*1 = 2*a*n = O(n) времени на все перестроения в сумме. То есть, на добавление O(n) элементов мы потратили O(n) времени, или, амортизированно, по O(1) на элемент.
Это на пальцах, нестрого, в реальности используются другие соотношения, а еще нам желательно оценивать частоту коллизий, ведь может не повезти, там нужно везде считать мат ожидания и вероятности, а это с асимптотическими оценками сложнее. Но суть не меняется — с хеш-таблицей мы имеем в среднем амортизированно константное время работы.
PS: «В среднем» означает, что нам может не повезти и данные подберутся так, что асимптотика будет больше. Именно в случае хеш-таблицы такие шансы в случае случайных данных экспоненциально уменьшаются с размером входных данных, но иногда может попасться задача (по крайней мере, на олимпиадах, хотя, может, и в реальном мире), в которой данные будут специально подобраны наихудшим способом.
«Амортизированно» означает, что одна операция может занять гораздо дольше, чем O(1) — в нашем случае, вплоть до O(n). То есть, если нам нужна стабильность времени ответа, то операция добавления элемента в хеш-таблицу не подойдет. А вот если мы делаем пакетную обработку запросов, то это не важно.
PPS: Если интересно, могу статью на эту тему написать, с подробным объяснением и строгой математикой.
если n/k превышает некий константный порог, мы увеличиваем k, перестраивая всю таблицу.

В перле, ЕМНИП, перестройка идёт тогда, когда количество элементов в хэше становится равным размеру самой таблицы. Независимо от состояния корзин.
Если под размером таблицы понимается число корзин, то это как раз n/k=1. Просто, насколько мне известно, в других языках и библиотеках бывают и другие соотношения.
Да, но при этом состояник корзин не учитывается: некоторые могут быть и пустыми.
В нашем случае эти тонкости были не важны, с такими проблемами не сталкивались. Так же как и не важна динамическая природа динамического массива, в котором иногда происходит перевыделение памяти. Был важен переход со списка к хешсету — получили значительный прирост.
Даже если не пишут свои алгоритмы, то нужно знать сложность, хотя бы оценочную, алгоритма используемого под капотом. Например, чтобы сказать на предложение остортировать массив из миллиона элементов, и пускай десять секунд ждут, ведь сто тысяч за секунду сортируется, что ждать придётся заметно больше десяти секунд, минимум в разы, потому что сортировки на никак не упорядоченных данных линейной не бывает.
Но ведь амортизационная стоимость и вправду будет О(n)
Насктолько редко сейчас встречается адекватный человек, который просто готов работать и ответственно относиться к задачам, что я уже лет 5-10 считаю, что технические навыки — второстепенны и приобретаются на порядок проще, чем человеческие и организационные.

P.S. И при этом практически в каждом резюме можно увидеть self-organized.
P.S. И при этом практически в каждом резюме можно увидеть self-organized.

Хорошо, что я такое не пишу. Хоть что-то в моем резюме честное! /s
Ну. Медленнообучающийся, некоммуникабельный, непроактивный и проч. и проч. не-. Зато честно. Работодатели должны оценить честность:)
Неистово плюсую. Не надо быть семи пядей во лбу, рокстар, аджайлгуру, разработчиком собственного фреймворка(велосипеда), чтобы просто ответственно делать свою работу, просто решить задачку. Причём неважно какая задача. Если человек делает на от**ись, то он всё так делает.

Подпишусь, Это разумеется не только с айти так.

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


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

Этот дефицит присутствует и будет присутствовать всегда.


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


Тут остаётся 3 варианта: годами искать идеального сотрудника, платить завышенную зарплату overqualified сотруднику, либо тратить время на обучение underqualified сотрудника.

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

Очень часто нужен хоть кто угодно, кто готов делать работу.
Конечно, но, к сожалению/к счастью, рынок таких вакансий переполнен кандидатами
Это вы из какой-то параллельной вселенной пишите :)
За копейки?

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

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

Тоже нет. Главное — продолжить. Совсем не нервничать на собеседовании, наверное, невозможно.

ИМХО возможно и нужно не нервничать. Это должно быть, как отчет по успешной работе или хорошо подготовленный доклад на конференции. Конечно, будет избыток адреналина, эмоциональный всплеск, но это не называется «нервничать». Хороший лектор на лекции, которую читает очередным студентам уже 20 лет, испытывает сходные ощущения. Если не будет испытывать, его не будут слушать, заснут.
PS К собеседованию нужно относиться как к переговорам двух равных сторон, даже если вам очень необходима работа. Нельзя показывать, что вам позарез нужны деньги, нельзя заискивать.

Иначе говоря — качайте скил переговоров.

Мы тут говорим про новичков-середнячков, для которых собеседование — вынужденное занятие, кто может жаловаться на софтскилы, и кому нужен совет "отказывают? Не сдавайтесь!", да? Ну и как, могут они не нервничать? Или это совет из серии "мышки, станьте ёжиками"? ;)

Может и отказывают как раз потому что нервничают. Ну там пометка «не уверен в своих силах» или ещё похуже. Ну или просто из-за нервов на простой технический вопрос не может ответить.

Ладно если первое-второе собеседование в жизни или за длительный срок, или если вот прям вакансия мечты, мелькнувшая раз в пятилетку. Но если ходишь на собеседования регулярно и постоянно нервничаешь (независимо от результата), то стоит пересмотреть своё отношение к ним на уровне своей психики, возможно даже к специалисту за помощью обратиться.
Из тех, кого знаю, да — снеснение и нервы проходят к 3-5 разу, мозг привыкает. Но это когда серийные посещения. Там как раз вместо начинает прижимать негативным восприятием, вплоть до «опять спросили это, пойду я».

Пойти к специалисту деньги нужны, а он(а) как раз работу ищет ;)

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

Да. Но когда видишь, что человек готов на любую работу, возникают серьезные сомнения.
Что значит «готов на любую работу»? Она никогда не бывает «любая» если он ищет не работу разнорабочего, а программиста.
Развернуть бы мысль.

А то «любой язык»? Ну, это не редкость.
«Любой фреймворк»? Да они ж все на одно лицо, какая разница на чем лабать.
«Готов даже тесты писать для существующего кода»? Дак таких надо вообще печеньками подманивать!
Развернуть бы мысль.
Нпр., знаю случаи, когда в целях экономии ремонт помещения делался силами сотрудников.
какая разница на чем лабать
Далеко не всех работодателей устраивает предельно формальное отношение. Когда совсем без разницы, то «и так сойдет». В результате нередко получается очень кривой код.

Вспоминаю рассказ одного археолога. Приехали в далекую деревню на раскопки две группы по 10 человек. Одна остановилась в доме у одной тетки, а другая у другой. Обе получили одинаковые (хорошие для деревни) деньги за постой и стол. Одна подходила предельно формально — все было свежее со своего огорода, но что-то недокипело, а что-то перекипело и было невкусно. Но обоснованных претензий предъявить было невозможно и приходилось терпеть. Когда ей говорили, что невкусно, она не расстраивалась, а просто отмахивалась.

Другая очень старалась, чтобы ее постояльцы были довольны. Очень расстраивалась, если кому-то не понравились щи или каша. Пекла пирожки к чаю и т.д. Постояльцы были очень довольны, как и хозяйка, хотя ей никаких дополнительных денег это не приносило. ИМХО при прочих равных большинству работодателей хочется, чтобы работник старался сделать работу как можно лучше, чтобы сознание хорошо сделанной работы приносило ему радость.
С другой стороны ряд работодателей грустит, когда я говорю, что не использую и не хочу использовать питон, например.
Ваше право. Я знаю очень крутых специалистов, пишущих только на Коболе или АБАП. Но при каких-то катаклизмах типа сокращений или закрытия конторы — они ищут работу по пол-года.
Да не, я не на Коболе и не на АБАП. В тот же Idris я начал тыкать ещё до его релиза, сейчас пробую всякие фичи, которые войдут в C++20, скорее всего. Просто, ну, не хочу использовать питон.
Я тоже PHP не люблю — но у компании одна из систем на нем, стоила приличные деньги в разработке и довольно неплохо работает. Поэтому кандидат, не желающий писать на PHP в принципе — нам не подойдет, хотя мы что-то новое туда добавляем довольно редко.
Так речь таки о том, есть разница, на чём лабать, или нет.
И кстати на западе Кобол до сих пор востребован (т.к. много успели написать на нём). Постоянно вижу 1-2 вакансии «Кобол для мейнфреймов», а специалисты по нему очень хорошо оплачиваемые именно потому что редкие, а новички туда идти не хотят…
У медали как правило две стороны — те же «1-2 вакансии» могут быть в неудобных местах, требовать допуска и т.п. С другой стороны — человек не ставящий себя в жесткие рамки скорее найдет себе приличную работу. Мой личный рекорд — 8 языков за одну неделю (C, C++, SQL, ABAP, R, Java, JavaScript и Lua), но это уже хакатон-извращения ;)
Вспоминаю рассказ одного археолога.

Вывод: можно не напрягаться и получать такие же деньги, как напрягающийся.
Или по другому:
И за деньги можно работать с удовольствием.
И за деньги можно работать с удовольствием.
Да. Кто-то за работу получает только деньги, а кто-то и деньги, и удовольствие ;)
Может человек готов на любую работу, потому что ипотека, жена, дети и хочется кушать, а заначка кончилась или около того eewz0z.pen.io?
Среди работодателей много добрых и отзывчивых людей. Но, к сожалению, большинство не может позволить себе взять человека только из жалости. Мир устроен очень жестоко, и если кандидат не вызвал ничего кроме жалости, то ему м.б. очень вежливо, но откажут.
Речь не о том, что у кандидата нет ничего, кроме сложной ситуации за плечами, а о том, что если заначка кончилась, а с офферами не особо, то пойдешь на любую работу. Ну и собеседоваться становится сложнее: одно дело, когда у тебя есть работа, и от отказа ты ничего не теряешь, другое дело, когда каждый отказ бьёт по остатку денег… Тут есть повод волноваться — а волнующийся соискатель выглядит как слабый соискатель, которого надо дожать.
Я в 2015 попал в такую ситуацию как у человека выше, никому не пожелаю.
Дожали?
Мне, видимо, повезло. В определенный момент звезды удачно сложились и я нашел свой путь. Но с тех пор зарекся уходить с работы, не найдя новую. Позволяет экономить здоровье (нервы) и деньги.
зарекся уходить с работы, не найдя новую
Не считаете ли Вы такой подход предательством по отношению к текущему работодателю? Вам бы понравилось, если Ваша жена искала себе нового мужа, не подав сначала на развод?
1) Я — не считаю. Во всяком случае для иного подхода нужна как минимум очень мягкая «подушка», что бывает далеко не всегда. Да и вообще, при чём тут предательство? Это банальный прагматизм.

2) Так и было. Развод у нас случился только тогда, когда у обоих сторон наметились хоть какие-то перспективы. До того — понимали, что разводиться «в никуда» как минимум опрометчиво.
Не считаете ли Вы такой подход предательством по отношению к текущему работодателю?
А вы думаете, что работодатель при желании уволить вас не найдет сперва замену?
Я думаю, что практика «глаз за глаз» порочна, а практика «начни с себя» достойна.
Ага, «подставь другую щеку», и всякий другой христианский бред.

При чём тут месть? Это современные традиции бизнеса. Ваше дело после того, как нашли работу — отработать положенный срок, передав дела. Все.
Очевидно, у нас с Вами разные понятия о том, что такое хорошо, и что такое плохо. Продолжать бессмысленно.
Это не предательство — это рынок. В законе прописано уведомить работодателя за 2-4 недели (в зависимости от страны). Если вы выполнили это, то всё честно. Конечно, если за 2 недели перед сдачей проекта ушли «в отпуск с последующим увольнением», то это некрасиво и так делать не нужно… А в остальных случаях — всё ОК…
Мой вопрос относится к ПОИСКУ работы, а не к уведомлению после того как она найдена.
Так в чем проблема с поиском работы? Может я хочу найти офис, в котором ковры лежат по фен-шую и это у меня год займет
Ваше право. Только делать это следует, на мой взгляд, не за спиной у текущего работодателя. Fair play.
Я не против fair play, но почему-то если ты честно скажешь работодателю, что намерен искать другую работу, то тебя либо начнут гнобить, либо сразу уволят (а ипотеку платить всё ещё нужно и семью кормить тоже). Не может тут быть fair play…
Что значит «за спиной»? В рабочее время втайне от работодателя делать этого не следует, конечно, а чем я занимаюсь в личное время моё, как ни странно, личное дело. Сознательно посвящать в это работодателя я даже моральных обязательств не имею, не говоря об юридических
Работодатель должен исходить из того, что он лишь работодатель в быстро меняющемся мире, а не рабовладелец в стабильном. Условно можно считать, что работники всегда ищут более подходящую им работу, пускай и с разной активностью.
Нормальная практика.
В мире ИТ предложение работы и выход на работу могут между собой растянуться и на 2 недели по закону и на месяц и на два. Вполне можно успеть передать дела.

А разве в договоре было что-то о "верности пока смерть не разулучит нас"? Трудовой договор — не брак. Или вы срочные трудовые договоры тоже считаете аморальными? И испытательные сроки...

Я не говорю о верности одному работодателю до гроба. Я говорю о неэтичности смены работодателя без предварительного его уведомления об этом (сам работодателем не являюсь).
Срочные договоры и испытательные сроки не считаю аморальными, потому что и то и другое делается открыто, а не за спиной.
Вопрос в том что некоторые работодатели действительно ведут себя неадекватно. Допустим запланировал ты поискать места получше в городе своем, постепенно, в течении года, никуда не торопясь, собирая информацию, сообщаешь об этом работодателю, а он возьмет и сразу попросит по собственному написать, или даже по соглашению, не очень важно. А ведь еще далеко не факт что вообще нашел бы место лучше, может быть поискал, нашел пару мест получше, заодно решил уточнить насчет повышения на текущем — и получил. А это было единственное преимущество найденных мест.
Смена работодателя без предварительного уведомления неэтична и даже незаконна в какой-то мере. Поиск нового работодателя разной степени активности вполне этичен. А если вы считаете, что нет, то расскажите, пожалуйста, с какого момента для вас начинается поиск нового работодателя и с какого заканчивается интерес к ситуации на рынке труда и своих перспекти на нём?
Поиск потенциального нового работодателя это не смена работодтеля. И если вы считаете что я морально обязан в такой ситуации оповещать своего работодателя, тогда пусть и он оповещает меня каждый раз когда просматривает варианты потенциальных новых работников, которые могут претендовать на моё место. Тогда это будет честно и морально.

А пока я всего лишь обязан(как морально, так и юридически) сообщать моему работодателю о уже принятом решении сменить работу. И сделать я это должен в установленный законом срок.
пусть и он оповещает меня каждый раз когда просматривает варианты потенциальных новых работников, которые могут претендовать на моё место.
Вот с этим согласен на все 100%. Честная игра должна быть обоюдной. Лишь в этом случае обе стороны будут счастливы.
А теперь представьте себе что в большинстве IT-фирм кадровики регулярно мониторят рынок труда на предмет потенциальных кандидатов и ничего об этом своим работникам не сообщают. Ни кого они посмотрели, ни почему они его посмотрели, ни что они планируют делать дальше с этой информацией. Не сообщают о том писали ли он этим людям емэйлы или даже может быть говорили с ними по телефону или на собеседовании.

Получается работники тоже вполне себе имеют моральное право мониторить потенциальных работодателей и ничего не сообщать своему начальству.
Вы повторяетесь, повторюсь и я: «Честная игра должна быть обоюдной».
Ок, сформулирую по другому: почему начинать играть по честному должны работники и где гарантии что работодатели после этого тоже будут вести честную игру?
Стопроцентной гарантии нет. Всё зависит от адекватности работодателя и его отношения к принципу «начни с себя».
Почему начинать должны работники? Потому что, опираясь на свои наблюдения в сфере IT с 1997 года, примерно в 90% случаев инициатором СКРЫТНОГО расторжения трудовых отношений являются именно работники.
Почему начинать должны работники? Потому что, опираясь на свои наблюдения в сфере IT с 1997 года, примерно в 90% случаев инициатором СКРЫТНОГО расторжения трудовых отношений являются именно работники.

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

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

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

В этом и есть смысл моего первоначального поста: предложить и работникам и работодателям задуматься, чтобы разорвать наконец этот порочный круг.
Я смотрю вы у нас идеалист. А что вы тогда так мелко замахиваетесь? Давай уж тогда вообще порвём порочный круг обмана и обязуем всех людей всегда говорить правду :)
Заметьте, Вы первый перешли на личности, на «вы» с маленькой буквы, а в конце вообще на «ты» («давай»).

Вы, я смотрю, конформист. Вас всё устраивает, и нет желания ничего менять. Мой пост не для таких. Не отвечайте.
А если включить скрытную подготовку к изменениям условия труда? Соглашался на одни условия, например на работу в команде из 5 человек, а тут раз и шестого приводят, не предупредив даже за 2 недели.
Если работодатель не выполняет договоренностей, то и отношение к нему должно быть соответствующим.
Тут не было договоренностей, просто была команда из пяти человек, работал в ней может годами, а тут раз из каких-то соображений работодатель приводит шестого. И ведь не внезапно он же решил его взять, наверняка готовился, подбирал, может даже вакансию разместил, которую мы из-за своих нравственных убеждений увидеть не могли.
Я не знаю всех тонкостей Вашей ситуации. Но могу предположить. Если новичок попал в команду для расширения штата, это нормально. Если же он появился на замену кого-то из членов команды, то работодатель поступил безнравственно.
Как же нормально, если он не предупредил членов команды о грядущем изменении условий? Им же надо время подумать, согласны ли они сотрудничать на новых условиях, а, главное, успеть найти новую работу, если не согласны.

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

Речь об уведомлении работодателя ДО начала поиска новой работы, а не о том когда она УЖЕ найдена.

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

Вот это я и называю честной игрой. Разумеется, работодатель должен соблюдать аналогичные правила по отношению к работнику.
Как сделать? Очень просто. Когда приняли решение приступить к поиску новой работы, сообщите о нём своему работодателю (письменно или устно — это уже детали).
Тогда и у работодателя будет возможность найти достойную замену, не ограничиваясь положенными по закону двумя неделями отработки.

А теперь вопрос на миллион: а что произойдёт если вы новую работу не найдёте, а работодатель найдёт вам замену? И ваша замена в свокю очередь уже сообщит своему работодателю что он нашёл новую работу?
Ответ очевиден: продолжать искать работу не работая. У предусмотрительного человека на такой случай есть заблаговременно сформированная подушка финансовой безопасности.
Предвижу Ваши возражения и аргументы, поэтому скажу: можно поступать по совести, а можно по обстоятельствам. Каждый сам делает свой выбор. Но лично я склоняюсь к первому варианту.
Ответ очевиден: продолжать искать работу не работая.

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

И опять же из вашего ответа выходит логический вывод что если у человека нет «заблаговременно сформированной подушки финансовой безопасности», то он с вашей «нравственной» точки зрения не имеет права искать новую работу или просто просматривать варианты? Странная какая-то нравственность у вас получается.
Ничего странного. В современном нестабильном мире у каждого должна быть финансовая подушка безопасности, независимо от дел, связанных с работой, её поиском, просмотром вариантов и т.п. И нравственность здесь ни причём.
Как интересно, внезапно нравственность уже не причём. Но вы мне всё таки ответьте что делать человеку у которого финансовой подушки нет или она внезапно потрачена на что-то другое?
Для простоты пример: заболел кто-то из родственников, «подушку» уже потратили на лечение, но не хватило и нужно ещё. Зарплаты не хватает. И что теперь с вашей точки зрения будет нравственным поведением? Не искать более оплачиваемую работу?
Как уже отметил выше, из любого правила могут быть исключения. Тем более при форс-мажорных обстоятельствах.
«Нравственность с ислкючениями»? Интересный концепт :)
Но тогда я не особо понимаю что вас так возмущает в нынешней ситуации? Мы как раз и имеем тоже самое: кто-то ведёт себя нравственно, а кто-то решает что может сделать для себя исключение :)
В нынешней ситуации меня возмущает то, что почти 100% работников считают себя исключениями.
Исключения могут быть, в т.ч. с точки зрения нравственности. Но никак не в 100% случаев.
Подушка безопасности действительно непричём. Но вот нравственно ли обрекать хорошего работника хотя бы на прикасания к ней, не говоря о более плохих вариантах типа перехода на работу хуже, а то и голодной смерти, лишь потому что он искал что-то лучше и правдиво сообщил об этом?
Вы говорите о поступке работодателя. А мой пост относится к поступку работника.
В двусторонних отношениях нравственность не бывает односторонней, иначе это не нравственность, а навязанная одной из стороне религия.
Совершенно верно. О том, что честная играя должна быть обоюдной, я уже неоднократно упоминал.
Но она не будет обоюдной. Никогда. Потому что всегда будут работодатели увольняющие даже если работник в шутку заикнется о поиске нового места, и работники берущие отпуск на две недели в день подписания заявления.
А риски работников при честной игре в 95% если не большем количестве случаев больше, поскольку остаться без работы не имея запасного аэродрома или довольно внушительной подушки — может означать смену статуса на лицо без определенного места жительства.
Игра по обоюдным честным правилам зависит только от нас, от работников и работодателей. Как и формирование подушки.
Э нет, формирование подушки далеко не всегда зависит от работника. Во-первых вам уже приводили пример с форсмажором, во-вторых если взять какого нибудь учителя — на такую зарплату разве что на пару месяцев подушку сделать можно. Или взять начинающего программиста где нибудь в провинции, особенно если не местный. Первое время не до подушки будет, а если работодатель попался неадекватный такому человеку что, либо терпеть пока подушку не соберет либо идти бомжевать? А уж обоюдной честной игры быть не может до тех пор пока неадекваты в принципе существуют. Вспомнить хотя бы «дилемму заключенного», когда в теории двум заключенным невыгодно друг друга сдавать, но это если не учитывать риск что второй окажется мудаком и не сдаст тебя, в таком случае получается ровно наоборот, выгоднее сдать другого, поскольку это снизит риск и увеличит возможный выигрыш (если вдруг второй преступник тебя не сдаст).
Кто хочет — находит возможности, кто не хочет — ищет причины.
Именно, кто хочет ищет возможнось улучшить условия труда, не выходя из зоны комфорта и рамки закона и договора. А кто не хочет, тот потом в лучшем случае тратит подушку безопасности пока не найдёт работу хотя бы не хуже той, на которой был ради своих личных моральных принципов, которые большинство коллег считают придурью, а большинство работодателей удобным и бесплатным механизмом перекладывания своих рисков на работников.
Под «хочет» я подразумевал «создать подушку безопасности», а не улучшение условий труда и всё остальное, о чём Вы написали.
А как быть с желанием таки улучшить условия труда? Начать искать новую работу, не сообщая на текущей о начале поиска, это самая основная возможность их улучшить без связанных рисков ухудшения или вообще приобретения статуса безработного.

Вы не хотите минимизировать эти риски и приводите причины так не поступать
Отвечаю последний раз. Каждый сам определяет, что ему дороже: удовлетворение личный потребностей, или соблюдение моральных принципов.
Простите, но лозунги, громкие слова и идеология не подкрепленные логикой и фактами работают только на людях, скажем так, не самых умных, либо чрезмерно эмоциональных от природы. В пределе развития и мышления должно быть стремление к рациональности а не эмоциональности.
Факты и конкретные примеры я уже приводил (перечитайте мои посты выше и ниже). В них чётко прослеживается взаимосвязь между рациональностью и нравственностью. А дальше каждый сам делает свой выбор в пользу первого или второго.
К моему глубочайшему сожалению, люди практически всегда выбирают меркантильный интерес. Комментарии к моему посту в этой ветке — наглядное тому подтверждение. Не нашлось ни единого человека кто бы поддержал, только карму уменьшили.
Чувствую себя пришельцем с другой планеты. Но опускаться до морального облика большинства не стану.
Поскольку в чужой монастырь со своим уставом не ходят, продолжать дискуссию дальше считаю бесполезной тратой времени. Лучше творить добро, чем бороться со злом.
Всем хороших выходных.
Ужас какой. Вы предполагаете неизвестный срок (пол года/год возможно, если например город маленький и вакансии редко появляются) искать работу питаясь «из подушки», либо в другой город переезжать в поисках работы только потому что решили попробовать поискать что то получше?
Отвечу на наглядном примере.
Регулярно по вечерам наблюдаю из окна такую картину: во двор заезжает машина, свободных парковочных мест уже не осталось, водитель паркуется на газоне в двух шагах от детской площадки. Он поступает по обстоятельствам. А если бы припарковался за 500 м от дома, поступил бы по совести.
Вот и с работой также. Каждый выбирает свой путь.
Плохая аналогия. От того что человек пройдет лишние 500-1000 метров его судьба не зависит (не берем крайние случаи в виде упавших по пути на голову сосулек), а вот отсутствие постоянного притока денег на год или же невозможность найти работу лучше старой, или и вовсе необходимость переезда в другой город/страну — очень на человека влияет. К тому же совершенно непонятно почему работник должен учитывать риски работодателя который возможно не сможет в течении двух недель замену найти, а риск сотрудника что его тут же уволят и найти новое место не выйдет вынужден сам работник на себя брать.
почему работник должен учитывать риски работодателя
Потому, что мы люди, а не звери.
Ммм… Я как раз думал что раз мы люди то должны думать рационально и оценивать риски. Это животное может выжить на улице, а вот человек далеко не всегда на это способен.
В целом суть трудовых отношений в том, что предпринимательские риски берёт на себя работодатель, за что работник довольствуется более-менее фиксированным размером оплаты труда. Реализация предусмотренных законодательством и договором права работника уйти лишь за 2 недели предупредив даже риском особым называть язык не поворачивается.
То есть вы считаете вполне этичным, что работодатель уволит человека, не дожидаясь пока он найдёт таки себе работу? Поиски работы лучше текущей могут годами длиться. А вы предлагаете соблюдать ваши моральные нормы, что в очень многих случаях или менять работу на худшую, или стать безработным?
Ещё раз, соблюдать моральные нормы или продавать душу дьяволу (утрирую), каждый решает сам.
Отличный аргумент в этом бесполезном споре! Если ваш оппонент считает, что неэтично искать работу за спиной работодателя, то тогда и работодатели в случае увольнения (не важно по какой причине: сокращения, прогулы и т.д.) должны давать работнику время найти новую работу! Что-то ни разу в жизни не видел я таких работодателей…
Ну, при сокращении как минимум 3 месяца работодатель должен оплатить (из которых 2 можно продолжать работать, а можно и нет).
Ну 3 месяца — это не «пока не нашёл работу»
Это при сокращении. По которому увольняют довольно редко, чаще всего по собственному, а это две недели.
увольняют
по собственному
Вы тут противоречия совсем не видите? По собственному желанию работник может уволиться только сам. Если его увольняют — то это или по соглашению сторон, или по сокращению, или ещё как. Если работодатель хочет, чтобы вы увольнялись по собственному — то это его проблемы.
Мы все еще про среднего россиянина?
Да. Просто не нужно соглашаться на желания работодателей сэкономить за ваш счёт.
Работает, правда, только при «белой» зарплате. Но тут уж сам себе злой Буратино, если согласился на оплате «вчёрную».
Как минимум есть варианты «серые», когда соглашаешься на небольшой оклад и обещания стабильной 500-1000% премии к нему. По закону начнёшь требовать скоращения — получишь три оклада (утрирую, не заню включается ли премия в этом случае)
А если тебя нашли и схантили? Строить машину времени и предупреждать?
Из любого правила можно сделать исключение. Поскольку хантят нечасто, деваться некуда, придется обойтись без уведомления.
Но и в этом случае, как мне кажется, не следует «кидать» текущего работодателя, прикрываясь положенными по закону двумя неделями отработки. Лучше постараться найти решение, которое устроит все три стороны.

Хм. У меня тут сын работу искал прошлым летом… Получил оффер через 2 часа после открытия резюме. До этого было еще несколько звонков.


Поскольку хантят нечасто

Регулярно!!! За последник 30 дней — пять предложений. И это еще надо учесть сезон отпусков. Осенью они активизируются. Считаете, что "честно" будет отправлять их в корзину не читая? Или вы считаете "нечестной" работу этих агентств?


И еще. Вы считаете установленный законом срок нечестным? Почему?

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

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

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

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

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

Лучшее — враг хорошего. На тот момент предложение его устраивало. К тому же он тогда еще учился, работа для студента хоть и важная, но все же второстепенная тема. Быстро решил вопрос с работой и сосредоточился на учебе.

Что ж смешного? Вообще ж это отлично, можно только порадоваться за Вас и Вашего сына!
Как сделать? Очень просто. Когда приняли решение приступить к поиску новой работы, сообщите о нём своему работодателю (письменно или устно — это уже детали).

Такая стратегия очень опасна и может привести к непредсказуемым последствиям.
Скажем, я работаю 3 года. И 2 года назад принял решение приступить к поиску новой работы. И нашел я её? Нет. По разным причинам. Может, я передумал искать год назад. А работодателя уже не откатишь. Доверие к сотруднику будет подорвано. Он будет alert (предупрежден, начеку, не знаю, что тут надо вставить) и будет подыскивать Вам замену. И найдёт её, вероятно, раньше, чем Вы свою новую работу (сорри, вижу, что подобный комментарий уже написали, но и мой будет не лишний — вдруг он предостережет кого-то от опрометчивого шага?).
Как сделать? Очень просто. Когда приняли решение приступить к поиску новой работы, сообщите о нём своему работодателю (письменно или устно — это уже детали).
Я вот, например, собеседуюсь куда-нибудь раз в полгода, особо не рассчитывая на смену работодателя. Мой работодатель об этом знает (ибо я ему еще на собеседовании об этом сказал). Если получу оффер на условия лучше, чем сейчас, то до его принятия обсужу его с текущим работодателем.
Я, по-вашему, поступаю этично? Я все еще не предупреждаю работодателя перед каждым собеседованием, а «лучшего оффера» может и два-три года не быть.
Мой работодатель об этом знает (ибо я ему еще на собеседовании об этом сказал)
Это именно то, что я и пытаюсь столь настойчиво объяснить другим. В данном случае Вы поступаете целиком и полностью этично, потому что заранее договорились об условиях.
Я в 2015 попал в такую ситуацию как у человека выше, никому не пожелаю.

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

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

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


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

Так же, как вопросы «где учились» и прочими, вызывающими предвзятости которые еще и невозможно учесть без мощного сознательного усилия.
Мы тут говорим про новичков-середнячков
Много новичков имеют специальное образование. К третьему курсу большинство студентов-середнячков умеют сдавать экзамены, даже если не очень готовы (иначе не выживут — будут отчислены из вуза. Это к слову о пользе вуза :)
И что, они при этом не нервничают на очных в универе? Я лично еще как.
На защите диплома во рту пересохло только так :D

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

Ну и люди просто разные, это важно помнить всегда.
Ну и люди просто разные, это важно помнить всегда.


Да. Люди разные. Но много зависит: как человек себя настроит. Полезно настраивать на позитив (не волноваться), а не оправдывать себя «все волнуются». Нужно тренироваться. Нпр., некоторые люди волнуются даже если в гонки на ПК играют. Тогда регулярно по 20 мин. в день играйте в гонки для тренировки спокойствия.
Именно по такому принципу и пытаются левшей заставить использовать правую руку основной, а сов будят по будильнику рассказывая, что они просто ленивые и могли бы просто лечь спать по-раньше.

Люди разные. Не всё тренируется и не все способы к «самонастройке».
Думаю несравнимые примеры. Насколько знаю, большинство спецов-педиатров сейчас сходятся на мнении, что левшей переучивать вредно. Совам труднее учиться и найти подходящую работу. Но многим не удается стать жаворонками. К самонастройке способно гораздо больше людей, но в разной степени. ИМХО в любом случае тренировки принесут пользу, кому-то больше, кому-то меньше. Но м.б. кому-то стоит по совету врача принимать успокоительное. Важно не переборщить, чтобы не заснуть на экзамене или собеседовании.
Может когда-нибудь дорастём и до того, что советы «да ты успокойся!» или «нервничаешь в играх? начни регулярно играть понемногу» будут так же восприняты вредными.
«Высшее образование — это всего лишь доказательство умения выполнять частично формализованные задания за приемлемое время и с удовлетворительным качеством» (с) не помню кто
Возможно. Особенно хорошо получается если тебя на собеседование чуть ли не силой затащили. Когда идёшь с мыслью «вдруг на самом деле что-то интересное, просто вакансии составлять не умеют». И иногда бывает и так.

См.выше. мы говорим тут о ЦА, которых силком не тащат, к кому ключи ХРы не ищут.


Я не гуру, меня силком никто не тащил, но я на собеседовании был скорее в состоянии любопытства. Ну и спать хотелось, всё же почти 20 часов бодрствования сперва, потом 3 часа сна, и немного работы ещё до собеса. Может это меня и спасло :)))

Любопытство — нормальное состояние для собеседования.

В следующий раз можете использовать то же самое как личный лайфхак для приведения себя в нужное для собеседования состояние :)
Это было первый, и, на текущий момент, последний, раз в жизни, когда я был на собеседовании :D Будет ли следующий — отдельный вопрос
Кхм… Все-таки intermediate это уже далеко не «рунглиш», а довольно приличный уровень владения языком.
Рунглиш в первую очередь — это произношение. «Зе тэйбл» (вот прямо так, русская транскрипция) и прочее.
Рунглиш — это проскипывание артиклей (коллега нативный англоязычник говорил, что почти каждый дизайндок от русскоязчных коллег он сперва проходит расставляет артикли, потом начинает читать, потому что иначе ему нифига не понятно. делает это даже у тех, кто 10+ лет живёт в сша, например) и глагола `to be` в «очевидных» местах.

Для собеседования и начала работы нужен словарь IT слов (который есть если ты хоть немного вынужден был читать документацию на английском), простое настоящее, простое прошедшее и простое будущее. «Официально» требуется B1 (=Intermediate), реально достаточно за глаза и за уши A2 (Pre-Intermediate). От B1 по сути и нужен как раз предметный словарь. Я вполне могу завалить экзамен по английскому B1, если вдруг понадобится его сдать, тупо потому, что я не знаю огромного пласта повседневных слов. Например — эмоции, продукты, и прочее в том же духе.

Ни собеседованию ни работе это не мешает, и точно не будет мешать. Ну разве что работодатель вдруг потребует конкретно сертификат, но кроме программ обмена студентов и проч подобного уровня (когда нужно доказательство наваленкства промежуточным звеньям, которые обрабатывают тушки массово), я не слышал, что бы их кто-то требовал.
Добавлю что одним из требований для Tier2 визы в UK является знание языка на уровне B1, например IELTS 4.0 по всем пунктам. Впрочем, я полагаю что с английским ниже этого уровня будет банально сложно в быту, а подтянуть не составит большого труда.
При наличии переводчика в телефоне отсутствие языка не такая большая проблема (в бытовом плане)
Балл в 4 это очень низкий уровень на самом деле. Если кандидат прошел интервью и получил оффер, то компанию он устраивает. Так что не совсем понимаю требований подобных тестов.
Согласен, выглядит как лишняя заморочка в процессе оформления, которая требует времени и денег. Хорошо хоть для членов семьи не требуется сдавать тест.

В континентальной Европе это поняли и от высококвалифицировнных специалистов не требуют подтверждения знания языка при получении ВНЖ. Всего два требования:


  • Высшее образование (или 5-летний опыт работы, но это не везде)
  • Контракт (оффер) с з/п не ниже установленного минимума
Для собеседования и начала работы нужен словарь IT слов (который есть если ты хоть немного вынужден был читать документацию на английском)

Здесь есть подводный камень в виде устоявшегося произношения некоторых терминов в русскоязычном IT, например, биндинг, тмукс или ВПФ. Далеко не каждый иностранный коллега или собеседующий поймет, что имелось в виду binding, tmux и WPF.
Главное читать F.A.Q. по буквам а не привычным словом. Всё остальное норм.
Ох, вспомнил, как осенью 2009-го на одном из самых первых своих звонков по конференц-связи с канадцами, правда не помню в каком контексте, но так прям и сказал «факью». Ощущение, как внутри меня все похолодело и тишина повисла на бридже я, наверное, никогда не забуду. Хотя на самом деле, надо мной просто посмеялись и сказали, потом, что это довольно частая оговорка среди русских.
А мне вот на одной из пьянок нейтив (штаты, калифорния) наоборот говорил что в большинстве случаев даже он не может обьяснить нафига нужны эти артикли и считает их мусором в языке, но привык с детства и не чувствует.
Я до сих пор их не употребляю толком, за исключением когда они влияют на смысл, никто пока явно не жаловался.

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

Вредные советы.


Если с артиклем либо в форме множественного числа — то существительное

A white cow sleeps on a green meadow.
Give me your book, please.
I like milk. Water is wet.


или глагол, но это уже проще понять

Time flies like an arrow.


И вообще: I like milk. This milk cream is very fresh. I milk my cow twice a day. Farmers milk and bread us.


Артикли в английском выражают категорию определенности/неопределенности, которая в русском языке рудиментарна и присутствует иногда как-то так: "Один мужик вчера на Ваську к клубе наехал, а Васька-то не растерялся, да как двинет ему в бубен".

Артикли в английском выражают категорию определенности/неопределенности

Есть один нюанс. В беглой быстрой речи зачастую почти невозможно (или ооочень сложно) отличить the от a. Мне кажется, из этих двух ролей, основополагающую роль имеет, как указал Chamie, как раз указатель на части речи. А категория определённости идёт скорее "на сдачу", она и без артиклей обычно легко выявляется по контексту. В то время как если наворотить очень сложное предложение с кучей идиом и оборотов, то на артикли одна надежда и остаётся (чтобы хоть что-то понять).

В беглой быстрой речи зачастую почти невозможно (или ооочень сложно) отличить the от a.

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


очень сложное предложение с кучей идиом и оборотов,

Как раз в устойчивых выражениях артикли часто опускаются.

Да, прошу прощения, перепутал части речи. Артикли (наличие их) нужны для отделения от глаголов, а не от прилагательных. И да, там, где понятно без них — они не ставятся. Например, при наличии указательных местоимений.
И вообще: I like milk. This milk cream is very fresh. I milk my cow twice a day. Farmers milk and bread us.
Вот конкретно в этих примерах — легко. В предложении должен быть хотя бы один глагол.
Артикли в английском выражают категорию определенности/неопределенности
Это различие в артиклях, а само их наличие обозначает, что это не глагол.

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


Показателем же грамматической роли в английском служит место слова в структуре предложения.

Показателем же грамматической роли в английском служит место слова в структуре предложения.
…которую не определить, не поняв ролей. И в итоге в сложных случаях остаётся только выискивать осмысленные комбинации ролей перебором. Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.

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

У некоторых такая проблема с точками с запятой. Не могут читать код, пока не расставят их везде. И у меня был такой таракан в детстве — громкость телевизора должна была быть строго кратна 5.
Первое что нужно для собеседования и начала работы — восприятие английского на слух.
не путайте с B2, он же upper intermediate, он же vantage/fluent — «свободный» разговорный. Обычный intermediate это «читать умею, но мою речь поймет разве что мой учитель английского»
Может быть вы все-таки про pre-intermediate? Потому что обычный intermediate от upper не настолько сильно отличается, как вы сказали. Мой язык, очень долгое время, например, преподаватели и различные тесты расценивали как intermediate, что не мешало мне спокойно и без каких-либо пробелов во взаимопонимании общаться с иностранцами, в том числе и с нейтивами из UK и US по работе и на конференциях.
А потом, после практики, стало еще интереснее — опять же, половина преподавателей и тестов стали оценивать меня как upper (B2), а другие по-прежнему как B1.
Это потому что тесты — дырявые.
На самом деле уровень знаний и уровень навыков — две разные вещи.

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

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

Тест IELTS все равно существенно проще, чем реальная работа или собеседование в компанию. У меня были большие проблемы с пониманием устной речи и формулированием своих мыслей, но на IELTS получил верхнюю границу C1, 8.0 из 9.
Сдать speaking таки сложно, потому что темы контролируете не вы. Мне вот досталось что-то про недавно мной просмотренный фильм, а я их лет пять уж не смотрел на тот момент. В итоге 8.5 из 9 по всему, кроме speaking'а, по которому 6.5.
Ну, может, мне повезло, а может, General проще, чем Academic (на знаю, что сдавали вы). У меня вопрос был из серии «расскажи вообще о себе, чем ты по жизни занимаешься, зачем в UK собрался».
Я так понимаю, что I'm programmer. I'm going to write program in the UK for money. Их бы не устроило?
Сомневаюсь, что так ответить получилось бы. Там был не совсем монолог, экзаменатор направлял ход беседы. Я начал ответ с фразы вроде «Ну вообще это сложный вопрос, так даже с ходу и не знаю, что сказать, чтобы два часа не болтать», а уже через минуту я объяснял, какие, на мой взгляд, есть минусы в существующей системе высшего образования.
Да я тоже General сдавал.

А вы когда сдавали? Может, поменялось что в процедурах.
В феврале 2017
А, я летом 2014 сдавал. Может, и поменялось чего, действительно.
Тем не менее замечу, что продолжать улучшать свой английский стоит до тех пор пока не перестанете слышать от окружающих — «о какой у вас хороший английский».

В некоторых случаях можно даже просто попросить коллег поправлять вас при самых явных ошибках.
Поддерживаю. Я в Сингапуре уже 2 года. Приехал в страну ни разу не общаясь по-английски вживую, только лишь по скайпу несколько раз говорил (а сам язык изучал по сериалам с субтитрами). У меня даже никаких комплексов не было после приезда, ибо меня встречал вьетнамец, чье произношение было таким, что его половина офиса бывало переспрашивала при общении на постоянной основе. Так что на фоне множества индусов/различных азиатов и еще много кого, простецкий «лет ми спик фром май харт» (хотя я никогда та не говорил конечно) будет понятен абсолютному большинству людей без каких-либо проблем, английский для которых далеко не основной язык.

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

Наличие ссылки на Github в резюме увеличивает шансы

Если Github пустой и там кроме форков и hello world ничего нет, то стоит подумать, публиковать ли ссылку. Возможно в вакансиях на junior-позиции само понимание, что такое git и github может быть значимым фактором. Но на более высоких позиция там уже следует быть чему-то, по чему можно сделать вывод о вашем уровне.
Чтобы сделать пулл-реквест нужно сделать форк. :)

Попались — не обязательно :D Но тогда нужны права соавтора или владельца.

Речь про форки шла. Обычно их как раз для PR создают. Даже если права есть :)
А после принятия PR я обычно форк сношу, чтоб не мельтешил
После появления в шторме возможности синхронизации с базовым просто лень даже.

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


в вакансиях на junior-позиции само понимание, что такое git и github может быть значимым фактором

просто комитить и пушить можно научиться за 10 минут. я бы скорее проверял знания что такое версионное хранение на примере любой системы (хоть svn, хоть clearcase). а то сейчас даже мидлы встречаются без знаний что такое reflog, force push, rebase. требовать такое от джуна уже скорее опция, а не обязательность.

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

Есть ли смысл оставлять их открытыми и давать ссылку в резюме или лучше не стоит?
Обычно, в таких случаях делают оговорки в сопроводительном письме. Мол, «ребят, вот код. Но имейте в виду, что это я 5 лет назад писал»
Умение чётко общаться, хорошо работать в команде и понимать бизнес-цели на самом деле ценится выше, чем умение программировать.

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


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

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


Поэтому тут уходить в ресерч, реверс, и пр. Там нет технического потолка и доход растёт с крутизной

Есть где-нибудь ещё область где будут цениться технические навыки
Только технические скиллы ценятся только там, где в команде ровно 1 человек) Но и он должен работать с кучей народа вне команды. Иногда, но очень редко, попадаются такие проекты. Так что, увы, приходится учиться этому навыку, как и любому другому.
Не путай «жизнь коллег» и общение по работе :) Первое меня тоже бесит невероятно. Все эти тимбилдинги и прочая хрень. Более того, слегка сблизившись вне работы, иногда можешь понять, что рядом с тобой полные уебаны.
Но при этом они пишут прекрасные доки, в девопсе гуру 80 уровня, и т.д.
(Восхищенно)Плюсую
со вкусом повторяю, перекатывая на языке — «полные уебаны»… Слава Б-гу, не все)))
Да где ж здесь экстраверсия? Именно что на деловые темы. Уметь чётко и ясно объяснить, что, как и зачем ты сделал; почему сделал именно так; как другим это использовать. Уметь чётко и быстро уяснить, что от тебя хотят, чтобы ты сделал; почему хотят, чтобы сделал именно это и именно так, и т. п. Вот это вот всё. А то бывают коллеги — да, умный, компетентный, уйма технических навыков, но вытянуть из него нужную инфу, или, наоборот, ему что-то вдолбить — каждый раз пытошную приходится резервировать.
> Вот это вот всё.

Автор прямо в посте пишет, что «это вот не всё», а ещё и обширная сеть знакомств и умение вести переговоры. Что впринципе выходит за рамки «деловых тем».

А коллеги и наоборот бывают — любимец всех, классный и общительный, но как пишет — чуть ли не goto-level =\

Сегодняшняя разработка — это почти всегда [большие] коллективы. При современных технологиях коммуникативные навыки выходят на первый план. Это раньше можно было сидеть в углу, выгребать из трекера четко посталенные задачи, решать их и переходить к следующим. Сейчас — это в лучшем случае уровень джуна, от миддла уже ожидают некоторой самостоятельности при разработке решений. А это значит, что придется работать с коллегами на уровне принятия совместных решений, и следовательно уметь эффективно подавать свои мысли и отстаивать свою точку зрения. А последнее, кроме просто умения хорошо излагать, потребует еще и некоторого понимания того, как устроен коллектив, чье мнение имеет значение.
Интроверту часто сложно бывает понять структуру отношений в коллективе просто в силу того, что она для него неинтересна. А это значит, что часто будет возникать ситуация: "Блин, я же классно придумал, почему эти идиоты хотят, что бы я сделал все по другому?". А с точки зрения руководства наш интроверт выглядит так: "Блин, вроде способный, но что ему не поручи, всегда предлагает какую-то фигню". А все лишь потому, что свою замечательную (на самом деле) идею он поведал, не тому, не тогда, не так и не в том месте.

Есть еще другой вариант: Большинство решений принимаются в курилке. Просто потому что там собирается большая часть коллектива. И некурящие оказываются просто выключены из этого процесса.
Есть такой нюанс. И что делать некурящим?
А вот это мне тоже хотелось бы знать, так как отношусь к некурящим и многие вещи узнаю постфактум.
Ну не знаю, у нас во всех командах большинство было таки некурящими
Пить чай, кофе, любой процесс плейсхолдер своей периодичностью похожее на курение. Отзеркаливание и все такое. Заодно эти перерывы помогут отвлечься и расслабить мозг. Это если боитесь что будете выглядить странно в курилке просто стоя и разговаривая. На самом деле не будете. Идете с курящими «подышать воздухом» и «пейзажем полюбоваться» и учавствуете в важных решениях.
Еще вейп есть безникотиновый, но это скользкая дорожка, можно и закурить так. Чай лучше.
Ну само собой если дым так раздражаеть что не можете находиться рядом — тогда без вариантов. Разве что можно попробовать перетащить разговоры из курилки на кухню и обсуждать там за кофе/чаем, но это сложно.
«Хочешь спаять коллектив — спаивай!»
Ага, и все это кончается просто кучкой алкоголиков которые продолжают считать себя программистами.
Пьянка, а точнее совместные посиделки (лучше за пределами офиса, в баре или на природе) кстати один из самых эффективных (по показателям время/деньги/результат) способов тим билдинга. Но и он работает только если люди хотят «билдится» или по крайней мере не против. Понятно что это не должно вырождаться в «каждую пятницу я в говно».
Вот, собственно, у меня есть и обратный опыт. Как начнёшь разговаривать с людьми на темы, не связанные с работой или около того, так сразу хочется их развидеть.
У нас так один коллега во время пятничных «обсуждений политики вместо того, чтобы работать» всегда (вот в 100% случаев) оказывался в меньшинстве — его мнение отличалось от мнений всех остальных людей, всегда. Из-за чего, как мне со стороны казалось, ему было не очень комфортно в нашем коллективе работать (хотя вроде бы мудаков у нас небыло в коллективе, но периодически он наш чуть-ли не фашистами считал :) ).

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

Так что к посиделкам и тимбилдингу надо относиться аккуратно, ибо может оказаться что кроме работы у коллектива нет вообще никаких возможных точек соприкосновения.
Хм, если в 100% случаев то может человек просто поспорить любит? Например я если ни к одной стороне в споре не склоняюсь с явным преимуществом — люблю адвокатом дьявола побыть. Хотя и по настроению.
Фиг его знает. Но вроде бы озвучиваеваемые им в ходе срачей мнения по различным вопросам были вполне систематическими.
Хуже. Может оказаться, что есть точки конфликтного соприкосновения.
Нет, это так не работает.
В вашей картине перекур приравнен к спланированному совещанию, когда все встали и пошли обсуждать производственные вопросы в курилку.
А на деле все происходит так: кто-то один встает, и зовет второго покурить. Уходят. Пока курят могут обсудить какой то вопрос. В процессе разговора подтягивается третий включается в обсуждение, затем четвертый и т.д.
В итоге, когда все накурятся вопрос решен и решение принято. Только вот об этом кто в курилке не был ни сном ни духом.
Вот такая корпоративная этика.
А при чем здесь этика? Хотят люди обсудить пока курят — запрещать им что-ли. Те кто не пошел в это время покурить из курящих — тоже ни сном ни духом. Каждый раз по каждой мелочи в переговорку идти — да все против будут, отрывают от работы и все такое.

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

Люди ходят курить не только потому что «организм зовет», но и для перерыва, расслабить мозг, обдумать что-то в фоновом режиме, поболтать, обсудить, отдохнуть. Полезное дело (отдых а не курение), даже некурящим стоит завести такую привычку, да время тратиться но суммарная эффективность повышается. Чай как вариант, но может быть что угодно, даже просто постоять на балконе и глаза размять. Совмещаете периоды с курящими и через пару недель они уже сами будут звать на «подышать».
Ок, попробую еще раз…
Смотрите, один пошел, за ним другой, и тут вы понимаете, что пора!
Приходите с чаем, а там только «котиков» обсуждают. Возвращаетесь назад. В этот момент встают и уходят курить следующие. А там к ним и начальство подходит. И все, вопрос решен в узком кругу тех кто в этот момент был в курилке.

Невозможно совмещать периоды со всеми курящими. Так и на работу времени не останется.
Ходите за начальством :)
Логично, но могут неправильно понять)
Так а в чем преимущество других курящих тут? Они так же могут пойти покурить, послушать про котиков, уйти и тут начнется нормальное обсуждение.
Речь же про то что не курящим нет повода присутствовать в курилке и в результате курящие общаются больше между собой, в том числе по рабочим вопросам, так? Вот на это я решение и предлагал.

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

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

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

Так это должны быть не оценки, а достаточно строгое знание. Лучше формализованное, но как минумум в голове у руководителя. Иначе в проекте начнется Ад и Везувий...

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

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

Зависит, не спорю. Скажу даже больше, я такого раньше нигде не видел.
Бороться с этим бесполезно, т.к. начальство само в этом участвует.
Ну думаю в такой ситуации перекуры минимальная из проблем. Там весь букет проявляться должен, от наказания за опоздания до подписи у 10 начальников чтобы на пару часов в рабочее время уйти по личным делам. Тут только два варианта: 1) попробовать обьяснить 2) валить не оглядываясь.

На самом деле биг-босс просто сам не курил и курящих не выносил. Да и вообще среди коллектива не так много их было. А многие, за время моей работы там просто бросили.
Наказания за опоздания были, да… Но скорее кампаниями. Два-три раза в год биг-босс лично просил списки проходов через проходную за последнюю неделю, отчеркивал красным карандашом 5 минут (типа не зверь, все понимаю), и с попавшимися проводил профилактику: взбучка непосредственным начальникам, объяснительные, лишение премии на 15-20%. Какое-то время после этого коллектив бодрился… На пару часов уйти скорее от начальника отдела зависело. У нас проблем не было, а где-то со скрипом.
Вообще если сравнивать с другими регионами у нас было вполне даже так либеральненько. Этакий просвещенный абсолютизм. А кое-где был очень даже непросвещенный…
Варианты уйти как правило не рассматривались. 100% белая зарплата в 2-3 раза выше чем средняя по городу, куча всяких корпоративных бонусов: свой здравпункт со специалистами от офтальмолога до гинеколога, сеть ведомственных домов и баз отдыха от Камчатки до Калининграда, ведомственная пенсия за 15+ лет стажа и т.п. Никто добровольно не хотел уходить.

Где вы такие демократичные коллективы видели? Всегда есть тимлид, который ведет разработку и за которым будет последнее слово. Если на одну и ту же область проекта будут влиять два разных человека с «равными правами» — это ппц какой будет срач каждый раз.
Ы, в хороших местах вы видимо работали. Вообще как показывает практика — «срача» не наблюдается, наблюдается дикая путаница и отсутствие единой картины хоть у кого то.
Наблюдается и срач, и отсутствие единой картины, и дикая путаница.
image
О да, у нас эта картинка частенько мелькает. Вроде бы смогли недавно руководству доказать что архитектор нужен (ибо есть РП, но он не понимает ни в программировании, ни в предметной области), но прислушаются ли и будет ли толк — под вопросом.
Само собой кто-то, за кем последнее слово, должен быть для решения проблемных ситуаций, где нормально договориться не получается. Полностью самоорганизующиеся и самооуправляемые команды вообще без внутреннего лидера к сожалению редкость неимоверная.
Но есть разница между «моя задача писать код, как скажет так и сделаю, не мешайте мне работать» и «мне небезразличен продукт, проект и время команды, если я считаю что можно сделать лучше (даже не свою задачу) я должен хотя бы постараться убедить ЛПР в этом». И вот во втором случае навыки коммуникации, убеждения, продажи если хотите — очень полезны. А это значит что такой синьор в команде не просто будет хорошо делать свои задачи но и подстрахует тимлида (PM, начальника отдела, PO, выберите сами), поможет ему не совершить ошибку или сделать что-то лучше. А без скилов будет угрюмо сидеть в углу теряя свою мотивацию (ну если не пофигист по первому варианту).
И вот если в команде все умеют общаться, владеют этими самыми «навыками переговоров» то срача как раз и не будет. Ведь у переговоров всегда есть цель, и цель эта обычно не нагнуть собеседника а сделать так чтобы все были довольны.
мне небезразличен продукт, проект и время команды, если я считаю что можно сделать лучше (даже не свою задачу) я должен хотя бы постараться убедить ЛПР в этом

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

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

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