Как воспитать в себе специалиста?

Всем, привет!
Я начинающий разработчик с годом опыта. Сколько мне лет я не буду писать, но скажу, что меньше 30. :)

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

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

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

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

И вот как бы это преодолеть и вырастить в себе хорошего специалиста?

Расскажите свою историю, поделитесь, как это проходили вы, уважаемые форумчане :)

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Очень просто, я бы даже сказал банально. При первом же заказе на допил существующего кода делай рефакторинг. Привыкни, что стабильный проект состоит из костылей примерно на треть. Притом львиная доля допиливает поведение юзера.

Если тебе будет легче, твой генокод в базовой версии — бактерия. И чтобы из него что-то получилось, он уже после инсталла 9 месяцев допиливался в альфа-версии до червя, потом до рыбы, потом до лягушки..., потом хрен знает сколько лет на обучение, хрен знает сколько раз подвергался болезням. А в итоге — сидит на ДОУ и жалуется на жизнь :)

// Кстати, большинство так никогда нормальными программистами и не становится. Не веришь? Пользуй больше софта, который не старше 1 года от роду. Будешь о себе лучшего мнения.

Сколько мне лет я не буду писать,
23?
И вот как бы это преодолеть и вырастить в себе хорошего специалиста?
Рекомендую самобичевание.
апример сделал что-то, оно работает, но, например, если не применить к какому-то элементу кучу js
Читайте книжки по языкам, те что описывают язык глубоко со всеми его фичами на более фундаментальном уровне. Пытайтесь в уме составить модель того как оно все работает,
что бы «куча js» превратилась в набор понятных вам инструкций. Экспериментируйте с кодом что бы понять как оно устроено, экспериментируйте с кодом что бы точно понять причины того или иного дефекта и подтвердить/опровергнуть свои гипотезы. И главное прежде чем вносить правку, убедитесь что вы понимаете к чему она приведет (а не просто вносите случайные правки, в надежде что оно заработает).
Комментарии типа лучше вообще не заниматься программированием, уйти в монастырь, если не внимателен, лучше не пишите.
Читая такое, наоборот, ещё больше хочется написать про монастырь.

P.S.
Напишите название банка.

Финансы и Кредит, зелененький такой))

А у вас есть там команда (кроме работодателя) я пока не понял из топика? Вообще, работа в команде само по себе хороший навык и команда с ее старшими товарищами, полезными советами, общением и т. п. может помочь воспитать в себе специалиста.

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

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

После этого всего у вас может не оказаться нужных и полезных навыков типа best practices, работы в команде, разговорного английского с одной стороны и портфолио успешных и известных проектов — с другой, что может усложнить поиски другой работы если вдруг потребуется.

Вот для этого у нужен опыт. Теория дает знания, но только практика дает понимание.
Понимание — это ключ. Потому что пока человек не понимает зачем он что-то делает то он это делает бездумно и невнимательно.
Потрать несколько дней (и ночей), пытаясь починить чужой метод на 500 строк, при этом каждое изменение создает только новые проблемы, а начальник уже звереет. Сразу станет понятно зачем писать маленькие, простые методы.
Попробуй написать юнит-тесты для сложных классов, написанных без интерфейсов и IOC. Осознаешь почему помогает TDD.
Поэтому начни не со стартапов и с халтуры, а устройся на сапорт старого проекта. Только увидев плохое, можно осознать прелесть хорошего.

Мой текущий работодатель, который на 2 года старше меня, говорил как раз обратное(и кому теперь верить), что на сапорте делать нечего, а вот тяжелые и интересные задачи в большом количестве быстро поднимут мне полезный опыт, но спустя год, я конечно не очень с этим согласен.

Если не ошибаюсь, вопрос был как научиться писать хороший код, а не «что бы работало». Так?
В современном ИТ есть одна ловушка: что бы решить задачу не обязательно ее понимать. Достаточно погуглить — и найти готовый кусок кода или библиотеку. Скопировал, вставил, подпилил — и вроде бы делает то, что надо. Так можно работать годами, даже не задумываясь как вообще работает код и что он внутри делает. Это если делать проекты а потом «сдать и забыть», как курсачи в ВУЗе или шабашки.
Но как только приходиться решать проблемы, да еще в чужом коде — тут уже гугл не подскажет, в какой строке ошибка. Нужно вникать, дебажить, лезть в документацию и исходники библиотек.
Сапорт в плане изучения нового — тупик. Но это если уже «старое» изучил вдоль и поперек.

попробуй писать по TDD, это будет медленее, особенно вначале, но поможет научиться писать более качественный код

ну классика же: «Учиться, учиться и еще раз учиться!»

Это да, учиться никогда не поздно. Но хотелось бы узнать, как другие люди проходили этот этап в своей жизни, на своих ошибках учиться хорошо, но на чужих — еще лучше :)

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

Хорошо описали, благодарю!

мол пиши проще, пиши чтобы работало
Если Вы действительно пишите код просто и понятно, если он действительно работает — ничего не меняйте, вы хороший специалист.

Если нет — идите в бодишоп покрупнее, там научат. Может быть.

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

Не верьте своим подозрением ;) Они вас обманывают.

Підписатись на коментарі