Как я могу оценить мой прогресс как соло-младшего разработчика [закрыто]

38

В настоящее время я работаю в компании из 2 человек, в качестве основного разработчика соло. Мой начальник получает клиентов, макетирует некоторые шаблоны png-дизайна и передает их мне.

Эта система работала нормально, и я действительно наслаждаюсь этим.

Типы проектов, над которыми я работаю, предназначены для малых и средних предприятий, и им обычно требуется система CMS. Разработанный с нуля, я создам настроенный бэкэнд для клиента, чтобы добавлять / редактировать / удалять категории, теги, продукты и т. Д., А затем выводить их на внешний интерфейс в соответствии с переданным мне шаблоном дизайна. Со временем проекты стали более сложными с функциями корзины покупок / заказа и другими типичными функциями электронной коммерции.

Опять же, эта система работает нормально, и я действительно наслаждаюсь этим.

Моя проблема - мое личное развитие как программиста. Я провожу много свободного времени за чтением блогов по программированию, проверкой стек-обмена, чтением предлагаемых книг по программированию (в настоящее время это «Прагматический программист », действительно очень хорошо), выполнением упражнений для мозга ( lumosity.com и khanacademy по математике), выполнением множества задач. физических упражнений и других видов деятельности личностного развития.

Я не могу не чувствовать, однако, что мне не хватает обратной связи, критики. Мой босс великолепен и никогда не сдерживает похвалу в отношении моей работы, но, к сожалению, он либо занят проверкой моего кода, либо, если честно, я не думаю, что это одна из его специальностей, и поэтому не может дать отзыв ,

Я хочу знать, что я делаю неправильно и что я делаю правильно. Должен ли я помещать столько логики в контроллер, достаточно ли я модулирую свой код и т. Д.

Поэтому я разработал небольшое приложение «Семейное бюджетирование» и постарался сделать это так же чисто и эффективно, как я знаю в настоящее время.

Что я хочу знать, так это то, где я могу отправить это приложение и попросить некоторых опытных разработчиков оставить отзыв. Это не просто подраздел моего кода, как требуется для codereview.stackexchange, это весь мой рабочий процесс, который я хочу критиковать.

Я знаю, что это очень много вопросов, и я ожидаю, что главный совет будет искать работу в команде, и это, безусловно, то, что я буду изучать позже, но сейчас я хочу продолжать с моим текущим ситуация с занятостью, но просто не хочу развивать слишком много вредных привычек.

Дайте мне знать, если я смогу предоставить какую-либо дополнительную информацию, чтобы помочь прояснить ситуацию, или если это не подходящее место для такого типа вопроса, я заранее прошу прощения. Я не хотел использовать reddit, так как я чувствовал, что это сообщество способствует более продуманным ответам.

Hoppípolla
источник
3
Как ранее, не так давно, младший разработчик, я считаю плохой идеей позволять начинающему разработчику так разыгрываться. Не говоря уже о макете PNG, вряд ли вы получите информацию, необходимую для написания эффективной CMS. Плюс, почему постоянно пишите CMS, когда существует более эффективный способ самостоятельной настройки, чем индивидуальный разработчик может написать в любое разумное время для клиента, включая микро CMS.
Буровая установка
2
Ну, изначально у него была собственная CMS, построенная в Coldfusion. Я выучил язык методом проб и ошибок, и мы завершили несколько проектов, используя его. Со временем я убедил его, что было бы неплохо перейти на PHP, поскольку у меня было больше опыта в его использовании, и есть более широкое сообщество, на которое можно положиться (не имея начальства, я сильно полагаюсь на Google). С тех пор я постепенно создаю модульную CMS многократного использования в ciBonfire. Это идет очень хорошо, система каталогизации в значительной степени завершена. Проблема в том, что я учусь на ходу, у нас есть клиенты, чтобы угодить.
hoppipolla
2
@OliverHyde «Проблема в том, что я учусь по ходу дела, у нас есть клиенты, чтобы угодить». Это не будет отличаться и в других местах.

Ответы:

21

Вы на правильном пути, чтобы улучшить свои навыки, и понятно, что вы не уверены в надежности и готовности вашего кода для предприятия.

Это обычный процесс для начинающего разработчика, и ваш интерес к совершенствованию очень важен, так как это ключ к тому, чтобы однажды стать рок-звездой.

В качестве справки для изучения передового опыта, я бы порекомендовал присоединиться к проектам с открытым исходным кодом, которые размещаются бесплатно для страстных / любопытных программистов. Они действительно помогут вам понять, как использовать лучшие практики и как принимать решения по дизайну приложений. Кроме того, постарайтесь принять участие в разработке проектов с открытым исходным кодом, поскольку это значительно повысит ваше самообучение и улучшение.

Я бы также порекомендовал посещать мероприятия местного сообщества для разработчиков программного обеспечения. Вы можете найти некоторые из этих групп на communitymegaphone.com . Поговорите с местными программистами, они в основном хорошие люди, которые не против помочь коллеге.

Е.Л. Юсубов
источник
Хм, может быть, я посмотрю на присоединение к некоторым проектам с открытым исходным кодом, не знаю, с чего начать: / Нужно пойти провести некоторое исследование. Что касается общественных мероприятий, я ходил на местные встречи, в Новой Зеландии их мало по сравнению с тем, что выглядит в штатах, но они происходят и очень полезны. Спасибо за ответ.
hoppipolla
Определенно присоединяйтесь к другим реальным людям, которые смотрят на ваш код. Там нет замены для этого.
Джеффриприб
Да, я убираю приложение «Личный бюджет» и отправлю его на оценку, возможно, на Redit или на другие форумы сообщества.
hoppipolla
9

По мере того, как вы приобретаете больше опыта, вы, безусловно, можете вернуться и просмотреть свои предыдущие проекты / код, чтобы увидеть, где вы ошиблись. Задним числом это прекрасная вещь. Я точно знаю, что посмотрел код / ​​документацию, которую я написал x назад, и понял, где я ошибся и где я мог бы улучшить.

Тот факт, что вы читаете блоги, книги, SE и т. Д., Должен дать вам более глубокое понимание программирования как части вашего личного развития, а также проб и ошибок, а также развития ваших проектов и кода, безусловно, должно свидетельствовать о том, что вы ' улучшается. Самокритика может быть очень хорошей вещью.

Сказав это, наличие критического взгляда на другого разработчика всегда добавляет ценность и может предоставить мнения / варианты, о которых вы, возможно, даже не задумывались. Хотя я не знаю ни одного конкретного сайта, на котором вы можете создать полный проект для проверки кода - вы можете поместить фрагменты того, что вы считаете подозрительным, на codereview.stackexchange для их прочтения и комментирования, а затем взять этот отзыв и применить его. в другом месте, где это уместно.

В качестве альтернативы, вы можете написать кое-что с открытым исходным кодом и выбросить его на github (или эквивалентный). Сообщество открытого исходного кода, безусловно, будет критиковать вашу работу и улучшать ее там, где сочтет нужным.

В конце концов, если продукты, которые вы производите, работают по назначению, соответствуют бизнес-требованиям и являются ремонтопригодными - вы делаете что-то правильно.

Для вопросов концептуального программирования, шаблонов и т. Д. Вы всегда можете опубликовать эти вопросы здесь, на PSE, и на вопросы реализации кода на SO.

Deco
источник
Приветствия, я думаю, возможно, я сломаю свое приложение бюджета и выложу некоторые фрагменты на codereview.
hoppipolla
3

Позвольте мне поделиться своим мнением, некоторыми словами мудрости и некоторыми вопросами для размышления.

Будучи опытным программистом, я на протяжении многих лет обнаружил, что лучший код - это тот, который прост (посмотрите на концепцию KISS) и его легче модифицировать другим программистом.

Кроме того, оставляя достаточно места для кода, чтобы он не был перегружен (передышка) и равномерно структурирован. Используйте хорошо известное соглашение о присвоении имен для ваших переменных, давая им понятные имена (которые может понять другой программист) и пишите комментарии, которые не являются слишком большими и не слишком маленькими.

Если вы будете следовать вышеизложенному, вы уже на хорошей дороге.

Более того, поскольку разработчики - это что-то вроде архитекторов, я дам вам очень важное высказывание, о котором вы должны подумать;

  1. «Совершенство достигается не тогда, когда нечего добавить, а когда нечего убрать», - Антуан де Сент-Экзюпери.

а также

  1. «Стремление к совершенству мотивирует вас; стремление к совершенству деморализует», - Харриет Берил Брайкер.

Тем не мение,

  1. «Многие события, примерно 80% последствий происходят от 20% причин» - принцип Парето

С учетом вышесказанного я хочу, чтобы вы поняли, что существует баланс между усилием и эффектом, стоимостью и качеством.

И вопросы для размышления;

  1. Что мне нравится делать через пять лет?
  2. Пользуются ли усилия по улучшению моих навыков кодирования моей профессиональной карьерой в долгосрочной перспективе?
kyrsid
источник
1

Вы можете проверить https://codereview.stackexchange.com/

Это было бы отличным местом, чтобы получить отзывы о вашем коде или дизайне от опытных профессионалов.

Джессика Браун
источник
Да, я полагаю, суть моего вопроса была в том, является ли полноценное приложение подходящим для публикации там, или я могу сделать это где-то еще. Кажется, что просмотр кода более целенаправлен как фрагменты кода, который нужно исследовать. В основном, предоставьте ссылку на проект GitHub и дайте им потерять. Я убираю это сегодня и буду искать некоторые форумы сообщества, чтобы разместить ссылку на. :)
hoppipolla
1
В один момент может быть много для одного разработчика, чтобы пережевать время. meta.codereview.stackexchange.com/questions/537/… говорит, попробуйте кусок за один раз. Это не подходит для рецензирования кода, но документация по проектированию на высоком уровне. Что-то может быть полезным для рецензента, который смотрит на вашу базу кода в первый раз
Джессика Браун
@OliverHyde Если вы разместите один исходный файл, скажем, один из самых сложных, то вы получите отзыв об этом файле, который относится ко всему проекту. Это будет хорошим способом получить отзыв о языке вашей программы и стиле кодирования. Если вы ищете отзывы об общем дизайне программы, вы можете (согласно FAQ) опубликовать их на этом сайте.
1

Продолжайте читать книги, блоги и вопросы и ответы о переполнении стека. Если вы хотите улучшить себя в социальном плане, почему бы не заняться работой над проектом с открытым исходным кодом? Я не имею в виду создание собственного проекта , а работу над уже существующим.

Поскольку вы являетесь единственным разработчиком в этой компании, я полагаю, что когда-нибудь вы сможете нанять кого-нибудь еще. Скажите себе, что в этот день парню придется читать ваш код. Вы уже написали документацию о вашем инструменте? Помнить о том, что ваши работы могут прочитать другие люди, - это хорошая вещь для индивидуальных разработчиков, которая поможет вам сделать лучший код.

smonff
источник
1
Да, это то, что я начал делать с моим кодированием сейчас. Мой босс предположил, что он может рассмотреть вопрос о найме дополнительного разработчика в следующем году .... держу пари на вершине моей документации :)
hoppipolla
1

Я нахожусь в такой же ситуации, как и вы, нанят в качестве единственного программиста для компании из 5 человек, и только один из них непосредственно связан с приложениями, которые я разрабатываю / добавляю. К счастью, мне не нужно было ничего создавать с нуля, но до сих пор только модифицированные приложения создавались моим предшественником. Поступая так, я считаю, что уже улучшил себя, узнав, какие части его кода были хорошими, какие плохими и как их можно улучшить.

Чтение кода - это огромная часть улучшения вашего собственного кодирования, поэтому прежде всего я предлагаю вам поискать проект с открытым исходным кодом, прочитать код, понять его и попытаться оценить, что хорошо, что плохо и что можно улучшить. Может быть, даже написать код-обзор об этом в своем блоге.

Ура!

SCD
источник
Да ура! Я работаю здесь немного дольше, и теперь у меня хороший ритм использования онлайн-сайтов для проверки кода и самообзора.
hoppipolla
-1

Оставлять. Найдите нового работодателя, в котором вы будете работать в большой команде разработчиков, в том числе в крутых парнях, у которых вы можете учиться.

У вас явно есть все правильные мотивы в желании.

Дом Баркер
источник
4
Это не должно быть первым вариантом. ОП наслаждается своей работой, и у него, по-видимому, также есть достойный начальник, что в наши дни кажется редкостью. Прежде чем прыгать, подумайте, что вы можете получить работу, которая вам не понравится, с плохим боссом и без гарантий того, что вы действительно узнаете что-то новое.