Занятно то, что я за последние 5-6 лет не словил вообще ни одной проблемы при обновлениях.
С одной стороны, да - личный опыт нерелевантен. С другой - срок наблюдений довольно длинный, так что какая-то статистическая значимость у этих наблюдений имеется.
Я ни разу ничего не откатывал, ничего не падало, ничего не начинало тормозить.
Ну это прям детский уровень собеседования. Как вы кандидатов между собой сравниваете при таком подходе?
А какие тут проблемы? Если нужны чиселки, тот тут шкала крайней простая.
1. Ответил на вопрос и не утонул в ответах - ставим плюсик что в данной теме разбирается, молодец.
2. Не ответил: считаем количество данных подсказок на вопрос. Чем больше потребовалось, тем меньше условных баллов человек получает. Если не смог ответить вовсе и вообще думал не туда, ну тут да, ставим нолик за вопрос. Если думал куда надо, но всё равно не смог прийти к нужному ответу, ставим условную единичку: "думать умеет, но нужен наставник".
Дальше можно проссумировать и там посчитать какие-то объективные циферки, но у меня на проекте нет такого потока кандидатов, чтобы была необходимость в какой-то сложной процедуре. Типа собеседование в лучшем случае раз в неделю.
Финальная оценка у нас - это просто "коллегиальное субъективное". Собес ведут 2 человека, некоторые еще могут подключаться чисто послушать (без видео), но в собесе они не участвуют. По итогу оффер выкатывается только если все присутствующие согласны с тем, что кандидат подходит.
У нас нет никаких многоэтапных собесов. Собес ровно один, длится часа полтора максимум.
ХЗ. Я на собесах вообще не смотрю правильно ответил человек или неправильно.
Если человек говорит правильные слова, я лишь раскручиваю его на разговор, чтобы проверить, понимает ли он вообще то, о чем говорит или просто заучил ответ.
Если человек говорит что-то совершенно неправильное, я его останавливаю, говорю что он не прав, потом даю несколько дополнительных подсказок и смотрю сможет ли он прийти к правильному ответу самостоятельно, т.е. просто оцениваю сколько в целом нужно будет тратить время на вводные для человека, чтобы он решал задачи ответ на которые не знает.
Сам по себе ответ - вообще не важен.
Оставшийся кусок времени Team lead закрывает собесами. Команда живёт сама по себе
Печально, но да, так и есть. Но если вы думаете, что тимлиды сильно рады такому положению вещей - эт точно не так. Я не рад)
Опять же, если они такие большие, то зачем вообще нужна IT ипотека?
Для того, чтобы застройщики не разорились? Огромные площади жилья стоят невостребованными. Нужно влить бабла в отрасль. У кого есть бабло? У айтишников! Внезапно именно ипотека и есть показатель того, что в IT зарплаты больше. Ну и то, что нужны какие-то стимулы, чтобы привязать разработчиков территориально, не без этого.
Моё описание было далеко от алгоритмического и ChatGPT меня всё равно понял. Да, оно было плюс/минус последовательным, но я специально писал не очень понятно. Например, про поворот линии с этим "клетка-за-клеткой" при перечитывании даже у меня появились вопросы, но ChatGPT даже в условиях такой лютой неоднозначности понял что он него хотят.
Ничто не ново под луной. В любой корпорации с большой кодовой базой, много задач решаются методом "комбинирования готовых кубиков". Да, в общем доступе этого кода нет, но корпорации могут иметь свои локальные GPT-модели, обученные на их коде. И эти модели, очевидно, из "готовых проприоретарных кубиков" смогут лепить нечто более или менее внятное.
Нормальная история, если я где-то до этого 10 работал и меня не увольняли) Ну, не верите, могу дать контакты бывшего работодателя, отзывы оставит)
Неожиданно удобная схема, правда?)
А что до джунов - им платят обычно настолько копейки, а самостоятельности у них настолько мало, что не так уж и важно, может он развернуть nginx или нет. Если они понимает как это делать в теории и не плавает при ответах на вопросы - это уже 80% успешности.
Ну, потупит пару недель человек, да освоится) Даже если придётся попрощаться на испытательном - по бюджету это сильно не ударит.
Ну, я по-честному, прочитал обзорные статьи на большинство популярных психотерапевтических школ, у каждой есть та или иная ассоциация, где они кучкуются и друг друга, типа проверяют.
Соответственно, я пошёл на сайт ассоциации, нашел там специалиста, прочитал несколько его работ на b17 (если такие там находились). Если не находились, пытался просто погуглить что-нибудь про человека.
По итогу, уже выбирал кого-то. А, ну и да :) К специалисту, который классифицируется как "хороший" - ещё и хрен попадёшь) У него внезапно, есть клиенты. Так что тебе как бы хреново, но будь добр погоди недельки 3-4 со своими страданиями.
В общем, я тоже не пальцем в небо тыкал. Я тщательно отсеивал людей и выбирал из тех школ психотерапии, которые мне не казались откровенным бредом.
Project модель не только хранит данные о проектах, но также имеет методы для управления статусом проекта is_active, close_project, extend_project. Это оч. распространенная проблема.
А дальше альтернатива вообще не про Project. Логично было бы показать именно на примере Project как разделить его логику и почему это стало удобнее.
Ничего страшного) Ну, потеряется какая-то часть, не велика потеря. Большинство из того, что актуально, гуглится, а всё что "мхом поросло", обычно и не очень ценно спустя 5-10 лет)
Мне, как разработчику изделия, виднее, какие факты о нём изложить предложениями, а какие свести в таблицу характеристик
Я не понимаю цепочки рассуждений, стоящих за этим утверждением. Это какая-то бессмыслица.
Продукты (изделия, текст, etc) надо делать так, чтобы её понимал потребитель, а не производитель. Поэтому делать документацию надо не так, как подсказывают вам ваши личные эстетические ощущения, а так, как будет удобнее потребителю документации, т.е. мне))
А то представьте, например
Несмотря на то, что вёрстка ваша поехала, смысл я понял. И да - это просто крекрасный формат был бы.
Справедливости ради, я попросил сделать игру в которой можно "грабить корованы" и он мне сгенерировал примитивный акраноид. И как бы я ни пытался его заставить сделать что-то более умное, не прибегая к "девелоперским описаниям" (т.е. не зная ничего про анимации, ресурсы, векторную графику и проч) - он генерирует полный бред.
Есть прямоугольно поле поделенное на квадратные клетки одинакового размера. Двигаться по полю можно только по клеткам. Диагональные перемещения запрещены.
Все объекты на поле занимают одну или несколько клеток. На старте игры на поле находится "линия" состоящая из двух клеток и "яйцо" состоящее из одной клетки.
Как только игра стартует "линия" начинает движение в случайном направлении по полю. Когда игрок жмёт стрелку на клавиатуре линия поворачивает под углом 90 градусов, но не сразу, а клетка-за клеткой.
При столкновении "линии" и "яйца", "яйцо" исчезает, а "линия" увеличивается на одну клетку. После чего "яйцо" появляется в случайной свободной клетке на поле.
Если линия при повороте натыкается на саму себя - игра завершается. Задача игрока собрать как можно больше "яиц" до того, как линия столкнётся сама с собой.
Напиши эту игру на python. Можешь использовать любую графическую библиотеку.
Сгенерированный код
import pygame
import random
import sys
# Инициализация Pygame
pygame.init()
# Определение размеров экрана и клеток
cell_size = 20
num_cells = 30
screen_size = cell_size * num_cells
screen = pygame.display.set_mode((screen_size, screen_size))
# Определение цветов
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
# Начальные настройки
line_direction = random.choice(['UP', 'DOWN', 'LEFT', 'RIGHT'])
line = [(num_cells // 2, num_cells // 2), ((num_cells // 2) + 1, num_cells // 2)]
egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
# Функция для отрисовки сетки
def draw_grid():
for x in range(0, screen_size, cell_size):
for y in range(0, screen_size, cell_size):
rect = pygame.Rect(x, y, cell_size, cell_size)
pygame.draw.rect(screen, white, rect, 1)
# Функция для отрисовки линии и яйца
def draw_objects():
for segment in line:
rect = pygame.Rect(segment[0] * cell_size, segment[1] * cell_size, cell_size, cell_size)
pygame.draw.rect(screen, green, rect)
rect = pygame.Rect(egg[0] * cell_size, egg[1] * cell_size, cell_size, cell_size)
pygame.draw.rect(screen, red, rect)
# Обновление позиции линии
def update_line():
global line, egg, line_direction
head_x, head_y = line[0]
if line_direction == 'UP':
new_head = (head_x, head_y - 1)
elif line_direction == 'DOWN':
new_head = (head_x, head_y + 1)
elif line_direction == 'LEFT':
new_head = (head_x - 1, head_y)
elif line_direction == 'RIGHT':
new_head = (head_x + 1, head_y)
if new_head in line or new_head[0] < 0 or new_head[1] < 0 or new_head[0] >= num_cells or new_head[1] >= num_cells:
pygame.quit()
sys.exit()
line.insert(0, new_head)
if new_head == egg:
egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
while egg in line:
egg = (random.randint(0, num_cells-1), random.randint(0, num_cells-1))
else:
line.pop()
# Основной цикл игры
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and line_direction != 'DOWN':
line_direction = 'UP'
elif event.key == pygame.K_DOWN and line_direction != 'UP':
line_direction = 'DOWN'
elif event.key == pygame.K_LEFT and line_direction != 'RIGHT':
line_direction = 'LEFT'
elif event.key == pygame.K_RIGHT and line_direction != 'LEFT':
line_direction = 'RIGHT'
update_line()
screen.fill(black)
draw_grid()
draw_objects()
pygame.display.flip()
clock.tick(10) # Устанавливаем скорость игры
Результат
Игра завершается при столкновении с краем экрана ну выглядит немного страшненько. поэтому я попросил улучшить игру:
Запрос
Сделай так, чтобы при столкновении с краем экрана "линия" проходила "сквозь", т.е. пространство было как бы зациклено.
Да, и можно сделать графику чуть покрасивше.
Результат
Но да, когда я спросил у ChatGPT знает ли он что это за игра, он честно ответил, что я ему описал змейку он змейку и сгенерировал.
Если не печатаешь в промышленных масштабах, есть подозрение, что вред здоровью будет очень тяжело нанести этими испарениями.
Занятно то, что я за последние 5-6 лет не словил вообще ни одной проблемы при обновлениях.
С одной стороны, да - личный опыт нерелевантен. С другой - срок наблюдений довольно длинный, так что какая-то статистическая значимость у этих наблюдений имеется.
Я ни разу ничего не откатывал, ничего не падало, ничего не начинало тормозить.
Да блин, если бы ко мне приходили на проект люди с патчами моих проблем - я бы только спасибо говорил и подарки всем на новый год им рассылал)
А какие тут проблемы? Если нужны чиселки, тот тут шкала крайней простая.
1. Ответил на вопрос и не утонул в ответах - ставим плюсик что в данной теме разбирается, молодец.
2. Не ответил: считаем количество данных подсказок на вопрос. Чем больше потребовалось, тем меньше условных баллов человек получает. Если не смог ответить вовсе и вообще думал не туда, ну тут да, ставим нолик за вопрос. Если думал куда надо, но всё равно не смог прийти к нужному ответу, ставим условную единичку: "думать умеет, но нужен наставник".
Дальше можно проссумировать и там посчитать какие-то объективные циферки, но у меня на проекте нет такого потока кандидатов, чтобы была необходимость в какой-то сложной процедуре. Типа собеседование в лучшем случае раз в неделю.
Финальная оценка у нас - это просто "коллегиальное субъективное". Собес ведут 2 человека, некоторые еще могут подключаться чисто послушать (без видео), но в собесе они не участвуют. По итогу оффер выкатывается только если все присутствующие согласны с тем, что кандидат подходит.
У нас нет никаких многоэтапных собесов. Собес ровно один, длится часа полтора максимум.
ХЗ. Я на собесах вообще не смотрю правильно ответил человек или неправильно.
Если человек говорит правильные слова, я лишь раскручиваю его на разговор, чтобы проверить, понимает ли он вообще то, о чем говорит или просто заучил ответ.
Если человек говорит что-то совершенно неправильное, я его останавливаю, говорю что он не прав, потом даю несколько дополнительных подсказок и смотрю сможет ли он прийти к правильному ответу самостоятельно, т.е. просто оцениваю сколько в целом нужно будет тратить время на вводные для человека, чтобы он решал задачи ответ на которые не знает.
Сам по себе ответ - вообще не важен.
Печально, но да, так и есть. Но если вы думаете, что тимлиды сильно рады такому положению вещей - эт точно не так. Я не рад)
Для того, чтобы застройщики не разорились? Огромные площади жилья стоят невостребованными. Нужно влить бабла в отрасль. У кого есть бабло? У айтишников! Внезапно именно ипотека и есть показатель того, что в IT зарплаты больше. Ну и то, что нужны какие-то стимулы, чтобы привязать разработчиков территориально, не без этого.
Да, это правда, но тут есть два важных НО!
Моё описание было далеко от алгоритмического и ChatGPT меня всё равно понял. Да, оно было плюс/минус последовательным, но я специально писал не очень понятно. Например, про поворот линии с этим "клетка-за-клеткой" при перечитывании даже у меня появились вопросы, но ChatGPT даже в условиях такой лютой неоднозначности понял что он него хотят.
Ничто не ново под луной. В любой корпорации с большой кодовой базой, много задач решаются методом "комбинирования готовых кубиков". Да, в общем доступе этого кода нет, но корпорации могут иметь свои локальные GPT-модели, обученные на их коде. И эти модели, очевидно, из "готовых проприоретарных кубиков" смогут лепить нечто более или менее внятное.
Нормальная история, если я где-то до этого 10 работал и меня не увольняли) Ну, не верите, могу дать контакты бывшего работодателя, отзывы оставит)
Неожиданно удобная схема, правда?)
А что до джунов - им платят обычно настолько копейки, а самостоятельности у них настолько мало, что не так уж и важно, может он развернуть nginx или нет. Если они понимает как это делать в теории и не плавает при ответах на вопросы - это уже 80% успешности.
Ну, потупит пару недель человек, да освоится) Даже если придётся попрощаться на испытательном - по бюджету это сильно не ударит.
Когда я захочу работать в месте, где два человека будут стоять над душой и смотреть в мой монитор во время работы: обязательно к вам и загляну :)
*форматирование хабра съело пустую строку в во втором примере, но вообразите, что она есть.
Любая внятная реализация чтения строк, воспринимает EOF как конец строки. Что охренеть логично, ведь если у вас файл
То у вас 3 строки. И если у вас файл
У вас тоже 3 строки! Одна просто пустая. Что просто напросто логично)
Ну, я по-честному, прочитал обзорные статьи на большинство популярных психотерапевтических школ, у каждой есть та или иная ассоциация, где они кучкуются и друг друга, типа проверяют.
Соответственно, я пошёл на сайт ассоциации, нашел там специалиста, прочитал несколько его работ на b17 (если такие там находились). Если не находились, пытался просто погуглить что-нибудь про человека.
По итогу, уже выбирал кого-то. А, ну и да :) К специалисту, который классифицируется как "хороший" - ещё и хрен попадёшь) У него внезапно, есть клиенты. Так что тебе как бы хреново, но будь добр погоди недельки 3-4 со своими страданиями.
В общем, я тоже не пальцем в небо тыкал. Я тщательно отсеивал людей и выбирал из тех школ психотерапии, которые мне не казались откровенным бредом.
Не справляются)
А дальше альтернатива вообще не про Project. Логично было бы показать именно на примере Project как разделить его логику и почему это стало удобнее.
Вместо этого показан какой-то Task в вакууме)
Так может товар ваш настолько хорош, что все забивают на неудобства в документации :) Или просто за 20+ лет привыкли)
Одно на другое может и не влияет никак в коммерческом смысле, но это не значит, что нельзя делать лучше)
Количество лет вообще ни на что не влияет, если нет обратной связи или вы эту обратную связь игнорируете)
Я лично пока что ощущаю, что Apple просто завалили весь интернет рекламой, чтобы создать ощущение, что всем хочется VR.
По моим ощущениям, всем как было насрать, так и остаётся)
Ничего страшного) Ну, потеряется какая-то часть, не велика потеря. Большинство из того, что актуально, гуглится, а всё что "мхом поросло", обычно и не очень ценно спустя 5-10 лет)
Я не понимаю цепочки рассуждений, стоящих за этим утверждением. Это какая-то бессмыслица.
Продукты (изделия, текст, etc) надо делать так, чтобы её понимал потребитель, а не производитель. Поэтому делать документацию надо не так, как подсказывают вам ваши личные эстетические ощущения, а так, как будет удобнее потребителю документации, т.е. мне))
Несмотря на то, что вёрстка ваша поехала, смысл я понял. И да - это просто крекрасный формат был бы.
Справедливости ради, я попросил сделать игру в которой можно "грабить корованы" и он мне сгенерировал примитивный акраноид. И как бы я ни пытался его заставить сделать что-то более умное, не прибегая к "девелоперским описаниям" (т.е. не зная ничего про анимации, ресурсы, векторную графику и проч) - он генерирует полный бред.
Штош :) Я попросил GPT-4
Запрос
Описание игры.
Есть прямоугольно поле поделенное на квадратные клетки одинакового размера. Двигаться по полю можно только по клеткам. Диагональные перемещения запрещены.
Все объекты на поле занимают одну или несколько клеток. На старте игры на поле находится "линия" состоящая из двух клеток и "яйцо" состоящее из одной клетки.
Как только игра стартует "линия" начинает движение в случайном направлении по полю. Когда игрок жмёт стрелку на клавиатуре линия поворачивает под углом 90 градусов, но не сразу, а клетка-за клеткой.
При столкновении "линии" и "яйца", "яйцо" исчезает, а "линия" увеличивается на одну клетку. После чего "яйцо" появляется в случайной свободной клетке на поле.
Если линия при повороте натыкается на саму себя - игра завершается. Задача игрока собрать как можно больше "яиц" до того, как линия столкнётся сама с собой.
Напиши эту игру на python. Можешь использовать любую графическую библиотеку.
Сгенерированный код
Результат
Игра завершается при столкновении с краем экрана ну выглядит немного страшненько. поэтому я попросил улучшить игру:
Запрос
Сделай так, чтобы при столкновении с краем экрана "линия" проходила "сквозь", т.е. пространство было как бы зациклено.
Да, и можно сделать графику чуть покрасивше.
Результат
Но да, когда я спросил у ChatGPT знает ли он что это за игра, он честно ответил, что я ему описал змейку он змейку и сгенерировал.