В настоящее время я работаю в компании из 2 человек, в качестве основного разработчика соло. Мой начальник получает клиентов, макетирует некоторые шаблоны png-дизайна и передает их мне.
Эта система работала нормально, и я действительно наслаждаюсь этим.
Типы проектов, над которыми я работаю, предназначены для малых и средних предприятий, и им обычно требуется система CMS. Разработанный с нуля, я создам настроенный бэкэнд для клиента, чтобы добавлять / редактировать / удалять категории, теги, продукты и т. Д., А затем выводить их на внешний интерфейс в соответствии с переданным мне шаблоном дизайна. Со временем проекты стали более сложными с функциями корзины покупок / заказа и другими типичными функциями электронной коммерции.
Опять же, эта система работает нормально, и я действительно наслаждаюсь этим.
Моя проблема - мое личное развитие как программиста. Я провожу много свободного времени за чтением блогов по программированию, проверкой стек-обмена, чтением предлагаемых книг по программированию (в настоящее время это «Прагматический программист », действительно очень хорошо), выполнением упражнений для мозга ( lumosity.com и khanacademy по математике), выполнением множества задач. физических упражнений и других видов деятельности личностного развития.
Я не могу не чувствовать, однако, что мне не хватает обратной связи, критики. Мой босс великолепен и никогда не сдерживает похвалу в отношении моей работы, но, к сожалению, он либо занят проверкой моего кода, либо, если честно, я не думаю, что это одна из его специальностей, и поэтому не может дать отзыв ,
Я хочу знать, что я делаю неправильно и что я делаю правильно. Должен ли я помещать столько логики в контроллер, достаточно ли я модулирую свой код и т. Д.
Поэтому я разработал небольшое приложение «Семейное бюджетирование» и постарался сделать это так же чисто и эффективно, как я знаю в настоящее время.
Что я хочу знать, так это то, где я могу отправить это приложение и попросить некоторых опытных разработчиков оставить отзыв. Это не просто подраздел моего кода, как требуется для codereview.stackexchange, это весь мой рабочий процесс, который я хочу критиковать.
Я знаю, что это очень много вопросов, и я ожидаю, что главный совет будет искать работу в команде, и это, безусловно, то, что я буду изучать позже, но сейчас я хочу продолжать с моим текущим ситуация с занятостью, но просто не хочу развивать слишком много вредных привычек.
Дайте мне знать, если я смогу предоставить какую-либо дополнительную информацию, чтобы помочь прояснить ситуацию, или если это не подходящее место для такого типа вопроса, я заранее прошу прощения. Я не хотел использовать reddit, так как я чувствовал, что это сообщество способствует более продуманным ответам.
источник
Ответы:
Вы на правильном пути, чтобы улучшить свои навыки, и понятно, что вы не уверены в надежности и готовности вашего кода для предприятия.
Это обычный процесс для начинающего разработчика, и ваш интерес к совершенствованию очень важен, так как это ключ к тому, чтобы однажды стать рок-звездой.
В качестве справки для изучения передового опыта, я бы порекомендовал присоединиться к проектам с открытым исходным кодом, которые размещаются бесплатно для страстных / любопытных программистов. Они действительно помогут вам понять, как использовать лучшие практики и как принимать решения по дизайну приложений. Кроме того, постарайтесь принять участие в разработке проектов с открытым исходным кодом, поскольку это значительно повысит ваше самообучение и улучшение.
Я бы также порекомендовал посещать мероприятия местного сообщества для разработчиков программного обеспечения. Вы можете найти некоторые из этих групп на communitymegaphone.com . Поговорите с местными программистами, они в основном хорошие люди, которые не против помочь коллеге.
источник
По мере того, как вы приобретаете больше опыта, вы, безусловно, можете вернуться и просмотреть свои предыдущие проекты / код, чтобы увидеть, где вы ошиблись. Задним числом это прекрасная вещь. Я точно знаю, что посмотрел код / документацию, которую я написал x назад, и понял, где я ошибся и где я мог бы улучшить.
Тот факт, что вы читаете блоги, книги, SE и т. Д., Должен дать вам более глубокое понимание программирования как части вашего личного развития, а также проб и ошибок, а также развития ваших проектов и кода, безусловно, должно свидетельствовать о том, что вы ' улучшается. Самокритика может быть очень хорошей вещью.
Сказав это, наличие критического взгляда на другого разработчика всегда добавляет ценность и может предоставить мнения / варианты, о которых вы, возможно, даже не задумывались. Хотя я не знаю ни одного конкретного сайта, на котором вы можете создать полный проект для проверки кода - вы можете поместить фрагменты того, что вы считаете подозрительным, на codereview.stackexchange для их прочтения и комментирования, а затем взять этот отзыв и применить его. в другом месте, где это уместно.
В качестве альтернативы, вы можете написать кое-что с открытым исходным кодом и выбросить его на github (или эквивалентный). Сообщество открытого исходного кода, безусловно, будет критиковать вашу работу и улучшать ее там, где сочтет нужным.
В конце концов, если продукты, которые вы производите, работают по назначению, соответствуют бизнес-требованиям и являются ремонтопригодными - вы делаете что-то правильно.
Для вопросов концептуального программирования, шаблонов и т. Д. Вы всегда можете опубликовать эти вопросы здесь, на PSE, и на вопросы реализации кода на SO.
источник
Позвольте мне поделиться своим мнением, некоторыми словами мудрости и некоторыми вопросами для размышления.
Будучи опытным программистом, я на протяжении многих лет обнаружил, что лучший код - это тот, который прост (посмотрите на концепцию KISS) и его легче модифицировать другим программистом.
Кроме того, оставляя достаточно места для кода, чтобы он не был перегружен (передышка) и равномерно структурирован. Используйте хорошо известное соглашение о присвоении имен для ваших переменных, давая им понятные имена (которые может понять другой программист) и пишите комментарии, которые не являются слишком большими и не слишком маленькими.
Если вы будете следовать вышеизложенному, вы уже на хорошей дороге.
Более того, поскольку разработчики - это что-то вроде архитекторов, я дам вам очень важное высказывание, о котором вы должны подумать;
а также
Тем не мение,
С учетом вышесказанного я хочу, чтобы вы поняли, что существует баланс между усилием и эффектом, стоимостью и качеством.
И вопросы для размышления;
источник
Вы можете проверить https://codereview.stackexchange.com/
Это было бы отличным местом, чтобы получить отзывы о вашем коде или дизайне от опытных профессионалов.
источник
Продолжайте читать книги, блоги и вопросы и ответы о переполнении стека. Если вы хотите улучшить себя в социальном плане, почему бы не заняться работой над проектом с открытым исходным кодом? Я не имею в виду создание собственного проекта , а работу над уже существующим.
Поскольку вы являетесь единственным разработчиком в этой компании, я полагаю, что когда-нибудь вы сможете нанять кого-нибудь еще. Скажите себе, что в этот день парню придется читать ваш код. Вы уже написали документацию о вашем инструменте? Помнить о том, что ваши работы могут прочитать другие люди, - это хорошая вещь для индивидуальных разработчиков, которая поможет вам сделать лучший код.
источник
Я нахожусь в такой же ситуации, как и вы, нанят в качестве единственного программиста для компании из 5 человек, и только один из них непосредственно связан с приложениями, которые я разрабатываю / добавляю. К счастью, мне не нужно было ничего создавать с нуля, но до сих пор только модифицированные приложения создавались моим предшественником. Поступая так, я считаю, что уже улучшил себя, узнав, какие части его кода были хорошими, какие плохими и как их можно улучшить.
Чтение кода - это огромная часть улучшения вашего собственного кодирования, поэтому прежде всего я предлагаю вам поискать проект с открытым исходным кодом, прочитать код, понять его и попытаться оценить, что хорошо, что плохо и что можно улучшить. Может быть, даже написать код-обзор об этом в своем блоге.
Ура!
источник
Оставлять. Найдите нового работодателя, в котором вы будете работать в большой команде разработчиков, в том числе в крутых парнях, у которых вы можете учиться.
У вас явно есть все правильные мотивы в желании.
источник