Меня только что уволили с работы. Это была моя первая работа по разработке программного обеспечения после окончания колледжа, и я проработал там чуть больше года. Причина заключалась в том, что они не думали, что смогут обучить меня необходимым им навыкам в сроки, приемлемые для компании. Я думал, что я достаточно хорош и быстро совершенствуюсь, и я даже получил 2 положительных отзыва о своей работе в прошлом году.
Мне было трудно получить эту работу. Я не силен в написании тестов. У меня были они от 9 разных компаний и прошли 3 из них. Готовлюсь к ним регулярно, используя материалы.
Кроме того, в 2016 году у меня была летняя стажировка, которую я пытался преобразовать в работу на полный рабочий день, но они в основном сказали, что оставят меня в качестве стажера, но не хотели нанимать меня на полный рабочий день.
В учебе я был великолепен. Я получил степень магистра компьютерных наук со средним баллом 4.0 по одной из 10 лучших программ компьютерных наук, а бакалавриат закончил со средним баллом по компьютерным наукам со средним баллом 3.70.
Мне нравится быть инженером-программистом, но я чувствую, что нет хорошего способа оценить навыки. Как я могу понять, действительно ли я плох, или мне просто нужно больше тренироваться?
Обновление за два с половиной года: я нашел хорошую работу инженера-программиста и преуспел в ней. Через 2 года я ушел в поисках лучшей работы по разработке программного обеспечения. Я сейчас хорошо разбираюсь в кодировании тестов, но я знаю, что в целом это не значит, хороший ты программист или нет. Как и быть уволенным один раз. Теперь я почти уверен, что меня уволили, потому что они узнали, что я был на рынке труда, и они думали, что это повредит их репутации, если я уйду (у них было несколько высокопоставленных людей, уволившихся за месяцы / годы до того, как я уволился).
Как я могу понять, действительно ли я плох, или мне просто нужно больше тренироваться?
Учитывая ваши положительные результаты на прежней работе и отличные оценки, полученные на протяжении всей академической карьеры, рискну сказать, что вы на самом деле хороший инженер.
Итак, первое, что я предлагаю, это успокоить себя . Я знаю, что вы можете чувствовать это сейчас, как это происходит, когда кто-то теряет работу, на которую вы вложили свою энергию и преданность делу. Но, честно говоря, для вас нет ничего положительного в том, что вы продолжаете чувствовать себя так после такого негативного опыта, так как это не поможет вам двигаться дальше.
В связи с этим могу дать вам совет:
Не разочаровывайтесь в том, что одна компания уволит вас через год (что является приличным сроком), потому что «они не могут обучить вас необходимым навыкам в установленные сроки» . Многие компании возлагают на своих разработчиков действительно нереально высокие ожидания/временные рамки, и, к сожалению, многие из них видят в нас одноразовых кодовых обезьян , которых они могут просто сжимать до истощения (иногда они не делают этого, потому что они «злые», именно так, как их промышленные и рыночные работы).
Однако многие другие компании не такие, поэтому нечестно с вашей стороны отказываться от своих надежд из-за этого инцидента.
Тем не менее, профессионал никогда не должен прекращать практиковать , даже если он был лучшим. Самые успешные профессионалы и инженеры никогда не перестают учиться. Говоря словами Микеланджело: Ancora imparo . Вот почему я предлагаю вам рассматривать все это как еще одну возможность учиться и расти ; сохраняйте хорошее, помните о плохом (которое как раз и учит нас) и двигайтесь дальше. Там вас ждет много других интересных заданий и вещей, если вы дадите им шанс прийти.
Сказав все это, я думаю, что осталось пожелать удачи, обновить свое резюме, начать поиск работы и быть уверенным в своих навыках. Ваше "возвращение"... ;) ...ждет вас.
Меня только что уволили с работы. Это была моя первая работа по разработке программного обеспечения после окончания колледжа, и я проработал там чуть больше года. Причина заключалась в том, что они не думали, что смогут обучить меня необходимым им навыкам в сроки, приемлемые для компании. Я думал, что я достаточно хорош и быстро совершенствуюсь, и я даже получил 2 положительных отзыва о своей работе в прошлом году.
Не принимайте это на свой счет. То, что они сделали, было бизнес-решением, ожидаемая окупаемость инвестиций времени, денег и внимания разработчиков была меньше того, что вы могли бы вернуть. Если вы зациклитесь на том, что вас уволили, это поглотит вас на долгие месяцы. Лучшее, что вы можете здесь сделать, — это потратить некоторое время на то, чтобы распаковать и переоценить свой текущий набор навыков, выбрать направление карьеры и отправиться в плавание. Не задерживайтесь в порту, дуясь.
Мне было трудно получить эту работу. Я не силен в написании тестов. У меня были они от 9 разных компаний и прошли 3 из них. Готовлюсь к ним регулярно, используя материалы.
После выпуска я подал заявки на более чем 600 вакансий, прошел всего около дюжины собеседований и только одно предложение, которое было прекращено в январе этого года. Единственный вариант, который приведет вас к следующей работе, — снова сесть на лошадь.
Кроме того, в 2016 году у меня была летняя стажировка, которую я пытался преобразовать в работу на полный рабочий день, но они в основном сказали, что оставят меня в качестве стажера, но не хотели нанимать меня на полный рабочий день.
Возможно, это возможность спросить, нанимают ли они. Теперь у вас за плечами годовой опыт и лучший набор навыков, чем в колледже. Может быть, это был бы хороший вариант спросить, так как они знали вас раньше.
В учебе я был великолепен. Я получил степень магистра компьютерных наук со средним баллом 4.0 по одной из 10 лучших программ компьютерных наук, а бакалавриат закончил со средним баллом по компьютерным наукам со средним баллом 3.70.
Я могу вспомнить, что после вашей первой работы средний балл не имеет большого значения. Но я могу ошибаться; не забудьте включить эту информацию в свое резюме и рассказать об этом во время собеседования.
Мне нравится быть инженером-программистом, но я чувствую, что нет хорошего способа оценить навыки. Как я могу понять, действительно ли я плох, или мне просто нужно больше тренироваться?
Я согласен, что нет надежного способа измерить мастерство, учитывая, что проблемы, с которыми вы сталкиваетесь, никогда не бывают одними и теми же, определение того, «лучше» вы или «хуже», приведет вас в кроличью нору самоанализа . сомнения и паралич. До вашей следующей постоянной работы, возможно, стоит рассмотреть контрактные должности? Таким образом, вы можете практиковаться и получать деньги за небольшие проекты.
Высокий средний балл — это хорошо, но разработка программного обеспечения — это высокопроизводительная профессия. Вы должны быть в состоянии производить рабочий код по разумной цене.
Когда вы говорите: «Я плохо разбираюсь в тестах», вы имеете в виду, что во время собеседования вам сложно писать рабочий код? Если это так, то вам придется практиковаться, чтобы быть конкурентоспособным на рынке труда. Я постоянно провожу собеседования с кандидатами, и никого не возьмут на работу, если он не продемонстрирует способность программировать во время собеседования. Так что либо начните личный проект по программированию в интересующей вас области, либо, может быть, выберите новый язык и поработайте над проблемами, подобными тем, что были в Project Euler .
Тот факт, что вас уволили, не означает, что вы плохой инженер. Это означает, что вы не подходили для той роли, в которой вы были.
Если вы чувствуете, что можете стать лучше, вы должны стать лучше. Если вы чувствуете себя хорошим инженером, вам следует начать проверять дополнительные параметры. К счастью, у вас есть возможность найти работу, поскольку вакансии инженера пользуются большим спросом, вам просто нужно определить, что вам нужно, изучить варианты, убедиться, что работа соответствует вашим навыкам (не только техническим) и продолжать совершенствоваться.
Удачи.
Это была моя первая работа по разработке программного обеспечения после окончания колледжа, и я проработал там чуть больше года. Причина заключалась в том, что они не думали, что смогут обучить меня необходимым им навыкам в сроки, приемлемые для компании.
Многие компании (обычно средние и мелкие) не нанимают новых выпускников только потому, что они не могут обеспечить правильную среду/правильные задачи. Вообще говоря, компания должна быть выше определенного размера и иметь определенный уровень зрелости, чтобы иметь новых выпускников. Таким образом, особенно если компания была на меньшем уровне и/или у них не было много новых выпускников, проблема могла быть на стороне компании, а не на вашей стороне.
Конечно, я не знаю, так ли это, но не стоит сомневаться в своих способностях на основании одного примера. Я видел, как МНОГИЕ замечательные люди были уволены по той или иной причине. Многие увольнения происходят не из-за проблем со способностями.
Побывав в похожей ситуации, я вернулся к следующему: программирование — это то, чем я занимался ради удовольствия последние 27 лет. Мне это нравится, и это приходит ко мне естественно (конечно, с практикой!). Я программист . Относится ли это к вам, или вы считаете, что вам нужно заставлять себя любить программирование и заниматься им регулярно? Напротив, мне приходится заставлять себя писать творчески. Когда я это делаю, мне это нравится, и я думаю, что у меня есть к этому способности, но я бы никогда не стал заниматься литературным творчеством просто как хобби. Я просто не писатель. Поэтому я думаю, что это вопрос номер один, и вам нужно взглянуть на свою личную историю, а не на свои эмоции, чтобы ответить на него. То, что вы делаете, демонстрирует то, что вы любите, гораздо лучше, чем то, что вы чувствуете .
Большинство людей не работают так усердно над тем, чего они не хотят в глубине души. Они не так быстро учатся и не так быстро растут. А если что-то дается им особенно тяжело, они часто и над этим не работают (за исключениями, конечно!). И наоборот, если вы действительно любите программирование (опять же, основываясь на своей истории, а не на своих эмоциях прямо сейчас, которые, по понятным причинам, будут немного беспорядочными), вы, естественно, будете усердно работать над этим и расти, и тем более, если вы иметь природный талант разработчика. Так что, если вы годами занимаетесь программированием ради удовольствия и не бросаете это занятие, я бы сказал, что у вас есть 100% фундамента, необходимого для того, чтобы стать хорошим программистом. После этого нужно просто попрактиковаться и научиться вписываться в корпоративную машину,
То же самое о том, чтобы не принимать это слишком тяжело. Убедитесь, что вы не корите себя за это. Это случается со многими из нас в какой-то момент нашей карьеры, и это не конец света. Есть следующая работа после предыдущей. Сказав это, каждый плохой опыт в жизни — это возможность, из которой мы можем извлечь уроки. Так что стоит оглянуться назад на то, что произошло, и спросить, чему вы можете научиться из этого. Спросите себя, были ли какие-то тонкие признаки того, что они недовольны вашим выступлением, которые вы могли пропустить. Иногда менеджеры не умеют общаться или сообщают о недовольстве пассивно-агрессивно способами, которые очень легко не заметить. Ваш менеджер или руководитель группы неоднократно спрашивал, нравится ли вам работа? У вас неоднократно не было нового прогресса, о котором можно было бы сообщить на статусных собраниях? Они несколько раз просили внести одни и те же исправления/изменения? Я не предполагаю, что что-то из этого произошло, но стоит подумать о том, могли ли быть какие-то сигналы, которые вы пропустили. Потому что это была бы возможность учиться в следующий раз. И наоборот, не пропустили ли вы какие-нибудь красные флажки, говорящие о том, что это токсичная среда или что у вас был плохой менеджер? Вы пропустили какие-нибудь тревожные сигналы о том, что у компании финансовые проблемы или грядут увольнения? Развитие повышенного самосознания и осведомленности о вашем корпоративном окружении — очень ценный вывод из такого болезненного опыта. Но, в конце концов, 1) выясните, что вы но стоит подумать о том, могли ли быть какие-то сигналы, которые вы пропустили. Потому что это была бы возможность учиться в следующий раз. И наоборот, не пропустили ли вы какие-нибудь красные флажки, говорящие о том, что это токсичная среда или что у вас был плохой менеджер? Вы пропустили какие-нибудь тревожные сигналы о том, что у компании финансовые проблемы или грядут увольнения? Развитие повышенного самосознания и осведомленности о вашем корпоративном окружении — очень ценный вывод из такого болезненного опыта. Но, в конце концов, 1) выясните, что вы но стоит подумать о том, могли ли быть какие-то сигналы, которые вы пропустили. Потому что это была бы возможность учиться в следующий раз. И наоборот, не пропустили ли вы какие-нибудь красные флажки, говорящие о том, что это токсичная среда или что у вас был плохой менеджер? Вы пропустили какие-нибудь тревожные сигналы о том, что у компании финансовые проблемы или грядут увольнения? Развитие повышенного самосознания и осведомленности о вашем корпоративном окружении — очень ценный вывод из такого болезненного опыта. Но, в конце концов, 1) выясните, что вы вы пропустили какие-либо красные флажки, что это токсичная среда или что у вас был плохой менеджер? Вы пропустили какие-нибудь тревожные сигналы о том, что у компании финансовые проблемы или грядут увольнения? Развитие повышенного самосознания и осведомленности о вашем корпоративном окружении — очень ценный вывод из такого болезненного опыта. Но, в конце концов, 1) выясните, что вы вы пропустили какие-либо красные флажки, что это токсичная среда или что у вас был плохой менеджер? Вы пропустили какие-нибудь тревожные сигналы о том, что у компании финансовые проблемы или грядут увольнения? Развитие повышенного самосознания и осведомленности о вашем корпоративном окружении — очень ценный вывод из такого болезненного опыта. Но, в конце концов, 1) выясните, что выхотите быть (из вашей личной истории), 2) отряхнуться и снова встать на лошадь или двигаться дальше, если программирование не для вас, и 3) поразмышлять и узнать все, что можно извлечь из этого опыта.
Хорошо, вас уволили по соображениям производительности. Если вы находитесь в США, подавали ли вы заявление на пособие по безработице? Имейте в виду, что если вы не были уволены по уважительной причине (т. е. из-за физической ссоры, сексуальных домогательств и т. д.), вы все равно можете получать пособие по безработице. Большинство компаний, в которых я работал, увольняли меня по соображениям производительности, то есть после пары лет хороших отзывов о производительности. Даже если в письме, которое они вам дали, сказано, что вы уволены, если вы получаете пособие по безработице, это было увольнение.
Первый раз был для меня сюрпризом, и я тоже тяжело переживал, В следующий раз уже не сюрприз. Часто это был новый менеджер, который убирал дом, чтобы установить свои любимые устройства. Моя цель - пережить увольнение.
Ваша реакция очень типична для очень компетентных людей, это синдром самозванца .
Теперь начните искать новую работу. Ожидайте, что это займет у вас около 4 месяцев. Тратьте 5 часов в день на поиск работы. Обычно я стараюсь найти 10 подходящих вакансий, на которые можно подать заявление, и 5 работ, которые меня растягивают в день. Помните, они просят Бога, но примут Христа.
Найдите проект с открытым исходным кодом, чтобы присоединиться и работать над ним. Работайте над этим от 2 до 4 часов в день. Бонусные баллы, если проект, над которым вы работаете, спонсируется компанией, в которой вы хотите работать.
Отлично, у вас есть высшая 10 степень, но продолжайте учиться и практиковаться больше. Это может быть посвящено проекту с открытым исходным кодом или теме, которую вы просто хотите изучить. Это может помочь вам понять, хотите ли вы делать это в долгосрочной перспективе.
Серьезно, не обращайте слишком много внимания на метрики, числа Норриса, строки кода... Работайте над тем, чтобы быть командным игроком и мотивировать себя учиться тому, что вам нужно научиться делать.
Наконец, найдите хобби, чтобы перезарядить аккумулятор, так сказать. Все, что вы делаете с удовольствием.
Удачи.
1) Как узнать, хороший ли ты инженер? Что ж, эта часть довольно проста. На самом деле не существует такого понятия, как «плохой инженер»; ты либо инженер, либо нет. Как только вы определили, что вы инженер, разница между «хорошим» и «плохим» заключается в развитии навыков, а это приобретаемый навык (это означает, что если вы сейчас «плохой» инженер, вы можете научиться быть «хорошим»). "инженер с опытом). Учитывая контекст этого вопроса, я предполагаю, что вы инженер, так что все остальное - это просто практика и обучение.
2) Школа на самом деле ничего не доказывает. У меня лично есть степень бакалавра и магистра компьютерных наук в одной из лучших школ моей страны. У меня есть работа инженером-программистом. Знаете ли вы, сколько вещей, которые я выучил в школе, я использую на регулярной основе? Почти ноль. Так что, если честно, ваше образование и ваш средний балл, вероятно, более полезны как абстрактная мера вашего учебного потенциала, чем как мера ваших конкретных навыков. Поэтому, хотя я бы не сказал, что высокий средний балл коррелирует с тем, чтобы быть «хорошим» инженером, он также не коррелирует с тем, чтобы быть «плохим» инженером. С чем это коррелирует, так это с вашей способностью превратиться из «плохого» инженера в «хорошего» инженера. В результате я бы не
3) Что касается ваших навыков собеседования, то большая их часть приходит с практикой. Предположительно, вы прошли курс «Алгоритмы и структуры данных» в школе, и, поскольку у вас высокий средний балл, я полагаю, вы очень хорошо с ним справились. Чтобы стать «хорошим» в решении задач на собеседовании, вы должны вспомнить (или переучить) материал из этого класса, потому что на большинство вопросов, которые вам будут задавать, можно будет ответить из этого материала. После этого только практика. Первые несколько раз вы потерпите неудачу, но потом вы привыкнете видеть то, что они хотят, и вы начнете снова и снова сталкиваться с одними и теми же проблемами и станете лучше справляться с ними. Это просто практика. Тем не менее, практика заключается в том, чтобы отвечать на вопросы в среде типа интервью; прохождение вопросов по чему-то вроде HackerRank или тому, что имеет ограниченную ценность; вы будете практиковать определенные навыки/алгоритмы, но если они не те, о которых спрашивает интервьюер, то это не имеет значения. Что лучше, так это научиться придумывать хорошие ответы на лету; ни один интервьюер не захочет задавать вопрос, на который вы уже знаете ответ, они хотят увидеть, как вы на лету придумываете ответы на вопросы, которые не знали заранее.
Программное обеспечение — это не то, что вы практикуете, например, репетиции перед музыкальным концертом. Это то, что вы просто делаете. У вас есть немного кода, который нужно написать для удовлетворения конкретной потребности. Вы продолжаете цепляться за него, пока он не заработает. В конце концов, вы, вероятно, чему-то научились. Затем вы переходите к следующей работе в списке.
Со временем вы становитесь лучше в этом. Пока система, с которой вы привыкли работать, не устарела, и вы не перешли на что-то новое. Затем он возвращается к работе, пока вам не удастся снова заставить его работать.
В программном обеспечении есть много рабочих мест в дополнение к тому, чтобы быть кодовой обезьяной. Есть графический дизайн пользовательских интерфейсов, есть анализ требований, есть системная инженерия, есть тестирование. Есть, вероятно, другие вещи, которые я забыл.
Если вы считаете, что могли бы добиться большего успеха в каком-либо из них, посмотрите на тех, кто набирает сотрудников, и попробуйте что-то другое.
Я собираюсь сосредоточить свой ответ на последней части здесь, поскольку она связана с тем, о чем я думал в течение нескольких лет:
Мне нравится быть инженером-программистом, но я чувствую, что нет хорошего способа оценить навыки. Как я могу понять, действительно ли я плох, или мне просто нужно больше тренироваться?
Шкала числа Норриса — это метрика, по которой люди и организации могут оценивать себя.
Числа Норриса начинаются с 20 и увеличиваются на кратные 10. Они связаны с более глубоким пониманием фундаментальной конструкции и структуры любого данного программного приложения.
Для целей этого ответа число Норриса — это измерение строк кода приложения за вычетом библиотек, которые человек может писать и поддерживать самостоятельно.
Все начинают в 20 Норрис. Большинство формальных программистов довольно быстро переходят на 200 Norris. Программы 200 Norris обычно представляют собой быстрые и грязные сценарии, которые делают что-то важное, но делают только одну вещь. Такие программы «собраны вместе», что означает, что им, как правило, не хватает надлежащего форматирования кода и проверки ошибок, особенно от новых программистов. Многие программисты переходят на 2000 Norris, когда начинают создавать более крупные программы/скрипты.
Увеличить количество Норрисов с 2000 до 20 000 вне командной среды намного сложнее. В этот момент вы должны создавать серьезное приложение. В 20 000 Norris открывается много дверей (например, крупные проекты с открытым исходным кодом). Преодолеть от 20 000 до 200 000 Norris на индивидуальном уровне довольно сложно, поскольку существует не так много программных приложений, созданных одним человеком с более чем 200 000 строк кода приложения . Как правило, это слишком много для одного человека, чтобы разумно и активно поддерживать его.
Norris также указывает уровень комфорта. В какой момент можно написать приложение «во сне»? То есть количество умственных усилий, необходимых для перехода от идеи к развертыванию. Тех, кто получает степень CS, как правило, 200, реже 2000 Норрисов. Очень редко можно найти 20 000 разработчиков Norris сразу после колледжа. Такие разработчики обычно начинают писать программы задолго до поступления в вуз и считают диплом очень дорогой бумажкой.
Организационный номер Норриса аналогичен, но представляет собой среднее количество строк кода приложения на приложение, охватывающее всю организацию. В большинстве организаций 2000 или 20000 Норрисов. Малые предприятия с ИТ-отделом, разрабатывающим крошечные сценарии для организации, обычно не превышают 200 Norris. У организации также может быть 2000 Norris в среднем, но может быть одно или два приложения 20000 Norris, скрывающиеся внутри, которые немного увеличивают среднее значение, но недостаточно, чтобы довести его до 20000 Norris.
Если в организации 2000 Норри, а в отдельном человеке едва ли 200 Норри, человеку будет трудно не отставать (т. е. будет сложно удержаться на плаву). Если организация состоит из 20 000 Норрисов или нанимает по заявке на 20 000 Норрисов, а человек — из 200 Норрисов, человека, вероятно, не возьмут на работу, если он не солжет, но в любом случае человек не протянет больше нескольких недель. Если у организации 200 Норрисов, а у отдельного человека 2000 Норрисов, человеку, скорее всего, будет скучно, и ему будет трудно сохранять интерес к новым проектам (т. е. отсутствие проблем). Кроме того, человек с 20 000 норм Норриса будет регулярно обнаруживать, что общаться с кем-то с 20, 200 и даже 2000 норм Норриса неудобно или сложно. Человек с более низким числом Норриса просто выиграл. t понимает цель определенных решений и может попытаться «рефакторить код» или назвать сотрудника 20 000 Norris «плохим разработчиком программного обеспечения». По моему опыту, единственный «плохой» разработчик программного обеспечения — это человек, который (непреднамеренно) пишет код с уязвимостями безопасности, а затем участвует в активном отрицании, когда на уязвимости указывают коллеги.
Только Norris Number может, если все стороны правдивы, определить, следует ли нанимать (или даже увольнять) человека. Отдельный разработчик также может перерасти организацию или наоборот. Если полагаться на честную метрику Норриса, можно пропустить тест на кодирование во время собеседования, который действительно может измерить только до 200 Норрисов за время, отведенное для среднего интервью. Norris Number может быть действительно хорошим фильтром для системы поиска работы для разработчиков программного обеспечения, и я сильно подозреваю, что в других отраслях есть аналогичные показатели, которые они могли бы использовать аналогичным образом.
Вместо того , чтобы решать проблемы , которые, как правило, сосредоточены на алгоритмическом дизайне, сосредоточьтесь на проектах . Какие проекты вам интересны? Создайте список и начните строить ЭТИ проекты в свободное время. Весь смысл разработки программного обеспечения заключается в том, чтобы создавать то, что интересно ВАМ. Программное обеспечение — это форма искусства, наполненная элегантностью и красотой. Да, вы тоже можете получать за это деньги, но если вы еще не занимаетесь любимым делом помимо официальной работы, вам следует начать это делать. Иначе вы проработаете 40 с лишним лет, а ваша жизнь будет пустой и лишенной каких-либо личных достижений.
Сет Р
TheComeBackKid
Джейн С
TheComeBackKid
Натан Купер
TheComeBackKid
пользователь70848
TheComeBackKid
пользователь7360
Роб
TheComeBackKid
Роб
тиего1967
пользователь86764
пользователь86764
Василий Старинкевич
Дональд
Стефан Бранчик
TheComeBackKid
TheComeBackKid
Роб
дан-классон
боб
боб
Стиан Иттервик
приветливый инопланетянин