Я ищу возможности роста. Моей страстью стало программирование и создание решений для решения бизнес-задач. Мой нынешний работодатель, где я проработал 7 лет, представляет собой небольшой бизнес с 15 сотрудниками. Наш основной бизнес - предоставление обучения и консультирования B2B. Это моя единственная должность программиста, которую я когда-либо занимал.
Я считаю себя полноценным разработчиком. За последние 7 лет мои навыки программирования развились от знания того, как выглядит HTML, до разработки RESTfull API и использования Jquery (в качестве примера).
Я единственный программист в компании. Моя должность вице-президента по техническому архитектору позволила мне в определенной степени быть самому себе начальником . Я выбираю проекты, используемые технологии, актуальность вопросов и т. д. Наша компания придерживается позиции, что мы будем продолжать развивать наши технические услуги и расширять услуги, предлагаемые с помощью разработанной мной информационной панели.
Теперь моя дилемма; Я доволен своим положением. Мне нравится иметь свободу принимать решения и командовать, но я чувствую, что упускаю возможности, предоставляемые работой в крупных компаниях . Поскольку я единственный разработчик, мне не у кого учиться. Я сосредоточился только на веб-приложениях / решениях для баз данных и никогда не работал над мобильными приложениями или настольными приложениями. Когда я смотрю на множество вопросов на собеседованиях по программированию, я теряюсь. С другой стороны, если мне передавали задачу, которую нужно решить в моем офисе, я всегда мог предложить решение до сих пор.
Сегодня мой вопрос заключается в том, как лучше всего убедиться, что я, как работающий разработчик, продолжаю учиться. когда я говорю учиться, я хочу изучить полезные навыки и правильный способ решения проблем.
Я нахожусь в очень похожей ситуации, поэтому я считаю, что могу дать несколько советов и поделиться своим взглядом на эту проблему.
Поскольку вы единственный программист в компании, вы практически незаменимы, если хорошо выполняете свою работу (похоже, так оно и есть). Это означает множество вещей, таких как гарантия занятости, повышение, свобода и т. д. В большой компании это не так просто. Но вас это явно не волнует... вас волнует передача знаний, другими словами, будут ли мои навыки востребованы, если я захочу перейти в другую компанию?
По моему собственному опыту, работа в небольшой компании имеет как плюсы, так и минусы. Я сообщил моему нынешнему руководству, что хотел бы, чтобы еще один человек в штате учился у него или был его наставником. Мне также не хватает обзоров кода, системных аудитов, разговоров и т. д. Хотя это определенно не идеально, я чувствую, что должен стараться еще усерднее (и, следовательно, узнать больше), потому что у меня нет другого человека, который мог бы поделиться идеями. от и критиковать меня.
Мое решение: я много читаю, я читаю ответы и вопросы от людей по переполнению стека, информационной безопасности, блогам и тщательно читаю лучшие практики от людей намного умнее меня. Я обещаю вам, если вы продолжите этим заниматься, вы будете обладать гораздо большими знаниями, чем ваш средний программист в крупной компании. У вас будет намного больше опыта работы с каждым инструментом или частью программного обеспечения, которое вы пишете, потому что вам приходилось исследовать его, проектировать, кодировать, тестировать и даже пытаться сломать все это самостоятельно .
Немногие люди могут делать это каждый день...
Я хочу изучить полезные навыки и правильный способ решения проблем
навыки , необходимые для трудоустройства, могут отличаться от компании к компании. Способ получить больше навыков, пригодных для трудоустройства, — это быть в соответствии с вашим рынком. ИТ быстро меняются и могут быть локализованы для региона, следуя объявлениям о вакансиях, чтобы узнать поток рынка и найти ключевое слово в объявлениях, которые вы не знаете, держать вас в курсе вашего рынка, давая знания о том, какие навыки более применимы. .
правильный путь также может быть разным в зависимости от программной инфраструктуры, типа пользователей, потребностей, которые выполняет программное обеспечение.
Чтобы найти правильный путь, вы должны знать несколько способов и изучить плюсы и минусы каждого из них. Вот некоторые действия, которые приводят к этому:
Преподавание также является способом обучения, потому что некоторые учащиеся могут:
Когда я смотрю на множество вопросов на собеседованиях по программированию, я теряюсь.
Если эти вопросы связаны с технологиями, это нормально, например, если задать конкретные вопросы по веб-пакету парню, который никогда не занимался внешним интерфейсом, вероятно, не получится ничего хорошего.
Если эти вопросы касаются шаблонов проектирования, архитектуры, методологии, как говорили другие, есть много доступных книг и видео, и может быть хорошо, что вы изучите некоторые из них. Потому что навыки общения, когда вы единственный программист, могут быть затронуты в долгосрочной перспективе. Например, может быть, вы внедряете шаблоны проектирования, но не знаете их названия, когда парень спрашивает вас о чем-то связанном, вам может быть трудно поделиться своими трудностями, потому что вы не знаете собирательный язык. Это может повредить вашей возможности трудоустройства для вашей следующей возможности.
Некоторые идеи:
... и используйте эти возможности не только для обучения техническим навыкам, но и для общения с коллегами. Заводите дружеские отношения и обменивайтесь услугами с другими людьми вашего положения, и вы сможете в значительной степени смягчить изоляцию, связанную с тем, что вы являетесь единственным программистом в малом бизнесе.
В своем комментарии , отвечающем на комментарий Эрика о найме большего количества сотрудников, вы сказали
Недавно мы начали нанимать фрилансеров в определенных случаях.
Будь то команда, которой вы управляете, или один или несколько фрилансеров, вы всегда можете получить от них материал. Когда вы руководите командой, всегда нанимайте людей, которые умнее вас. Вы не хотите офисной политики, вы хотите расти.
Всякий раз, когда вы берете в команду нового человека, даже на короткий срок, позвольте ему высказать свое мнение по всем техническим вопросам, будь то код, структура и управление проектами, способ решения определенных проблем или использование контроля версий. Слушай их. Не все, что они говорят, может быть лучше того, что вы делаете, но это расширит ваш кругозор.
Наличие нескольких фрилансеров, которые приходят и уходят, — это хороший способ узнать много разных точек зрения и выбрать разные стили программирования в технологии, которую вы используете.
Я начинал в похожих ролях. Я оставался на связи с другими разработчиками по всему миру на форумах, где мог получить помощь в случае необходимости (и помочь другим).
Однако как программист я не вырос. Ни капельки.
Время от времени мы получали новый SDK для работы, и я ломал голову над тем, что происходит в коде, поскольку я не знакомился с различными парадигмами проектирования.
Когда вы работаете в одиночку, у вас появляются ужасные привычки (у меня так и было). Вы постоянно выбираете более простые варианты и срезаете углы, даже не осознавая, что делаете это.
Если вы не работаете в крупной организации с хорошей системой рецензирования, вы не будете расти. Вы не выйдете из своей зоны комфорта (независимо от того, сколько статей или книг вы прочитаете).
В небольших компаниях нет ничего плохого, многие люди прекрасно зарабатывают, работая в них. Но если ваша цель состоит в том, чтобы расти и развиваться во что-то другое, в маленькой компании этого, вероятно, не произойдет.
DarkCygnus
пользователь85437
DarkCygnus
пользователь87623
пользователь87623
Эрик
пользователь87623
двизум
пользователь85437