16

Вопрос к программистам

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

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

В связи с чем я прошу IT-шную аудиторию Пикабу дать мне ответ: как у Вас организован рабочий процесс?

Если попробовать по порядку:

Как и в каком виде происходит поставка задачи? Как она формулируется?

Кто эти задачи "распределяет"?

Как вообще проходит рабочий день?

Ну, то есть, к примеру: я инженер-испытатель. Начальство (или смежный цех) ставит задачу - испытать на вибрационное воздействие некий узел. Сам узел в цеху №14, технические условия (документ, в соответствии с которым проходят испытания) чаще всего есть у меня "в наличии", либо выгружаю из архива. Беру узел, закрепляю на оснастке и стенде, настраиваю и включаю нужный режим, ставлю запись (если нужно) с датчиков и жду. По итогу ставлю свою электронную "подпись" на документе, подтверждающем прохождение испытаний. На всё это уходит основной объем рабочего времени. Испытания бывают разные, узлы разные, ТУ разные, оснастка и стенды тоже, но принцип всегда один - есть определенный физический параметр, воздействие которого надо проверить.

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

Или, может, что-то типа "Напиши функцию, которая принимает объект с параметрами A,B,C,D, а выдаёт в формате N, где N - это (A/B)*C - D".

В общем, извините за сумбур, расскажите что-нибудь.)

Спасибо!

Без рейтинга

Лига программистов

2.3K поста12K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

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

7
Автор поста оценил этот комментарий

Задача на две недели - это скорее всего какое-то исследование (включая проектирование подсистемы). Это уровень мидла (который скоро станеть синьором) или синьора. Типовые задачи для джуна, например - это до 2 дней: обозримо, понятно и если упёрся во что-то - быстро понятно техническому начальнику (синьору или техлиду). Для мидла в норме задача будет на неделю примерно.


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


Кстати, оценку лучше делать в виде интервала "оптимистичная - пессимистичная". Оптимистичная - это когда всё идёт хорошо, пессимистичная - это когда реализуются все заложенные в оценку риски (да, проблемы тоже надо планировать, причём не под абстрактным имененм "проблема", а конкретные такие проблемы поимённо с указанием времени на их персональное решение). И потом принимать за основу реалистичную оценку, которая делит интервал от оптимистичной до пессимистичной в соотношении 1:3.


Например, задача (в рамках проекта супер-пупер-инженерного калькулятора): разбор синтаксиса выражения и построение синтаксического дерева. Вход: токенизированное выражение. Выход: дерево операций, где листовые узлы - константы, а остальные узлы - операции. Оценка оптимистичная: 4 часа (делать там скорее всего больше нечего и даже их многовато - но пусть). Риски:
- я плохо знаю работу с деревьями. Решение: изучить соответствующую темы в "Алгоритмы и структуры данных". Время на изучение и практику - 3 дня (24 часа) (Это маловато для темы вцелом, но для целеё задачи - достаточно).

- я не понимаю как работают указатели. Решение: изучить соответствующую главу в учебнике, решать задачи. Время: неделя (40 часов) (И это очень оптимистично на самом деле).

Пессимистичная оценка: 68 часов. Реалистичная: (3 * 4 + 64) / 4 = 17 часов.


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


Забыл сказать: если даже ваши правки в опенсорсном проекте будут хуесосить - отнеситесь к этому позитивно: вам показывают к чему надо стремиться. А с какого-то раза, причём не очень даже далёкого, вам ответят: вот тут и тут хорошо бы поправить так или эдак, и - вуаля! - ваш коммит принят в проект! Можно с гордостью звать друзей и коллег отмечать ваше серьёзное достижение в новой профессии!

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Большое спасибо! Это, наверное, самый ценный комментарий!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества