Недавно я закончил магистратуру в области разработки программного обеспечения, и я собираюсь начать свою профессиональную карьеру через несколько недель. Моя роль будет в качестве младшего разработчика для компании, которая разрабатывает программное обеспечение с использованием Java и связанных с ними технологий (в том числе Spring и Hibernate). Честно говоря, я очень рад тому, что грядет, особенно потому, что я хочу развивать свою карьеру в качестве разработчика Java. Я также очень заинтересован в получении опыта в этой области. Кроме того, это будет мой первый опыт работы в качестве профессионального разработчика, поэтому я действительно хочу сделать все возможное с самого начала.
Я хотел бы знать, какие навыки и умения, как мягкие, так и технические, будут наиболее ценными у нового профессионала (младшего разработчика), который может стать частью вашей команды, и на каких навыках я должен сосредоточиться, чтобы добиться успешной карьеры в качестве программного обеспечения Инженер.
источник
Ответы:
Многие из них верны, независимо от того, где вы находитесь в своей карьере, но могут быть особенно важны для тех, кто только начинает.
источник
Вот краткий список с моей головы:
источник
Две вещи: готовность учиться и способность учиться.
источник
Любопытство, энтузиазм устанавливают для себя высокий стандарт, готовность учиться, готовность признать, что они не знают, интерес к тому, что делает бизнес, и как это влияет на работу, которую вы производите. (Все хорошие качества, даже если у вас есть 20-летний опыт)
Хорошие технические знания - это здорово, но вы должны показать, как вы примените эти знания.
Прежде всего, интервьюер должен видеть, что вы работаете там, вносите свой вклад и хотите остаться. Если вы слишком хороши, это может оттолкнуть некоторых людей быстрее, чем быть ниже среднего. ;)
источник
Мотивация. Вы знаете, как мотивировать себя? Знаете ли вы, какая тактика может работать лучше, чем другие? Речь идет о самосознании, которое некоторые люди могут ожидать, что вы узнаете из всего образования, которое вы получили, чтобы выяснить это на стороне.
Базовые навыки тестирования и отладки. Вы знаете, что такое юнит-тест? Знаете ли вы несколько способов отладки проблемы? Дело не в том, чтобы точно знать, что делать в среде, а в том, чтобы понять, какими могут быть самые базовые тесты и какие стратегии иметь при рассмотрении проблемы.
Навыки коммуникации. Насколько вы точны с языком? Насколько хорошо вы можете перейти от технического к нетехническому? Конечно, это то, что нужно развивать, но это то, на что нужно обратить внимание, и в некоторых случаях спасите кого-то, кто может оказаться в беде, не понимая последствий того, что они утверждают. Насколько хорошо вы ладите с людьми? Не то чтобы это было строгим требованием, но если вы можете иметь хорошие отношения с коллегами по работе, это может сделать некоторые задания немного проще в выполнении. Честность и порядочность также входят в эту группу навыков, так как обычно могут возникнуть вопросы о том, насколько хорошо вы говорите, что имеете в виду, и имеете в виду то, что говорите. "Офисное помещение" Есть много примеров плохого общения, и хотя работа вымышленная, возможно, было много сцен, которые были действительно близки к реальности для некоторых людей с точки зрения работы в офисе.
Многофункциональность. Новые люди в команде могут получить широкий набор обязанностей, поэтому в небольшой компании вам, возможно, придется настраивать базы данных, сети, веб-серверы и другие вещи, которые находятся за пределами разработки. Еще одним примером здесь может стать подача заявки, чтобы помочь команде уложиться в срок.
источник
Для меня как для младшего разработчика без какой-либо степени моя готовность усердно работать и совершенствоваться очень помогла в моей карьере. Кроме того, я заметил, что мои начальники ценили способность справляться с некоторой критикой (положительной или нет), а также способность следить за этим.
Что касается новой среды: я бы посоветовал просто плыть по течению в течение первой недели или около того. Я сделал ошибку, пытаясь слишком усердно, это не было оценено.
источник
Я согласен со всем, что уже было сказано, но я хочу подчеркнуть, что вы никогда не должны забывать эти общие (и мягкие) навыки вместо того, чтобы быть техническим экспертом. Вы должны работать над обоими, но я бы предпочел иметь посредника, который может сообщить то, что они знают, а затем иметь мастера, который предпочел бы работать один.
Кроме того, не проводите слишком много времени с носом в книге. Книги - это хорошо, даже замечательно, но если вы проводите большую часть своего времени за чтением и меньше времени за работой, вы не получите половину от этих книг.
источник
Отличные ответы всем. Я бы только добавил, из моего ограниченного опыта полета - вы знаете, что они называют лицензией пилота?
Лицензия на обучение.
источник
Много хороших ответов.
Даже если я не работаю на «больших парней» и я не гуру, я добавлю свои 2 цента.
Будьте добры к людям .
Постарайтесь общаться с вашими коллегами, проводите немного времени с некоторыми из них каждый день, если это возможно. Ходите с ними время от времени на ужин, посмеяйтесь с ними.
Другими словами, попытайтесь создать «сообщество», если его нет, или стать его частью, если оно существует.
Знакомство с коллегами поможет вам легче общаться с ними. Плюс, шансы хороши, вам будет весело делать это.
источник
Как и все хорошие материалы, представленные сообществом (см. Выше), я также ожидаю увидеть свидетельства некоторых сложных навыков. Не совершенство или сверхъестественные способности, но хорошее знание основ и основных понятий. Вы уже получили работу ( кстати, поздравляю !), Так что вы в значительной степени там.
Но если вы обновите свои знания и / или освоитесь с инструментами, языками и технологиями, которые использует ваша компания, вы начнете работать и создадите хорошее первое впечатление.
Гипотетический идеальный младший разработчик будет знать основы таких вещей, как
и так далее. Он сможет сосредоточиться на приобретении новых навыков без необходимости останавливаться и изучать основы. Он сможет работать (задавая столько разумных вопросов, сколько ему захочется - большинству старших разработчиков нравится, когда им задают разумные технические вопросы) с обычной формой онлайн-форм, страниц администратора, с которыми сталкиваются многие юниоры в течение первых нескольких месяцев. Становление надежным, младшим разработчиком может стать вашим первым тестом на инициацию в команде ;-)
Когда я начинал как младший в веб-команде крупной корпорации, основная часть первоначальной работы, которую мне назначили, была несколько скучной, но облагая меня налогом до такой степени, что я каждый вечер читал книги, чтобы понять, что я собираюсь сделать делать на следующий день . Я прошел через это, но это было стрессом через пять или шесть месяцев после относительной роскоши моего курса магистратуры ;-)
Если вы сможете делать все основные вещи эффективно, у вас есть более интересные вещи, которые можно делать довольно быстро, и это, конечно, поможет продвинуть вашу карьеру.
И, повторяя сказанное выше, мир компьютеров и кода постоянно развивается. Вам нужно будет изучать новые вещи через день. Держите свой ум широко открытым и постарайтесь не забывать о том, почему вы взялись за это в первую очередь - потому что вы <3 это. В последующие годы могут быть моменты, когда это не будет в центре вашего внимания. Энтузиазм поможет вам преодолеть большинство препятствий.
Сказав все это, мой опыт последних двенадцати лет или около того показывает, что большинство юниоров не остаются в своей первой компании навсегда, поэтому не слишком зацикливайтесь на том, чтобы быть «идеальным». Делать ошибки - это часть процесса, который приведет вас от младшего к тому месту, куда вы хотите попасть. Я занимаюсь этим уже некоторое время и почти полностью удаляю производственную базу данных, по крайней мере, пару раз в год.
Удачи в вашей карьере.
источник
(1) Открытый разум. Вы не хотите, чтобы кто-то официально использовал язык X и среду Y для каждого проекта. Вы хотите кого-то, кто может распознать, когда определенная технология не решит проблему и предложит хорошие альтернативы. Кроме того, вам нужен человек, который может бросить вызов традиционному мышлению и предложить решения, которые мотивируют бизнес. Вы можете испытать это на себе, но я обнаружил, что люди настолько привыкли к процессу, что не меняют его, но все равно жалуются на количество боли, которое он им причиняет. Обычно, когда я приезжаю, я смотрю, как это улучшить, и предлагаю решения своему менеджеру. Теперь я бы также сказал, что персонал должен быть «дипломатичным» в отношении его / ее предложений :)
(2) Хорошие навыки моделирования предметной области. Это довольно большой, который я нашел, что некоторые люди упускают из виду. В некоторых местах, где я работал, изучение бизнеса - это «загрязнение рук», и люди уклоняются от чисто технических проблем, таких как интеграция средств проверки орфографии в контроль версий и т. Д., И они не тратят много времени на улучшение бизнес. Будучи способным взглянуть на бизнес и создать из него модели (упрощения) и сообщить, что разной аудитории, будь то разговорная, визуальная (UML, SSADM или что-то еще) или что-то другое, вам нужен человек с таким менталитетом.
По этой теме я могу порекомендовать две книги: «Страстный программист» и «Прагматичный программист» . Обе книги предлагают полезные советы младшим и старшим программистам.
источник
Взять на себя инициативу. У меня было много людей, которые вообще этого не делают и всегда ждут, чтобы мне точно сказали, что делать. Если вы видите что-то, что должно быть улучшено, сделайте это. У вас есть идея что-то улучшить? Вынеси это вперед. Нужен еще один навык, чтобы улучшить что-то? Узнать его.
Показывает, что вы заботитесь о том, что вы делаете, и хотите улучшить.
источник
Не для того, чтобы вас напугать, но я хочу предупредить вас об этом в каждой компании, в которой я работал: большие грязные огромные методы прокрутки и плохо именованные объекты, которые заставляют вас бояться открывать исходные файлы просто шок и ужас такого беспорядка. Обычно они находятся в обработчиках событий для кнопок «ОК» в диалоговых окнах или кнопки «Отправить» на веб-страницах.
Я прошу вас от всего сердца. Пожалуйста, установите тревожный звонок, чтобы, когда метод начал выглядеть большим, и под большим, я имею в виду более 10 строк или около того, подумайте о создании другого метода ... так много методов позже, вы поймете, насколько ответственны объект, в котором вы разрабатываете, имеет.
Следующий сигнал тревоги, который я бы порекомендовал, это максимум 2-3 параметра в методе. Если вы видите методы с примерно 10 входными параметрами, скажите привет функциональному программированию на языке OO ...
Извините за небольшое разочарование, выраженное в этом ответе, я просто не могу достаточно кричать, насколько полезно учиться писать чистый код.
Пожалуйста, возьмите себе копию Роберта. С Мартинс Чистый код . Прочитайте его еженедельно, возьмите его на ужин, спите с ним под подушкой, возьмите его с собой в унитаз, распечатайте несколько страниц и наклейте их на потолок, чтобы, когда вы ложитесь спать, вы могли прочитать их раньше ты киваешься;).
Я желаю вам всего наилучшего в вашей карьере. Ваша страсть в этот момент уже показывает, что у вас все получится.
источник
Единственный совет, который я могу предложить - никогда не прекращать учиться. Способ, который получили эти разработчики Rockstar, заключается в том, что они занимаются изучением новых технологий и языков - это их свободное время. Хотя это здорово, если вы останетесь там на 10 лет, когда выйдете, вы будете знать только Java + Spring + Hibernate. Вот почему в свое свободное время я смотрю на платформу .NET, Python и случайный код C ++, чтобы оставаться активным. Как человек, который работает над MS в течение секунды, время может быть драгоценным, и его нужно тратить с умом.
источник
Возможность использования Google. В самом деле.
Не то чтобы я никогда никому не помогал, особенно младшему коллеге. Но нет ничего более расстраивающего, чем когда кто-то не делает должной осмотрительности в решении проблем, постоянно
Мой совет юниору софт. Инженеры должны сделать ваше должное усердие в решении проблем. Используйте google, wikipedia или stackoverflow старательно и методично, когда вы ничего не знаете.
Не ждите слишком долго, прежде чем обращаться за помощью к более старшему сотруднику - это зависит от типа организации. В хорошей компании, где люди помогают друг другу, если вы тратите больше половины дня, пытаясь найти ответ, не стесняйтесь остановить собственное исследование, чтобы попросить о помощи.
В других организациях, где люди всегда злы друг к другу, вам, возможно, придется потратить несколько дней самостоятельно (задокументировав все, что вы сделали и везде, где вы исследовали), прежде чем обращаться за помощью. В таких компаниях поможет документирование того, что вы сделали, чтобы вы могли показать им, что «вы сделали это в Google», потому что это будет первая реплика, которую они вам бросят.
Но независимо от этого, суть того, что я бы искал у младшего инженера, заключается в том, чтобы проявить должную осмотрительность в попытке решить проблему, вместо того чтобы ожидать, что ему будут постоянно отвечать на вопросы. В двух словах, покажи мне, что ты можешь использовать Google.
источник
Страсть к работе
Готов узнать больше, больше и больше ..
честность
консистенция
источник
Хорошие ответы там, если вы будете следовать всему тому, что люди говорят здесь, я уверен, что кто-то будет хорош в том, что он / она делает,
Просто хочу подчеркнуть несколько моментов.
Всего наилучшего в вашей работе
источник
Один навык, я не думаю, что у многих младших программистов есть, но действительно хороший, умение создавать свои собственные инструменты. Вы можете сэкономить много времени и усилий с помощью нескольких хорошо сделанных пользовательских инструментов. И они не должны быть чем-то причудливым, большинство из них представляют собой скрипты из 3 строк, хотя некоторые из них намного длиннее.
Но обучение автоматизации вещей сделает вашу жизнь проще. (И поразите своих коллег, когда вы сможете добиться успеха)
источник
источник