Хотя я считаю себя не очень опытным, я все равно продолжаю работать в качестве лидера (в текущем я являюсь техническим директором компании, в предыдущем я был руководителем отдела исследований и разработок).
Я понимаю, почему это происходит (у меня есть определенный определенный набор навыков, и я использую некоторые необычные языки программирования), моя проблема: я не могу найти наставника ...
Я знаю, что у меня должно быть что-то, чему я могу научиться, и с годами замечаю, что постепенно учусь все больше и больше, но я верю, что есть способ поправиться гораздо быстрее, чем просто программирование ...
Итак, как я могу улучшиться, когда в компании нет другого человека, который мог бы научить меня или мне читать их код? (или исправить их код даже ...)
Я думаю, что я вне книг, но намного ниже уровня "мастер", поэтому я не знаю, где учиться больше.
источник
Ответы:
Как насчет:
Ознакомьтесь также с ответами на Как овладеть языком программирования?
источник
Некоторые намеки:
Учите другие языки. Затем сравните их с языками, которые вы уже знаете, и попробуйте найти способы улучшить свои навыки кодирования на этих языках, используя вещи, которые вы изучили на других языках. «Освободи свой разум» перед изучением этих новых языков и не пытайся просто клонировать понятия одного в другой .
Прочитайте код. Я не знаю, какие необычные языки вы используете именно на своих рабочих местах, но я уверен, что вы можете найти высококачественный открытый исходный код, написанный на этих языках очень опытными разработчиками.
Оставайтесь с сообществом. Если у вас нет коллег, которые используют ваш язык (и) на работе, это не повод, чтобы не делиться знаниями через веб-сайты, такие как переполнение стека, где есть вопросы и ответы даже для очень необычных языков. Попробуйте найти эти вопросы по тегу и посмотреть, понимаете ли вы все ответы. Если вопросы остались без ответа, ответьте на них.
Учить. Учите своих коллег. Написать блог Что бы. Объясняя что-то другим, вы узнаете это лучше.
источник
Моими основными решениями этого за последние 2 года были:
общение в социальных сетях: я обнаружил, что meetup.com - отличный способ найти группы программистов в вашем регионе. Twitter также отлично подходит для этого. Когда вы найдете людей, которых вы любите и уважаете, следуйте за ними.
Используя http://www.stackoverflow.com, я изначально использовал его для случайных вопросов. Теперь это мой ежедневный компаньон и для того, чтобы давать и получать советы. Также используйте дочерние сайты, такие как /codereview//
Работа: Хотя, вероятно, не подходит для вас (но хороший общий совет для других) Если вы достаточно хороши, чтобы получить какую-то работу в той области, которую хотите, ищите старших людей, будьте добры с ними и попытайтесь заставить их наставлять вас ,
Книги. У О'Рейли, Прагматичного Программиста и других есть хорошие книги, и вы можете выбрать бумажную и / или цифровую версии. Вот действительно хороший список: /programming/1711/what-is-the-single-most-influential-book-every-programmer-should- и некоторые из лучших «классиков» в случае, если вы еще не прочитали их. Я могу рекомендовать чистый код и полный код.
Учебники. В настоящее время в сети есть несколько фантастических сайтов, таких как
http://www.codeschool.com ,
http://www.codeacademy.com
http://code.google.com/edu/
источник
Просто потому, что я читаю довольно много иерархии в (на) ваш вопрос:
Учитесь у людей под вами. Разработка программного обеспечения - это общение между людьми, часто с помощью кода. Поскольку хорошее общение должно идти обоими путями, учитесь у людей, с которыми вы программируете. (я предполагаю, что вы не в компании с одним человеком)
источник
Я верю, что вы многому научитесь, обучая тех, кем руководите. Вы получите более четкое понимание того, чему вы их учите, потому что вы будете вынуждены думать о том, почему / как работают простые вещи (чего вы, вероятно, избегали делать в начале, потому что просто хотели, чтобы это работало)
источник
Наставничество может быть перекрестным
Наставники не всегда должны быть экспертами в том, на чем вы сосредоточены. Если вы используете необычный язык программирования, это все равно оставляет около 99 неязыковых тем в разработке программного обеспечения, в которых вы могли бы обучаться. Некоторые из моих недавних наставников были вовлечены в развитие бизнеса, аппаратное обеспечение или системную инженерию, хотя я в первую очередь занимаюсь участвует в программном обеспечении.
Многие виды людей могут быть вашим наставником
Хорошая вещь для поиска - это тот, кто сейчас находится там, где вы хотели бы быть через пять лет. Подобный наставник не всегда доступен, поэтому другие альтернативы включают мудреца, у которого гораздо больше опыта, но, возможно, больше не в официальной руководящей роли, обратного наставника, который менее опытен (или небеса запрещен, моложе), но имеет перспективы на инструменты и методы, которые могут быть полезны.
Ваш наставник также ваш спонсор?
В дополнение к наставникам, иногда важно иметь спонсора. Если вы пытаетесь продвинуться в организации, если у вас есть наставник, который дает отличный совет, но не влияет на вашу цепочку командования в вашу пользу, у вас могут быть недостатки по сравнению с тем, у кого есть наставник, который спонсирует их в качестве лидера, владелец проекта или менеджер проекта, который зарабатывает им более влиятельную роль или продвижение по службе.
Менторы и сетевые компании
Если вы уже являетесь техническим директором, возможно, вам придется искать своего наставника за пределами вашей компании. В численности есть сила, поэтому общение со многими людьми на мелководье может быть удивительно ценным. Я обычно думал, что для того, чтобы быть ценным, ваше взаимодействие с другими профессионалами должно было иметь глубину, проистекающую из совместной работы или обширной, частой или длительной ассоциации.
Насколько большой ваш пруд?
Вы упоминаете, что вы были руководителем отдела исследований и разработок и техническим директором, но вы не чувствуете, что вы такой опытный. Исповедь полезна для души, если не для репутации. У меня есть подобное признание.
В какой-то момент я считал свою карьеру разделенной на две части. Во-первых, я работал во многих командах, где я был либо единственным разработчиком программного обеспечения, либо разработчиком с наибольшим количеством колледжей. Второй начался, когда я работал в компании из списка Fortune 100 и работал с заметно более высоким классом разработчика. Контраст был похож на то, чтобы быть большой рыбой в маленьком пруду, чтобы быть маленькой рыбой в большом пруду.
Торговля вверх
Внесение изменений из небольших независимых компаний означало, что у меня было гораздо меньше статуса в организации. Но все же был какой-то статус. Разработчики по-прежнему ценились как с более высокой оплатой, так и с довольно высокой степенью контроля над работой. Я также мог повлиять на других членов команды (хотя и не сверху). Было много примеров для подражания. Наличие большого количества соревнований вынудило меня технически улучшить и понять, как то, что я сделал, принесло пользу организации и моим командам.
Ранее я игнорировал свой инстинкт инстинкта о ролях и наставниках и заплатил цену. Интуиция - это иногда чувство, возникающее из синтеза опыта. Мой голос состоял бы в том, что если он чувствует себя неправильно, он, вероятно, не так и заслуживает внимательного расследования. Похоже, вы беспокоитесь о своем опыте и отсутствии наставника, изучите свои варианты.
Возможно, вы найдете рост, удовлетворение и другие преимущества, перейдя в более крупную и агрессивную компанию? Большой не всегда лучше, но иногда имеет преимущество разных людей, что приводит к разным рабочим отношениям и разным проектам. Многие из светил Силиконовой долины имели или служили наставниками для людей, которые в результате могут быстрее и эффективнее наметить свой путь к успеху. Один из моих одноклассников из аспирантуры последовал призыву присоединиться к Linked In и испытывает эту культуру, играя в игру намного более высокого уровня.
Преимущества наставника
Хотя наставник может походить на профессора, я думаю, что если у вас нет того, кто часто смотрит на ваш рабочий продукт или служит в качестве мастера в отношениях мастер / ученик, обучение навыкам и профессиональное образование являются вторичными. Я думаю, что величайшие вещи, которыми наставники делятся, включают в себя советы о росте, ролевое моделирование правильных решений и баланс между ценностями на рабочем месте, а также устойчивое, объективное и здравое суждение во время кризиса.
Совет, который мой дедушка давал мне много раз, заключался в том, что людей можно учить только тогда, когда они скромны. Будьте осторожны с такими утверждениями, как «Я далеко за пределами книг», и постарайтесь учиться у всех. Чтобы построить отношения с наставником, будьте уверены, что вы уважительны и восприимчивы, и что вы проявляете признательность. Также будет важно последовать их совету, потому что, если они не будут чрезвычайно терпеливыми, они, как правило, будут тратить свое время на то, чтобы обратить свое внимание на действия.
источник
Мой дорогой друг
Позвольте мне сказать вам, что очень редко обнаруживается, что кто-то учит другого человека нюансам программирования. Программирование - это то, чему нужно научиться самостоятельно. Если вы сконцентрируетесь на отдельной теме, попробуете ее и присоединитесь к различным форумам, поддерживающим эту тему, то рано или поздно вы станете мастером этой темы. Пожалуйста, помните, что вы сами - лучший человек, который знает, насколько вы хороши. В той отрасли и мире, в которых мы находимся, мы должны стать нашими собственными наставниками, потому что то, чему мы учим себя, остается с нами навсегда.
источник
Когда я использую очень «специфические инструменты или необычный язык программирования / каркас», тогда я ищу группы с особыми интересами. Конечно, существует интернет-сообщество для большинства технологий / фреймворков, которые используются в настоящее время. Таким образом, я использую все средства онлайн-общения, чтобы оставаться в курсе последних сообщений в:
Один из лучших подходов к изучению передового опыта «необычных языков программирования» - это найти блог для разработчиков (предпочтительно 4-5) и подписаться на них.
источник
В каком районе? Хотите улучшить свои навыки программирования, навыки разработки программного обеспечения, навыки управления проектами, что-то еще? Вы не указали в своем вопросе.
Вы не за пределами книг, если вы научились программировать / проектировать программные проекты / управлять проектом самостоятельно. Вы также не выходите из школы. Возвращение в школу для получения ученой степени или, по крайней мере, посещение уроков для выпускников - это один из вариантов, который вы не должны исключать. Какой район? Это зависит от того, что вы хотите улучшить, где вы видите свою карьеру. Например, многое можно сказать о получении MBA. Люди, разбирающиеся в техническом и деловом смысле, стоят многого. Много. Несколько моих бывших коллег прошли обучение по программе MBA. Я не вижу их часто, потому что когда они не работают, они отправляются в какой-то тропический рай. Или сафари. Или поездка на выходные в Альпы. Или летняя лыжная поездка в Южную Америку.
Другой вариант - присоединиться к техническому обществу в области, где у вас есть опыт, но вы все еще хотите совершенствоваться. Еще один способ - попросить вашего работодателя отправить вас на конференцию, где вы сможете учиться и общаться.
источник